Behalten Sie „Computer Modern“ als fette Schriftart bei

Behalten Sie „Computer Modern“ als fette Schriftart bei

Ich möchte Gentium als Hauptschriftart verwenden und das geschieht mit dem Befehl \usepackage{Gentium}. Aber ich möchte „Computer Modern“ als Fettschriftart verwenden. Irgendeine Idee, wie das geht?

Antwort1

Es gibt Gentiumaber kein Paket gentium; die Verwendung von Großbuchstaben im Paketnamen kann bei Dateisystemen (Windows) funktionieren, bei denen die Groß-/Kleinschreibung nicht beachtet wird, begrenzt aber die Dateiportabilität, da es \usepackage{Gentium}auf GNU/Linux- oder Mac OS X-Systemen nicht funktioniert.

Eine einfache Lösung besteht darin, durch Patchen \bfseriesund \mdseriesdie aktuelle Schriftfamilie zu prüfen und, falls es sich um die Standardschriftart ( gentium) handelt, für zu CM zu wechseln \bfseries; im Gegenteil, falls es sich bei der Schriftfamilie um CM handelt, wechseln Sie zu gentium.

Andere Schriftfamilien sind hiervon, wie im Beispiel gezeigt, nicht betroffen.

Das Beispiel zeigt jedoch auch, dass Computer Moder Roman Bold optisch nicht mit Gentium kompatibel ist, daher rate ich Ihnen dringend davon ab. Adventor und Cursor werden hier nur als Beispiel verwendet und ich erhebe keinen Anspruch darauf, dass sie zusammen mit Gentium verwendet werden können.

Als allgemeine typografische Regel sollte in einem normalen Dokument nur eine Serifenschriftfamilie verwendet werden.

\documentclass{article}
\usepackage{gentium}
\usepackage{tgadventor}
\usepackage{tgcursor}
\usepackage{xpatch,pdftexcmds}

\xpatchcmd{\bfseries}
  {\selectfont}
  {\checkfamily{\familydefault}{cmr}\selectfont}
  {}{}
\xpatchcmd{\mdseries}
  {\selectfont}
  {\checkfamily{cmr}{\familydefault}\selectfont}
  {}{}

\makeatletter
\newcommand{\checkfamily}[2]{%
  \ifnum\pdf@strcmp{\f@family}{#1}=\z@
    \fontfamily{#2}%
  \fi
}
\makeatother

\begin{document}
Some text in Gentium and \textbf{some in CM {\mdseries (this is Gentium)} and back to CM}

\sffamily
Some text in Adventor and \textbf{some in bf {\mdseries (this is md)} and back to bf}

\ttfamily
Some text in Cursor and \textbf{some in bf {\mdseries (this is md)} and back to bf}

\end{document}

Bildbeschreibung hier eingeben

Eine vergrößerte Ansicht, die den Schriftartenkonflikt besser zeigt

Bildbeschreibung hier eingeben

Eine längerfristige und möglicherweise robustere Lösung besteht darin, die .fdDateien für Gentium zu ändern.

Wenn Sie XeLaTeX oder LuaLaTeX verwenden, können Sie dies einfacher erreichen:

\usepackage{fontspec}

\setmainfont{Gentium}[
  BoldFont={Latin Modern Roman 10 Bold}
]
\setsansfont{TeX Gyre Adventor}
\setmonofont{TeX Gyre Cursor}

Es dürfte noch etwas Jonglieren mit den Größen nötig sein.

verwandte Informationen