在我的文档中,我修改了枚举标签,如下所示:
\renewcommand{\labelenumi}{(\roman{enumi})}
问题是——我正在使用该amsthm
包,并使用普通的 theoremstyle 创建了一个定理环境,这会影响标签本身。这意味着该环境会格式化我的标签的字体。
\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[chapter]
我正在使用的更新版本labelenumi
与纯文本的差异更加明显。
纯文本标签:
环境中的标签 - theoremstyle plain:
将我的标签格式保持为与环境的其余部分一样是否是好的行为? (也就是说,不要改变任何东西)我是这么认为的,但同时我无法决定在正式文件中什么会更好。
由于该问题属于印刷性质,因此我认为不需要 MWE。
答案1
在所有情况下我都会使用直立罗马数字。用 就很容易了enumitem
。
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage{amsthm}
\usepackage{enumitem}
\newtheorem{theorem}{Teorema}[chapter]
\newtheorem{definition}[theorem]{Definizione}
\setlist[enumerate,1]{label=\textup{(\roman*)},ref=\roman*}
\begin{document}
\chapter{Numeri primi}
Possiamo elegantemente classificare gli interi positivi
(ovvero non~nulli) in tre classi:
\begin{enumerate}
\item unità: $1$
\item primi: $2$, $3$,\dots
\item composti: $4$, $6$,\dots
\end{enumerate}
\begin{definition}[Test deterministici e probabilistici]
Un algoritmo per determinare se un dato $n$ è primo viene
detto \textbf{test di primalità}. Questo può essere
\begin{enumerate}
\item \textbf{probabilistico} se afferma bla bla
\item \textbf{deterministico} se afferma bla bla
\end{enumerate}
\end{definition}
\end{document}
但是,我不会用斜体排版定义,因为这需要对定义的术语进行双重强调。
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage{amsthm}
\usepackage{enumitem}
\newtheorem{theorem}{Teorema}[chapter]
\theoremstyle{definition}
\newtheorem{definition}[theorem]{Definizione}
\setlist[enumerate,1]{label=\textup{(\roman*)},ref=\roman*}
\begin{document}
\chapter{Numeri primi}
Possiamo elegantemente classificare gli interi positivi
(ovvero non~nulli) in tre classi:
\begin{enumerate}
\item unità: $1$
\item primi: $2$, $3$,\dots
\item composti: $4$, $6$,\dots
\end{enumerate}
\begin{definition}[Test deterministici e probabilistici]
Un algoritmo per determinare se un dato $n$ è primo viene
detto \emph{test di primalità}. Questo può essere
\begin{enumerate}
\item \emph{probabilistico} se afferma bla bla
\item \emph{deterministico} se afferma bla bla
\end{enumerate}
\end{definition}
\end{document}
无论如何,标签在定理中都是直立的。
答案2
对于枚举标签,您很可能希望做一些与现有标签略有不同的事情。事实上,有两个命令用于打印枚举标签,一个命令指定数字格式(不仅用于打印标签,还用于引用)。另一个命令用于打印标签并添加额外的装饰,如括号。根据您当前的定义,如果您使用\label
和\ref
引用某个项目,它将打印
nel punto~\ref{determinisco}
作为
点 (ii)
而不是
点二号
为了解决这个问题,你可以定义:¹
\RenewExpandableDocumentCommand{\theenumi}{}{\roman{enumi}}
\RenewDocumentCommand{\labelenumi}{}{(\theenumi)}
就我个人而言,我倾向于在枚举标签中使用罗马字体而不是斜体字体,为此,我会将罗马字体的选择作为其中的一部分\labelenumi
,例如,
\RenewDocumentCommand{\labelenumi}{}{\textup{(\theenumi)}}
1、2021 年,我们应该优先使用 而不是\NewDocumentCommand
。\newcommand
前者在参数方面比后者具有更大的灵活性,并且默认情况下使命令更强大。但是,对于各种\the*
命令,我们需要使用\RenewExpandableDocumentCommand
而不是 ,\RenewDocumentCommand
因为后者由于强化而无法在正确的时间扩展,最终会在引用中打印错误的数字。