
私は LaTeX ドキュメント全体を Latin-1 でエンコードしています。また、私の機関が提供するドキュメントクラスは、Latin-1 を使用するように設計されています。私はフランス語で書いています。
Mendeley で作成され、UTF-8 でエンコードされた .bib ファイルを使用したいと考えています。コンパイルしようとすると、LaTeX でエラーが発生します。
inputenc: 入力エンコーディング `latin1' では、使用されているキーボード文字が未定義 (inputenc) です。
簡単なコマンドでエンコードをオンザフライで変換する方法はありますか? これが私の設定です:
ウィンドウズ7
MiKTeX 2.9
テックススタジオ 2.3
Mendeley で .bib をエクスポートする
.bib ファイルの内容を新しいファイルにコピーするだけで (TexStudio で適切なエンコード設定を使用)、すべて正常に動作するので、エンコードを変更するだけです。ワークフローが中断されるため、これは実行したくありません。pdflatex の実行前に追加するコマンドのようなものを考えています。
答え1
ファイルを再エンコードする必要はありません。LaTeX は、antinew/latin1 でエンコードされたメイン ファイルに utf8 でエンコードされたファイルを入力できます。
....
\inputencoding{utf8}
\input{utf8file}
\inputencoding{ansinew} %back to ansinew
....
しかし、 を使用している場合はbiblatex/biber
、おそらくまったく心配する必要はありません。bib ファイルに にも含まれる文字だけが含まれている場合ansinew
、は を生成するときにを にbiber
変換します。ここでは問題なく動作します: (bib にはドイツ語のウムラウトが含まれています。)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
答え3
ワークフロー全体が Latin1 で動作するように設計されているようなので、問題はむしろ、ワークフローで UTF-8 を排除する方法になります (そうするのは非常に残念ですが)。
次に、.bib ファイルはすべて同じなので、参照マネージャーを、出力エンコーディングの変更をサポートし、引き続き機能するものに変更するだけでよいと思います (現在のマネージャーの出力エンコーディングを変更するのではなく、これは明らかではないようです)。
参照管理には、私自身は JabRef を使用しています。出力エンコーディングを非常に簡単に変更でき、マルチプラットフォームであるだけでなく、非常に使いやすいです。
おそらくこれは試してみる価値があるでしょうか?