最近總有這么幾種情況:一、作業很簡單,想用Latex敲,但是英語不過硬,用中文吧配中文環境就要配置半天。二、越來越多的朋友問我怎么搞中文輸入,我也確實沒啥幫助人家的好辦法,所以只好自己研究研究怎么配置Latex中文環境了。
先說環境
編譯:Ctex包(真的好用,省的配來配去。給鏈接:http://www.ctex.org/CTeXDownload)
編輯器:Sublime Text 3(但是要安裝一個插件:LatexTools)
嗯,在安裝ctex的時候就聽說這家伙完全支持中文輸入,但是一直都沒有嘗試。今天,我學習了以下方法:
\documentclass{ctexart}
\begin{document}
我靠添加代碼居然不支持Latex!
\end{document}
那么現在問題來了,報了這么多錯:
這個問題是顯然不是語法問題。哥寫語法怎么會錯。很顯然,是編碼方式的錯,我的Sublime默認編碼不是UTF8,所以大概就是這么個錯誤。
改改看:
\documentclass[UTF8]{ctexart}
\begin{document}
我靠添加代碼居然不支持Latex!
\end{document}
成功。(一會再說這個“UTF8”是干啥的)
那么現在問題來了,ctexart到底干啥的呢?
我們用ctexart,ctexrep和ctexbook代替英文文類中的article,report和book就可以在正文中自由添加中文。前提是必須要安裝了CJK這個宏包。我要怎么看看到底有沒有安裝呢?
大家去找找這個東西,點開搜一下“CJK”就行了,如果沒有的話就去安裝一下,很方便的。(但是根據筆者的經驗,有的包不翻牆好像下載不下來。)
而且可以看到,叫CJK的居然有兩個包,我們可以稍后研究研究它是干啥用的。
話說回去昂,ctexart那幾個環境相當於是在“\begin{document}”和“\end{document}”之間自動加入CJK環境了。也就是說上面的栗子是與下面的相同的:
\documentclass[UTF8]{article}
\usepackage{ctex}
\begin{document}
我靠添加代碼居然不支持Latex!
\end{document}
下面我們看看這個這個這個ctexart文類的選項:
cs4size、c5size:使用小四號、五號為缺省字號(后者為缺省)
GBK、UTF8:使用GBK、UTF8編碼(前者為缺省,一開始沒改悲劇了。)
winfonts:使用Windows字體,只有六種:宋體,仿宋,黑體,楷體、隸書和幼圓(默認設置)
cap:使用中文的標題樣式
nocap:保留英文的標題樣式
punct:對中文表點進行調整(寬度)(默認選項)
nopunct:與punct相反
space:使用 CJK 的保留空格模式,保留中文字符間的空格(類似英文的習慣)。你需要自己處理中文字符間的空格以及換行產生的空格(在行尾加上% 符號可以避免),否則排版結果可能不符合中文習慣。這種模式可以通過 \CTEXnospace 轉換到 nospace 模式。
nospace:使用 CJK 的忽略空格模式,也就是 CJK* 環境的模式。CJK 會自動忽略中文字符間的空格,比較符合中文習慣。在這種模式下,可以使用 ~ 來分隔中英文字符,產生的間距稍小於普通空格,排版效果比較美觀。這種模式可以通過 \CTEXspace 命令轉換到 space 模式。這個是 ctex 宏包的缺省模式。
indent:段首空兩格
noindent:段首不空格
再看看命令:
字體命令:\songti \heiti \fangsong \kaishu \lishu \youyuan
字號命令:\zihao{字號大小}(有16個選項 0—6,-0—-6,7和8)
字間距命令:\ziju{字寬的倍數}
數字轉漢字:\CTEXnumber{result}{number} (這個命令相當於定義了一個新命令,當在使用result定義的命令時,會自動輸出number定義的數字的漢字版本。)
\CTEXdigits{result}{number} (與上一條類似,只不過就是變成一位一位的變數字了。)
(舉一個栗子:
輸出結果就是:
宏包的章節標題設置:\CTEXsetup[<key1>=<value1>,<key2>=<value2>,…]{<type>}
這里比較復雜,暫時就不寫了。等到我需要的時候再去研究吧!
參考文獻:ctex.pdf
最后向開發人員致以崇高的敬意!(畢竟這是我見到的第一篇中文的Manual,不易不易!)