常に \textrm で、決して \rm ではないのですか? 反例ですか?

常に \textrm で、決して \rm ではないのですか? 反例ですか?

次のコードを見てみましょう。

\documentclass{article}
\begin{document}
\newtheorem{theorem}{Theorem}

\begin{theorem}
TFAE
\begin{itemize}
\item[(i)]
$0<1$;
\item[(ii)]
$1>0$.
\end{itemize}
\end{theorem}

But I want (i)'s Roman:

\begin{theorem}
TFAE
\begin{itemize}
\item[\textrm{(i)}]
$0<1$;
\item[\textrm{(ii)}]
$1>0$.
\end{itemize}
\end{theorem}

Alas, still italic, but\ldots

\begin{theorem}
TFAE
\begin{itemize}
\item[\rm(i)]
$0<1$;
\item[\rm(ii)]
$1>0$.
\end{itemize}
\end{theorem}

\end{document}

ここに画像の説明を入力してください

そして\textrm、廃止されたものよりは優れているはずの\rm(使用の違いは知っています)が、期待どおりに機能しません。 を\rm時々使用するのは妥当でしょうか?

答え1

いいえ、は非\rm推奨であり、LaTeX2e文書では使用しないでください(ConTeXtとプレーンは当然異なります)。ここで起こっていることは意図的です。発行は、\textrm現在のフォントファミリーがサンセリフや等幅フォントではなくローマンであることを意味します。しかし、ない現在の形状 (直立/斜体/斜体) または太さ (細字/中字/太字) を変更します。これが LaTeX2e の「新しいフォント選択スキーム」の目的です。対照的に、\rm直立、ローマン、中字の固定フォントを設定します。

したがって、ここで探しているのは、フォントファミリーではなく、フォントの形状を変更することです。これ\textupは、あなたが求めているコマンドです(参照。 \textit\textsl)。もちろん、実際のケースでは、これを一般定理のスタイルの変更として適用するべきであり、このために基礎。

答え2

いいえ、アイテムラベルが「\rmスタイル」になっていることを確認したい場合は、

{\normalfont(i)}

もちろん、@egreg が指摘したように、enumitem今回のようなローカルな変更は体系的ではなく、エラーも発生しにくいため、アイテム ラベルをグローバルに使用して再定義したい場合があります。したがって、プリアンブルに次の記述を加えると役立つかもしれません。

\documentclass{article}

\usepackage{enumitem}
\setlist[enumerate,1]{label={\normalfont(\roman*)}}

\newtheorem{theorem}{Theorem}

\begin{document}

\begin{theorem}
TFAE
\begin{enumerate}
\item
$0<1$;
\item
$1>0$.
\end{enumerate}
\end{theorem}

\end{document}

答え3

Joseph Wright の回答から導き出された、強調すべき重要な要素が 1 つあります。 \textrm\textbf、などは、ローカル モードでは単純な、、などと\textit単純に同等ではありません。 さらに、それらの意味は LaTeX では異なるタイプになります (例: ファミリーとシェイプ)。\rm\bf\it

関連情報