2: いいえ、wxt ターミナルのラベルに LaTeX や MathJax を使用することはできません。しかし、それはインタラクティブな部分だけです。
この場合、 と を使用utf8
しenhanced
て、少なくとも正しいシンボルを取得できます。
set encoding utf8
set termoption enhanced
set xlabel '[00ζ]'
set label at graph 0.5,0.5 'Σ_1(0)'
plot x
印刷品質の画像の場合set terminal cairolatex pdf
、ラベルに LaTeX を使用できます。
set terminal cairolatex pdf standalone
set output 'test.tex'
set bmargin 3
set xlabel '$[00\zeta]$'
set label at graph 0.5,0.5 '$\Sigma_1(0)$'
plot x
set output
system('pdflatex test.tex')
ここでは、一重引用符の使用に注意する必要が'
あります。そうしないと、一部の文字をエスケープする必要があります。
3 に関して: 2 つのバリアントを切り替える「自動」の方法はありませんが、もちろんすべてのラベルを文字列として定義し、2 つから選択することができます。
latex = 1
if (latex) {
xlabel = '$[00\zeta]$'
label1 = '$\Sigma_1(0)$'
} else {
xlabel = '[00ζ]'
label1 = 'Σ_1(0)'
}
set xlabel xlabel
set label 1 at graph 0.5,0.5 label1
一般的にはこれでうまくいきますが、gnuplot は LaTeX ラベルの正確な幅と高さを認識していないため、ラベルの位置を微調整する必要があるかもしれません (たとえば、offset
を使用しxlabel
たり、異なる位置を使用したりします。その場合、次のことができます。コマンド全体を定義し、後で呼び出します。
latex = 1
if (latex) {
set_xlabel = 'set xlabel ''$[00\zeta]$'' offset 0,-1'
set_label1 = 'set label 1 ''$\Sigma_1(0)$'' at graph 0.5,0.5'
} else {
set_xlabel = 'set xlabel ''[00ζ]'' '
set_label1 = 'set label 1 ''Σ_1(0)'' at graph 0.5,0.5'
}
set macros
@set_xlabel
@set_label1
を使用する代わりに、次のような関数を定義できる をmacros
使用することもできます。eval(set_xlabel)
set_label1(x,y) = sprintf('set label 1 ''$\Sigma_1(0)$'' at graph %f,%f', x, y)
eval(set_label1(0.5,0.5))