
Beim Kompilieren meines Dokuments erhalte ich den Fehler.
Font shape `TS1/TeXGyreTermes(0)/m/n' undefined
(Font) using `TS1/cmr/m/n' instead.
Es verhindert zwar nicht, dass mein Dokument korrekt kompiliert wird, aber es ist wirklich ärgerlich, diese Warnung zu erhalten.
Ich habe bereits herausgefunden, dass ich das Problem mit dem folgenden Befehl beheben kann: \DeclareFontFamilySubstitution{TS1}{\rmdefault}{udidot}
indem ich mir die Dokumentation des veralteten Pakets anschaue substitutefont
überHier.
mit diesem MWE können Sie den Fehler reproduzieren:
\documentclass{scrreprt}
\usepackage{fontspec}
\setmainfont{TeX Gyre Termes}
\usepackage{gensymb}
\usepackage{textcomp}
\usepackage{scrlayer-scrpage}
\begin{document}
asdf
\end{document}
wie Sie sehen, kommt es von der Kombination der Baumpakete \usepackage{gensymb} \usepackage{textcomp}
. \usepackage{scrlayer-scrpage}
Wenn ich nur verwende, gensymb
erhalte ich die Warnung:
Not defining \perthousand.
Not defining \micro.
Dies kann durch die Verwendung eines Pakets behoben werden, textcomp
führt jedoch zum anfänglichen Fehler.
Kann mir jemand erklären, warum dies geschieht und was der Befehl \DeclareFontFamilySubstitution{TS1}{\rmdefault}{udidot}
eigentlich bewirkt?
Antwort1
Verwenden Sie keine textcomp
Pakete gensymb
für ältere Tex-Kodierungen mit Fontspec für Unicode-Schriftarten. –
Die T1-Kodierung hat nur 256 Zeichen, also wurde die TS1-Kodierung hinzugefügt, um eine zusätzliche Schriftart zu ermöglichen und so weitere 256 Zeichen zuzulassen, aber Sie verwenden TU (Unicode)-kodierte TeX Gyre-Schriftarten, die mehrere tausend Zeichen in einer Schriftart haben können, also nein, sie sind nicht nur nicht notwendig, sondern, wie Sie sehen, schädlich und zerstören das Unicode-Setup.
In neueren Latex-Versionen textcomp
ist es nicht einmal in klassischem 8-Bit-Latex oder PDFLatex nützlich, da es im Wesentlichen vorinstalliert ist und TS1-codierte Schriftarten standardmäßig verfügbar sind.