LGJ Notes

蒙古大夫 2.0。 這裡紀錄的都不是我的專業,我的專業就是不專業。別傻了,什麼是專業?

« FreeBSD + GNU/Linux 聯合大作戰 | Main | FreeBSD + GNU/Linux 聯合大作戰(二) »

關於波紋號(tilde/swung dash)
2006/07/10,20:12 :: 點閱次數 (5287)
波紋號在英文中普通使用上至少有兩種,一種是 tilde,他是一種重音符號,常會位於英文字母的上方;另一種是 swung dash,這才是真正的所謂波紋號,通常他是置中的,像一般我們常看到的個人網址,使用的就是這種波紋號,例如:
http://info.sayya.org/~edt1023/

這在 TeX/LaTeX 的排版上常造成一些不習慣,因為一般字型的波紋號通常有兩種,一種是 tilde(U+02DC),另一種是 asciitilde(U+007E)。在 Unicode 的命名上,U+007E 的就直接稱呼為 tilde。而在 U+02DC 的就稱呼為 small tilde。我們一般文章上要用到的波紋號是指那個大一點的 U+007E(一般在排版系統習慣上是稱為 asciitilde)。

現在問題來了,TeX 的 Computer Modern(CM) font 只有一種波紋號,那就是 Unicode 上的 small tilde,而且,置放的位置是在頂端,而一般在對應上,習慣上是對應到 U+007E,因為只有一種 tilde,兩種大小的 tilde 都是用這個唯一的 small tilde。

當然,在 TeX/LaTeX 裡頭也有其他的波紋號的符號,例如 $\sim$ 及wsuipa package 的 \midtilde。但這些符號的使用,在 pdf 檔會造成一些困擾,這在最後會提及。

在 LM(Latin Modern)字型上有所改進,把兩種大小不同的 tilde 分出來了,但在對應取用上,直接打 \~{},所取用到的仍然是那個較小的 tilde,除非使用其他的 TeX 字型編碼(例如 T1),並使用 \textasciitilde 指令,這樣才會區分出一般的 \~{}\textasciitilde 的不同。

談到這裡好像有點複雜了,簡單的說,在 TeX/LaTeX 裡頭,所對應到的波紋號,在預設的字型編碼(OT1)的情形下,是對應到較小的那個 small tilde,而且他是置於頂端的,而非置中,這在我們一般習慣上會有不符合的情形,我們就先來看看 CM 字型的例子:

Computer Modern font OT1 圖示
如果我們改用 LM 字型,他有 asciitilde/tilde 之分,但是我們要改用 T1 編碼,這樣兩種 tilde 才會互相正確對應到:
\usepackage{lmodern}
\usepackage[T1]{fontenc}
Latin Modern font T1 圖示
我們可以發現 LM 字型的 asciitilde,他雖然較大了一些,但仍然是置於頂端,這就和字型的製作有關了,像 Nimbus 字型,他就會把 asciitilde 置於近中央的地方(目前的 teTeX distribution 中 mathptmx package 是對應到 Nimbus 字型,因為 Times 字型是商業字型):
\usepackage{mathptmx}
\usepackage[scaled=.90]{helvet}
\usepackage{courier}
\usepackage[T1]{fontenc}
Nimbus font T1 圖示
這也就是一般常要使用者改用 T1 編碼的原因,這樣一些多出來的字才會正確對應的到。

好了,那麼我們最常會用到的個人網址上的那個波紋號又要怎麼處理呢?如果使用另外取代的符號,那麼製作出來的 pdf 檔,雖然看起來及印表機印出來沒有問題,但是要在 pdf 檔案中做搜尋或拷貝內容時就會出問題了,因為一般的 pdf viewer 不會把他當做是一般的波紋號來處理,也就是說可能會無法處理,或者就把他當成是其他的符號來處理,而不是我們想要的 asciitilde。

這時,網址的部份請多多利用 url package,他會自動處理,將波紋號的部份強迫使用 asciitilde。如果不是網址的話,那麼真正的波紋號是要使用指令 \textasciitilde 來表現的,這樣 pdf viewer 才會把他當成是 swung dash 這種純文字形式的波紋號。

\usepackage{url}
\usepackage{mathptmx}
\usepackage[scaled=.90]{helvet}
\usepackage{courier}
\usepackage[T1]{fontenc}
[...]
\url{http://info.sayya.org/~edt1023/} 
http://info.sayya.org/\textasciitilde{}edt1023/
Nimbus url T1 圖示
當然,專業排版一般的慣例,網址的部份是使用 typewriter 字族,這個 url package 會自動處理。


註一:
wsuipa package 並不含 Type 1 字型,需要 Type 1 字型的話,請在此下載:
http://cle.linux.org.tw/~edt1023/tex/wsuipa-t1.tar.gz
註二:
我們是可以去修改字型本身,將 tilde 讓他置中,但請千萬小心,這在一些重音符號及數學符號上要用到,到時可能會造成走樣。

迴響

 
Accessible and Valid XHTML 1.0 Strict and CSS Powered by BS2 Blog