增强文本模式

许多终端类型支持增强文本模式,将附加的格式化信息嵌入到文本字符串中。例如 "x^2" 将显示为 x 的平方x2。这个模式在你选择终端时自动启用,但可用set termoption [no]enhanced切换,或者在单独的字符串中强制切换set label 'x_2' noenhanced

控制符 示例 说明
^ a^x 上标ax
_ a_x 下标ax
@ @x 或者 a@^b_{cd} 幻影盒 (不占用宽度)abcd
& &{space} 插入指定长度的空白
~ ~a{.8-} 将 '-' 叠印在 'a' 上,上移 0.8 倍当前字体大小

标记控制字符对后跟的单个字符或括号内的子句起作用。括号内的子句可以包含没有附加标记的字符串,例如 2^{10},也可以包含改变字体属性的附加标记。下面的例子演示嵌套的括号,产生一个加粗的 A 和一个斜体的下标 i,它们都使用当前字体。如果省略了 :Normal,则产生一个倾斜加粗的下标。

 {/:Bold A_{/:Normal{/:Italic i}}}

字体说明符必须以左开括号 '{' 后紧跟 '/' 字符开始。

幻影框对于 a@^b_c 对齐上下标是很有用的,但对于字母上的重音不起作用。对于后者,使用包含大量带有重音或其他变音标记的字母的编码 (如 iso_8859_1 或 utf8) 要好得多。参考set encoding。由于框并不占用空间,所以将上下标中较短的那一个放在框中(即,在 @ 之后)是明智的。

等于字符串长度的空白可以用 '&' 字符插入,因而

    'abc&{def}ghi'

将产生

    'abc   ghi'.

'~' 字符导致下一个字符或括号内的文本被后面的字符或括号内的文本叠印。第二个文本在第一个文本上水平居中。因此 '~a/' 的结果是一个斜杠穿过字符 'a'。也可以在第二个文本前面添加一个数字来垂直移动第二个文本,该数字是当前字体大小的小数倍数,使文本提升或降低。此时数字和文本必须用括号括住,因为超过了一个字符。如果叠印文本以数字开头,则在垂直偏移和文本之间放一个空格 ('~{abc}{.5 000}'),否则无需空格 ('~{abc}{.5---}')。可以改变一个或两个字符串的字体 ('~a{.5 /*.2 o}' --- 一个 'a' 和上方一个 1/5 大小的 'o' --- 数字和斜杠之间的空格是必须的),但你不能在字符串开始之后改变它。也不能在任一个字符串中使用任何其他特殊的语法。当然,你可以通过转义来使用控制字符(见下文),比如 '~a{^}'。

你可以通过八进制形式给出字符代码以数字方式指定特殊符号,例如 {/Symbol \245} 是 Adobe Symbol 字体中的无限符号。但是,这不适用于像 UTF-8 这样的多字节编码。在 UTF-8 环境中,你应该能够通过键入或其他方式选择所需符号输入多字节序列。

你可以使用\转义控制字符,例如\\,\{等。

注意,双引号中的字符串与单引号中的字符串在解析上有所不同。主要的区别在于,在双引号中,反斜杠可能需要翻倍。

gnuplot 源代码分发的 /docs/psdoc 子目录下的文件 "ps_guide.ps" 包含更多增强语法的例子,如同演示enhanced_utf8.dem

results matching ""

    No results matching ""