
我有我的整個乳膠文檔,它是用 latin-1 編碼的。另外,我的機構提供的文檔類設計為使用 latin-1。我用法文寫。
我希望使用由 Mendeley 創建的以 UTF-8 編碼的 .bib 檔案。當我嘗試編譯時,乳膠給了我一個錯誤:
inputenc:使用的鍵盤字元在輸入編碼「latin1」中未定義(inputenc)。
有沒有辦法透過簡單的命令即時轉換編碼?這是我的設定:
Windows 7的
MiKTeX 2.9
特克斯工作室2.3
Mendeley 匯出我的 .bib
這只是更改編碼的問題,因為如果我只是將 .bib 檔案的內容複製到新檔案中(在 TexStudio 中使用正確的編碼設定),一切都會正常工作。我不想這樣做,因為它破壞了我的工作流程。我正在考慮在 pdflatex 執行之前添加一個命令之類的東西。
答案1
您不需要重新編碼您的文件。 LaTeX 完全能夠在 ansinew/latin1 編碼的主檔案中輸入 utf8 編碼的檔案:
....
\inputencoding{utf8}
\input{utf8file}
\inputencoding{ansinew} %back to ansinew
....
但如果您正在使用,biblatex/biber
您可能根本不必擔心:如果您的 bib 文件僅包含也被 覆蓋的字符ansinew
,biber
那麼utf8
在ansinew
生成bbl
.這對我來說沒有問題:(圍兜包含德語變音符號。)
\documentclass[12pt]{article}
\usepackage[ansinew]{inputenc}
\usepackage[bibencoding=utf8]{biblatex}
\addbibresource{examples-utf8.bib}
\begin{document}
öäü
\cite{utf8test}
\printbibliography
\end{document}
順便一提:在 Windows 上,您通常應該使用ansinew
而不是latin1
這樣,例如 € 也能正確處理。
答案2
為此,我通常使用文字編輯器,例如昇華。它允許以所需的編碼加載或保存文字檔案(當然是 .tex 檔案)。
Sublime 中的 Latin1 編碼使用ISO/IEC 名稱ISO 8859-1。
根據您的問題,您可能需要使用自動識別字體編碼的 LaTeX 編輯器,例如紡織製造商, 例如
答案3
由於您的整個工作流程似乎被設計為與 Latin1 一起使用,因此問題將是如何在您的工作流程中擺脫 UTF-8(儘管這樣做非常令人難過)。
然後我認為由於 .bib 檔案都是相同的,也許您只想將引用管理器簡單地更改為支援更改輸出編碼並且仍然適合您的東西(而不是更改當前管理器的輸出編碼,這似乎並不明顯)。
對於參考管理,我自己使用 JabRef。它能夠非常輕鬆地更改輸出編碼,並且非常易於使用以及多平台。
也許這值得嘗試?