Das kurze Beispiel unten zeigt, dass dies \bfseries
seine Wirkung hat, aber dass dies \em
die Wirkung von überlagert. Wenn \rmfamily
es einfach „nichts hinzufügen“ bedeutet, erklärt das auch, warum es grundsätzlich keine Wirkung hat. Ich bin jedoch neugierig, ob es ein \un-em
/ gibt.\remove-previous-declarations
-Deklaration oder so etwas
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Hello, \em my name \bfseries is Enrico. \rmfamily And now what?
\end{document}
Ich weiß, dass ich den hervorgehobenen Text einschränken kann, indem ich den \emph
Befehl anstelle von verwende.\em
Deklaration verwende, aber ich bin neugierig.
Antwort1
Sie können verwenden, \emreset
um die Wirkung von aufzuheben \em
, und normalfont
oder , \mdseries
um die Wirkung von aufzuheben \bfseries
.
\documentclass{article}
\begin{document}
Hello, \em my name \emreset\bfseries is Enrico. \normalfont And now what?
\end{document}
Oder Sie können {}
den Wirkungsbereich einschränken.
\documentclass{article}
\begin{document}
Hello, {\em my name} {\bfseries is Enrico.} And now what?
\end{document}
Oder verwenden Sie einfach TextFontCommand mit Parameter.
\documentclass{article}
\begin{document}
Hello, \emph{my name} \textbf{is Enrico.} And now what?
\end{document}
Antwort2
Die Aktion \rmfamily
besteht nicht darin, „nichts zu tun“.
Im NFSS-Modell, das um 1994 von LaTeX übernommen wurde, werden Schriftarten durch vier unabhängige Attribute charakterisiert:
- Codierung
- Familie
- Form
- Serie
zu dem wir die Größe hinzufügen könnten. Diese Attribute sind voneinander unabhängig. Die Kodierung ist etwas eigenartig und ich werde nicht näher darauf eingehen.
Es gibt einige vordefinierte Befehle, die jeweils ein Attribut ändern:
\rmfamily
,\sffamily
,\ttfamily
\upshape
,\itshape
,\scshape
,\slshape
\mdseries
,\bfseries
Schriftpakete, die umfangreichere Schriftarten unterstützen, definieren möglicherweise andere Befehle für Formen und Serien.
Es gibt auch eine andere „abstrakte“ Deklaration, nämlich \em
, die früher wie folgt definiert wurde: „Wenn die aktuelle Schriftart nicht schräg ist, führen Sie aus \itshape
, andernfalls führen Sie aus.“\upshape
.“ Die Bedeutung wurde kürzlich geändert, um eine Reihe von Befehlen zu unterstützen, mit der Folge, dass man anders angeben kann, welche „Hervorhebung innerhalb der Hervorhebung“ realisiert wird. Machen wir es nicht komplizierter, denn Ihr Beispiel ist einfach.
Angenommen, Sie beginnen mit \normalfont
, erhalten Sie
Hallo, <rmfamily/itshape/mdseries>mein Name <rmfamily/itshape/bfseries>ist Enrico. <rmfamily/itshape/bfseries>Und was jetzt?
Der letzte \rmfamily
Befehl bewirkt nichts, da die Familie bereits\rmfamily
: Sie haben die Familie nie geändert, oder?
Es gibt keinen Befehl, der „die letzte Änderung rückgängig macht“, da dies im NFSS-Modell keinen Sinn ergibt: Die oben aufgeführten Befehle sollten niemals im Dokument verwendet werden, es sei denn, sie sindinnerhalb einer Gruppe. Als allgemeine Regel von TeX begrenzt eine Gruppe den Umfang einer Schriftauswahl. Wenn Sie also etwas tun wie
{\em text}
Die von vorgenommene Schriftartauswahl \em
wird gelöscht und die Schriftart wird auf die beim Starten der Gruppe gültige Schriftart zurückgesetzt.
Im Allgemeinen bevorzuge ich \itshape text
Kursivschrift in einer Ausrichtungszelle, da \textit{text}
LaTeX sonst ohne Nutzen noch mehr Zeit in Anspruch nehmen würde.
Ja! Die oben aufgeführten Befehle haben ein Gegenstück mit Befehl und Argument:
\textrm
,\textsf
,\texttt
\textup
,\textit
,\textsc
,\textsl
\textmd
,\textbf
\emph
Die letzte ist „abstrakt“ und die gewählte Schriftart hängt vom Kontext ab, genau wie\em
. Solche Befehlesind zu bevorzugenzum Ändern der Schriftart im Fließtext: Verwenden Sie \emph{my name is Enrico}
anstelle von {\em my ...}
, weil \emph
auch die Kursivkorrektur berücksichtigt wird, die möglicherweise vor oder nach der Schriftartänderung erforderlich ist.
Was tun Sie, wenn Sie möchten, dass Hervorhebungen innerhalb von Hervorhebungen als Aufwärtsform fett dargestellt werden? Sie deklarieren in der Dokumentpräambel etwas wie
\DeclareEmphSequence{\itshape,\upshape\bfseries,\itshape\bfseries}
Beispiel.
\documentclass{article}
\DeclareEmphSequence{\itshape,\upshape\bfseries,\itshape\bfseries}
\begin{document}
Hello, \emph{my name \emph{is Enrico.}} And now what?
\emph{Hello, \emph{my name \emph{is Enrico.} And} now} what?
\end{document}
Im zweiten (erfundenen) Beispiel sehen Sie, dass die Attribute beim Ende der verschiedenen verschachtelten Gruppen nacheinander zurückgesetzt werden.