在多個平台上將 TeX 與 dropbox 結合使用:編碼問題

在多個平台上將 TeX 與 dropbox 結合使用:編碼問題

我在筆記型電腦(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”,您會發現大量有關如何設定良好狀態列的指南和教程。我的還是比較簡單的。

相關內容