1. 程式人生 > >Texstudio中文亂碼問題

Texstudio中文亂碼問題

一直在用WinED和CTex進行中文的編輯,最近發現TexStudio很好用,所以就拿起了TexStudio,處理英文很爽,但處理中文的時候遇到了很棘手的問題,搞了倆小時,網上各種招解決方法,可惜沒找到,那叫個無語~

WinED能編譯的文件到TexStudio這編譯完就是亂碼,各種想不通,網上大家都認為TexStudio比Win對中文的相容更好~

最終的解決方法,不用GB而是用UTF8,就解決了亂碼的問題,這個變態的bug,浪費我好多時間

另附上中英文混排的問題,摘自網上

英文中換行的時候預設會加多一個空格, 而中文排版沒有這個習慣, 如果使用
\begin{CJK}{GB}{song}
內容 English 內容
\end{CJK}

排版中文時候每行都會有個多餘的空格. 為了避免這個問題建議使用
\begin{CJK*}{GB}{song}
\CJKtilde
內容~English~內容
\end{CJK*}

這時CJK* 環境預設會吃掉後面的未受保護的空格,  如果漢字後面需要空格, 這時就要用上符號~,  \CJKtilde重新定義了波浪符~的意義, 使得這個符號不再代表一個不可斷行的空格,  而是一個可斷行的彈性距離,  加在中文和英文之間調整它們的距離(一般是一個 CJK 字元的 1/4 大小的空格).  也就是說要得到美觀的中英文混排,  須使用大量的~,  這可能減慢輸入的速度, 但養成習慣就好.

另外可以用 \standardtilde 可以讓 ~ 恢復原來的定義,  不過一般而言沒有必要這麼做的.  你可以用 \nbs(non-breakabel space,LaTex 命令 \nonbreakspace 的縮寫)來生成一個不可打斷的空格

還可以使用下面的命令   進行CJK*於CJK環境的切換:
\CJKspace      CJK*---->CJK
\CJKnospace    CJK----->CJK*