gnuplot中如何生成@符号?

3
我正在尝试使用Helvetica字体在GnuPlot中将“P@10”作为图形的标题。我的做法如下:
set encoding iso_8859_1 set title "P \100 10"
\100来自于unicode中at符号的八进制表示。然而,最终的图形将@替换为一个空格。其他符号按预期工作。
我还尝试了这里提供的matlab脚本,在至少4000个不同的代码中寻找@符号,但是我找不到它。
即使使用另一种字体,这是否可能实现?
编辑:我在三个不同的系统(Ubuntu和Windows)上尝试过,但无济于事。
编辑2:最小化的工作示例:

设置终端为后缀名为eps的彩色增强的postscript格式

设置编码为iso_8859_1

设置标题为"Test \@ Test" 或者 "Test \100 Test"

输出文件名为"example.eps"

绘制sin(x)图像

我的输出结果标题中没有@符号。


@choroba,您是否建议重新安装字体?您能指点我一些东西吗? - Svalorzen
你使用的是哪个终端?你能发布一个最小示例脚本吗? - andyras
我正在使用这个命令:"set term postscript eps enhanced color"。附上一个示例。 - Svalorzen
1个回答

4

这篇文章可能会有所帮助。如果您正在使用“增强型”终端,则必须转义('\@')@符号。


这几乎可以确定是罪魁祸首。@是增强模式下的元字符。(help enhanced)应该提供更多细节。 - mgilson
我已经尝试过,不是使用八进制代码,而是直接写转义的“at”符号,但效果是一样的。 - Svalorzen
1
感谢您发布示例代码。我认为问题现在可能是引号的问题。尝试使用set title "Test \\@ Test"set title 'Test \@ Test'。这对我有效。在单引号中,'@'转义了@符号,而在双引号中,您必须转义反斜杠本身才能转义'@'。这是由于gnuplot处理带引号字符串的方式。在双引号字符串中,转义被gnuplot解释后再发送到终端驱动程序(据我所知),而单引号则是gnuplot的普通字面字符串。有关更多详细信息,请参见help syntax quotes - andyras

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接