以下の短い例では、 には効果がありますが、の効果\bfseries
に重ねて適用されています。 が「何も追加しない」という意味である場合、それが根本的に効果がない理由も説明できます。ただし、 /宣言などがあるかどうか知りたいです。\em
\rmfamily
\un-em
\remove-previous-declarations
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Hello, \em my name \bfseries is Enrico. \rmfamily And now what?
\end{document}
\emph
宣言の代わりにコマンドを使用することで強調テキストを制限できることはわかっています\em
が、知りたいです。
答え1
\emreset
の効果を取り消すにはを\em
、の効果を取り消すには を使用できます。normalfont
\mdseries
\bfseries
\documentclass{article}
\begin{document}
Hello, \em my name \emreset\bfseries is Enrico. \normalfont And now what?
\end{document}
{}
または、有効範囲を制限するために使用することもできます。
\documentclass{article}
\begin{document}
Hello, {\em my name} {\bfseries is Enrico.} And now what?
\end{document}
または、パラメータ付きの TextFontCommand を使用します。
\documentclass{article}
\begin{document}
Hello, \emph{my name} \textbf{is Enrico.} And now what?
\end{document}
答え2
のアクションは\rmfamily
「何もしない」ということではありません。
1994 年頃に LaTeX で採用された NFSS モデルでは、フォントは 4 つの独立した属性によって特徴付けられます。
- エンコーディング
- 家族
- 形
- シリーズ
これにサイズを追加するかもしれません。これらの属性は互いに独立しています。エンコードは少し特殊なので、ここでは扱いません。
一度に 1 つの属性を変更する定義済みコマンドがいくつかあります。
\rmfamily
、、\sffamily
\ttfamily
\upshape
、、、\itshape
\scshape
\slshape
\mdseries
、\bfseries
より豊富なフォントをサポートするフォント パッケージでは、図形やシリーズに対して他のコマンドが定義される場合があります。
また、別の「抽象的な」宣言、つまり もあります\em
。これは、以前は「現在のフォントが傾斜していない場合は を実行し\itshape
、そうでない場合は を実行する」と定義さ\upshape
れていました。この意味は、一連のコマンドをサポートするために最近変更され、「強調内の強調」を実現する方法を別々に指定できるようになりました。あなたの例は簡単なので、物事を複雑にしないようにしましょう。
から始めると仮定\normalfont
すると、
こんにちは、<rmfamily/itshape/mdseries>私の名前は<rmfamily/itshape/bfseries>Enrico です。<rmfamily/itshape/bfseries>さて、次は何をしましょうか?
最後の\rmfamily
コマンドは何も行いません。なぜなら、ファミリーがすでに変更されているからです\rmfamily
。ファミリーを変更したことはありませんよね?
「最後の変更を元に戻す」コマンドは存在しません。これはNFSSモデルでは意味をなさないためです。上記のコマンドは、特に指定がない限り、ドキュメント内で使用しないでください。グループ内TeXの一般的なルールでは、グループはフォント選択の範囲を制限するので、次のようなことをすると、
{\em text}
によって実行されたフォント選択は\em
消え、フォントはグループが開始したときに有効だったものに戻ります。
\itshape text
一般的に、配置セルに斜体が必要な場合は、\textit{text}
LaTeX に無駄な処理を余計に施すことになるため、斜体を使用することを好みます。
はい。上記のコマンドには、対応する引数付きコマンドがあります。
\textrm
、、\textsf
\texttt
\textup
、、、\textit
\textsc
\textsl
\textmd
、\textbf
\emph
最後のは「抽象的」で、選択されるフォントはコンテキストによって異なります\em
。このようなコマンドは優先されるべきである実行中のテキストのフォントを変更するには、\emph{my name is Enrico}
ではなくを使用します。これは、フォント変更の前後に必要になる可能性のある斜体の修正も が処理する{\em my ...}
ためです。\emph
強調内の強調を太字で実現したい場合はどうすればよいでしょうか? 文書の序文で次のように宣言します。
\DeclareEmphSequence{\itshape,\upshape\bfseries,\itshape\bfseries}
例。
\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}
2 番目の (不自然な) 例では、さまざまなネストされたグループが終了すると、属性が 1 つずつ元に戻されることがわかります。