Gnuplot 标签的小型大写字母
Small Caps for Gnuplot Labels
我正在寻找一个命令或等同于在 Gnuplot 中使用小型大写字母绘制标签的命令,例如在 LaTeX 中使用 \texsc{Mylabel}
。有没有机会在不使用乳胶作为终端的情况下这样做?我更喜欢直接生成PDF。
我想出了一个解决方法,使用的策略与 @mjp and @theozh in 相同。
# Implements a 'textsc' function like in (La)TeX.
# Based on original answer at
reset
set encoding utf8 # mandatory
LCases="abcdefghijklmnopqrstuvwxyz"
SCases="ᴀʙᴄᴅᴇғɢʜɪᴊᴋʟᴍɴᴏᴘǫʀsᴛᴜᴠᴡxʏᴢ"
toscchr(c)= c eq "" ? "" : substr( SCases.c, strstrt(LCases.c, c), strstrt(LCases.c, c) )
texsc(s) = strlen(s) <= 1 ? toscchr(s) : texsc(s[1:strlen(s)/2]).texsc(s[(strlen(s)/2)+1:strlen(s)])
Mylabel = "The Quick Brown Fox jumps over the Lazy Dog"
position = "at graph 0.2,0.60"
set label Mylabel @position offset 0, 0
set label texsc(Mylabel) @position offset 0,-1
plot x w p pt -1 not
结果
我正在寻找一个命令或等同于在 Gnuplot 中使用小型大写字母绘制标签的命令,例如在 LaTeX 中使用 \texsc{Mylabel}
。有没有机会在不使用乳胶作为终端的情况下这样做?我更喜欢直接生成PDF。
我想出了一个解决方法,使用的策略与 @mjp and @theozh in
# Implements a 'textsc' function like in (La)TeX.
# Based on original answer at
reset
set encoding utf8 # mandatory
LCases="abcdefghijklmnopqrstuvwxyz"
SCases="ᴀʙᴄᴅᴇғɢʜɪᴊᴋʟᴍɴᴏᴘǫʀsᴛᴜᴠᴡxʏᴢ"
toscchr(c)= c eq "" ? "" : substr( SCases.c, strstrt(LCases.c, c), strstrt(LCases.c, c) )
texsc(s) = strlen(s) <= 1 ? toscchr(s) : texsc(s[1:strlen(s)/2]).texsc(s[(strlen(s)/2)+1:strlen(s)])
Mylabel = "The Quick Brown Fox jumps over the Lazy Dog"
position = "at graph 0.2,0.60"
set label Mylabel @position offset 0, 0
set label texsc(Mylabel) @position offset 0,-1
plot x w p pt -1 not
结果