轉義序列

前面介紹瞭如何設置文字的文字大小、字體和顏色以及如何輸入特殊字符。在此基礎上,GMT提供了轉義字符,以實現上標、下標等功能,並可以在一個字符串內隨意切換字體、字號和顏色,給文本加入了更豐富的效果。

轉義字符

GMT用 @ 符號實現轉義的功能。將 @ 符號與某些字符結合起來,即構成了一系列可以實現特殊效果的轉義字符。

GMT可以識別的轉義字符在下表列出:

GMT轉義字符
轉義字符 說明
@+ 打開/關閉上標
@- 打開/關閉下標
@_ 打開/關閉下劃線
@# 打開/關閉小型大寫字母(small caps)
@%fontno% 切換至另一字體;@%% 重置回前一字體
@:size: 切換至另一文本尺寸;@:: 重置回前一尺寸
@;color; 切換至另一文本顏色;@;; 重置回前一顏色
@~ 打開/關閉Symbol(12號)字體
@! 用接下來的兩個字符創建組合字符
@. 輸出 ° 符號
@@ 輸出 @ 符號自身

除此之外,GMT還爲一些常用的歐洲字母專門定義了轉義字符。如下表:

歐洲特殊字母
代碼 效果 代碼 效果
@E Æ @e æ
@O Ø @o ø
@A Å @a å
@C Ç @c ç
@N Ñ @n ñ
@U Ü @u ü
@s ß @i í

小練習

下面給出了一些使用轉義字符的示例,左邊Input是命令中的輸入,右邊Output是圖上顯示的效果:

Source Code

../_images/escape-character-gmtplot-0.png

讀者可以將下面命令中的 TEXTLabel 修改爲不同的值,以體驗轉義字符的效果:

echo 5 2 TEXT | gmt text -R0/10/0/3 -Jx1c -Bxaf+l"Label" -BWSen -F+f20p -pdf test

注意事項

  1. 上標/下標不支持嵌套,即只支持一層上標/下標
  2. text 命令中有選項可以在文本週圍加上文本框,該選項對轉義序列無效
  3. 轉義序列需要成對存在,與括號類似,開啓轉義之後必須關閉轉義
  4. 在Windows下,由於bat腳本中 % 表示變量,因此當你需要在GMT中使用百分號時,應使用 %% 來表示一個百分號,即bat腳本中的 %% 相當於字符 %;切換字體時 @%%15%% 相當於正常情況下的 @%15%