\begin{enumerate}[1.3.i] 的问题

\begin{enumerate}[1.3.i] 的问题

我确信在发帖之前我应该​​多搜索一下这个主题,但我对用乳胶制成的有趣服装的数量感到沮丧,所以如果这个问题已经得到解答,请原谅我。我试图列出以下例子:

1.3.i bla bla
1.3.ii 等等
...

我觉得我应该可以使用\begin{enumerate}[1.3.i],但结果是:

i.3.i bla bla
ii.3.ii 等等
...

我想这是有道理的,因为“1”是被解释的字符之一,但是当你只是希望它成为标签的静态部分时,有没有办法保护数字?

答案1

您必须隐藏固定部分(其中包含1否则会被误认为是反符号的):

\documentclass{article}
\usepackage{enumerate}

\begin{document}

\section{Title}
\setcounter{subsection}{2} % faking two subsections

\subsection{Title}

\begin{enumerate}[{1.3}.i]
\item bla bla
\item and so on
\end{enumerate}

\end{document}

在此处输入图片描述

使用起来更简单,enumitem更值得推荐enumerate

\documentclass{article}
\usepackage{enumitem}

\begin{document}

\section{Title}
\setcounter{subsection}{2} % faking two subsections

\subsection{Title}

\begin{enumerate}[label=1.3.\roman*]
\item bla bla
\item and so on
\end{enumerate}

\end{document}

但是,这两种解决方案都存在硬编码的问题1.3;而且标签对齐效果不佳。以下是我的建议:

\documentclass{article}
\usepackage{enumitem}

\begin{document}

\section{Title}
\setcounter{subsection}{2} % faking two subsections

\subsection{Title}\label{ssec:xyz}

\begin{enumerate}[label=\ref{ssec:xyz}.\roman*,align=left]
\item bla bla
\item and so on
\end{enumerate}

\end{document}

使用\label\ref将确保枚举具有正确的标签,与材料中可能发生的变化无关。

在此处输入图片描述

答案2

1.3您可以通过将fromenumerate的解析器放入宏中来“隐藏”它

\documentclass{article}
\usepackage{enumerate}

\newcommand*{\enumprefix}{1.3}
\begin{document}
\begin{enumerate}[\enumprefix.i]
\item Lorem
\item Ipsum
\end{enumerate}
\end{document}

在此处输入图片描述

如果“1.3”不是随机数,而是与文档中的其他计数器相关,则您可能能够摆脱它\newcommand。如果它是当前子节的编号,则可以使用

\documentclass{article}
\usepackage{enumerate}

\begin{document}
\section{Foo}
\subsection{Bar}
\begin{enumerate}[\thesubsection.i]
\item Lorem
\item Ipsum
\end{enumerate}
\end{document}

在此处输入图片描述

但你也可以使用enumitem包,这里的语法稍微冗长一些,但提供了许多附加选项。此外,您可以在自己的宏定义中隐藏更详细的设置,也可以全局应用。

\documentclass{article}
\usepackage{enumitem}

\begin{document}
\section{Foo}
\subsection{Bar}
\begin{enumerate}[label=\thesubsection.\roman*]
\item Lorem
\item Ipsum
\end{enumerate}
\end{document}

相关内容