
Mein gesamtes Latex-Dokument ist in Latin-1 kodiert. Auch die von meiner Institution bereitgestellte Dokumentklasse ist für die Verwendung von Latin-1 ausgelegt. Ich schreibe auf Französisch.
Ich möchte von Mendeley erstellte BIB-Dateien verwenden, die in UTF-8 kodiert sind. Beim Kompilierungsversuch gibt Latex einen Fehler aus:
inputenc: Das verwendete Tastaturzeichen ist in der Eingabekodierung „latin1“ nicht definiert (inputenc).
Gibt es eine Möglichkeit, die Kodierung mit einem einfachen Befehl im laufenden Betrieb zu konvertieren? Hier ist mein Setup:
Windows 7
MiKTeX 2.9
TexStudio 2.3
Mendeley zum Exportieren meiner .bib
Es geht nur darum, die Kodierung zu ändern, denn wenn ich einfach den Inhalt der .bib-Datei in eine neue Datei kopiere (mit der richtigen Kodierungseinstellung in TexStudio), funktioniert alles einwandfrei. Ich möchte das nicht tun, da es meinen Arbeitsablauf unterbricht. Ich denke an so etwas wie einen Befehl, der vor der Ausführung von pdflatex hinzugefügt wird.
Antwort1
Sie müssen Ihre Dateien nicht neu kodieren. LaTeX kann eine UTF-8-kodierte Datei problemlos in eine ansinew/latin1-kodierte Hauptdatei einlesen:
....
\inputencoding{utf8}
\input{utf8file}
\inputencoding{ansinew} %back to ansinew
....
Wenn Sie jedoch verwenden, biblatex/biber
müssen Sie sich vermutlich keine Gedanken machen: Wenn Ihre Bib-Datei nur Zeichen enthält, die auch von abgedeckt werden ansinew
, wird beim Erzeugen der in biber
umgewandelt . Das hier funktioniert bei mir problemlos: (die Bib-Datei enthält deutsche Umlaute.)utf8
ansinew
bbl
\documentclass[12pt]{article}
\usepackage[ansinew]{inputenc}
\usepackage[bibencoding=utf8]{biblatex}
\addbibresource{examples-utf8.bib}
\begin{document}
öäü
\cite{utf8test}
\printbibliography
\end{document}
Übrigens: Unter Windows sollten Sie im Normalfall ansinew
anstelle von verwenden latin1
, damit zB auch das € richtig verarbeitet wird.
Antwort2
Zu diesem Zweck verwende ich normalerweise einen Texteditor wieSublimieren. Es ermöglicht das Laden oder Speichern von Textdateien (oder natürlich auch .tex-Dateien) in der gewünschten Kodierung.
Die Latin1-Kodierung in Sublime verwendet dieISO/IEC-NameISO 8859-1 .
Abhängig von Ihrem Problem möchten Sie möglicherweise einen LaTeX-Editor verwenden, der Schriftkodierungen automatisch erkennt, wieTexmaker, zum Beispiel
Antwort3
Da Ihr gesamter Workflow offenbar auf die Arbeit mit Latin1 ausgelegt ist, wäre die Frage eher, wie Sie UTF-8 aus Ihrem Workflow entfernen können (auch wenn dies ziemlich schade ist).
Dann denke ich, da .bib-Dateien alle gleich sind, möchten Sie vielleicht einfach Ihren Referenzmanager auf etwas ändern, das das Ändern der Ausgabekodierung unterstützt und für Sie weiterhin funktioniert (anstatt die Ausgabekodierungen Ihres aktuellen Managers zu ändern, was nicht offensichtlich zu sein scheint).
Für die Verwaltung von Referenzen verwende ich selbst JabRef. Es kann die Ausgabekodierung sehr einfach ändern und ist recht einfach zu verwenden und plattformübergreifend.
Vielleicht wäre das einen Versuch wert?