UTF-8 を latin-1 に即座に変換するにはどうすればよいでしょうか?

UTF-8 を latin-1 に即座に変換するにはどうすればよいでしょうか?

私は 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 にはドイツ語のウムラウトが含まれています。)utf8ansinewbbl

\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 を使用しています。出力エンコーディングを非常に簡単に変更でき、マルチプラットフォームであるだけでなく、非常に使いやすいです。

おそらくこれは試してみる価値があるでしょうか?

関連情報