
讓我們看看下面的程式碼:
\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 和 plain 當然是不同的)。這裡發生的事情是故意的。發出\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 的回答中得出一個重要因素,應該強調的是:
\textrm
、\textbf
、\textit
等不是本地模式下普通\rm
、\bf
、等的簡單等價物。\it
此外:它們的意義在 LaTeX 中具有不同的類型(例如,族與形狀)。