
我在筆記型電腦(OS X) 和工作站(Linux RHEL 6) 上使用TeX,並且在某些使用重音符號的檔案中遇到編碼問題(主要是在作者姓名中,但也因為我是法國人,我有一些重音符號)法文文件)。我想我的問題是,我有時依賴 Mac 端更靈活的編碼來直接使用重音字符,如 é 而不是{\'{e}}
例如。然後透過 Dropbox,或者可能是因為我隨後在 UNIX 上打開這些文件,這些重音在兩側得到了不同的損壞,並且我在兩側獲得了 2 個外觀不同的文件。我很確定我可以透過僅使用轉義方式來解決所有這些問題,但我也許可以做一些更優雅的事情(也許我需要在 .tex
檔案和 中明確設定編碼vi
)。我不確定如果我去另一個編輯器例如 TeXshop 會發生什麼...
您對我的問題有一些建議或更優雅的解決方案嗎?如果您需要更多信息,請與我們聯繫 !謝謝 !
更新:感謝給出的一些指示,我現在對這些問題有了更多的了解。我創建了一個小範例文件來重現該問題。如果我在 TeXShop 中建立它,它似乎運作正常,而如果我使用 vim 建立檔案則有問題。此外,file --mime-encoding test.tex
根據建立文件的方式,會產生不同的輸出:
$ file --mime-encoding test.tex
test.tex: unknown-8bit
$ file --mime-encoding test2.tex
test2.tex: utf-8
kheldar@shadowfax /Users/kheldar/Dropbox/Boulot/CV/csuros/2011
$ vi test.tex
kheldar@shadowfax /Users/kheldar/Dropbox/Boulot/CV/csuros/2011
$ vi test2.tex
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\begin{document}
\title{Test encoding}
\maketitle
Test accents: é è ê ë
\begin{verbatim}
Test accents: é è ê ë
\end{verbatim}
Test accents: \'{e} \`{e} \"{e}
\begin{verbatim}
Test accents: \'{e} \`{e} \"{e}
\end{verbatim}
\end{document}
請注意,即使 TeXShop 使用 utf-8 建立文件,我也沒有在 @Daniel 描述的狀態列中看到 utf-8。那麼這一定是我的vimrc
權利嗎?不知怎的,我還有其他幹擾set filencoding
指令的選項。任何想法?
答案1
兩個最重要的建議:
用於
utf8
文檔的編碼 (\usepackage[utf8]{inputenc}
)。您可以透過;vim
設定此編碼set filencoding=utf8
根據您的 shell 的區域設定 (locale
),這可能已經是預設值。在 TexShop 中,您必須在首選項中明確設定檔案編碼。請勿在檔案名稱中使用重音字元! MacOS 對檔案名稱中 UTF8 的「特殊」解釋(它們以分解形式儲存)會導致各種麻煩。
此外,vim
最好定義一個狀態行,顯示實際文字編碼和行結束編碼的指示符(如果將以下行放入~/.vimrc
文件類型、行結束和文字編碼中,文件類型、行結束和文字編碼將顯示在右側):
" show statusline
hi StatusLine ctermbg=black ctermfg=white guibg=black guifg=white gui=none
hi EMPH ctermfg=yellow ctermbg=black guibg=black guifg=yellow gui=none
set statusline=%F\ \|%c,%l:\ 0x%-02B\|%=\ \|%{strftime(\"%c\",getftime(expand(\"%:p\")))}\|\ %y\ %{&ff}\ %#EMPH#%{(&fenc==\"\"?&enc:&fenc)}
set ls=2
從而可以快速掌握編碼是否正確。如果您搜尋“vim statusline”,您會發現大量有關如何設定良好狀態列的指南和教程。我的還是比較簡單的。