不同环境下枚举标签的排版建议

不同环境下枚举标签的排版建议

在我的文档中,我修改了枚举标签,如下所示:

\renewcommand{\labelenumi}{(\roman{enumi})} 

问题是——我正在使用该amsthm包,并使用普通的 theoremstyle 创建了一个定理环境,这会影响标签本身。这意味着该环境会格式化我的标签的字体。

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[chapter]

我正在使用的更新版本labelenumi与纯文本的差异更加明显。


纯文本标签:

图片1


环境中的标签 - theoremstyle plain:

图片2


将我的标签格式保持为与环境的其余部分一样是否是好的行为? (也就是说,不要改变任何东西)我是这么认为的,但同时我无法决定在正式文件中什么会更好。

由于该问题属于印刷性质,因此我认为不需要 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因为后者由于强化而无法在正确的时间扩展,最终会在引用中打印错误的数字。

相关内容