![在 etemune 中设置标签颜色等属性](https://linux22.com/image/445702/%E5%9C%A8%20etemune%20%E4%B8%AD%E8%AE%BE%E7%BD%AE%E6%A0%87%E7%AD%BE%E9%A2%9C%E8%89%B2%E7%AD%89%E5%B1%9E%E6%80%A7.png)
我想以与etaremune
相同的方式设置 的属性,例如标签颜色。下面的代码显示了 中的红色标签的示例。对 执行相同操作的最简单方法是什么?enumitem
enumerate
enumerate
eratemune
\documentclass{article}
\usepackage{enumerate}
\usepackage{etaremune}
\usepackage{enumitem}
\usepackage{xcolor}
\setlist[enumerate]{font=\color{red}}
% What I am looking for
% \setlist[etaremune]{font=\color{red}}
\begin{document}
\section{enumerate list}
\begin{enumerate}
\item First item
\item Second item
\item Last item
\end{enumerate}
\section{etaremune list}
\begin{etaremune}
\item Last item
\item Second item
\item First item
\end{etaremune}
\end{document}
答案1
这里有两个版本,它们ReverseEnumerate
使用enumitem
产生递减数字标签的包来定义列表,就像包的情况一样etaremune
:
如果您愿意使用以下
start=
选项手动提供列表中的项目数,那么这是一个简单的解决方案:\begin{ReverseEnumerate}[start=3] \item ... \end{ReverseEnumerate}
更复杂的版本不是需要该
start=
选项。要更改 上的全局设置ReverseEnumerate
,必须使用带星号的变体\setlist*[ReverseEnumerate]{font=\color{blue}}
将设置附加到现有设置。另一个选项是根据列表指定设置:
\begin{ReverseEnumerate}[font=\color{orange}] \item ... \end{ReverseEnumerate}
第二个版本也使用了
etoolbox
和pgfmath
包。如果这是一个问题,那么没有这些包也应该不难完成。
与软件包类似etaremune
,需要运行两次才能正常工作。以下两个平均能量损失屈服:
代码:Simple Version
\documentclass{article}
\usepackage{enumitem}
\usepackage{xcolor}
\newlist{ReverseEnumerate}{enumerate}{1}
\newcommand*{\SavedValue}{0}%
\setlist[ReverseEnumerate,1]{%
label={\arabic*\addtocounter{ReverseEnumeratei}{-2}}.,
}
\setlist[enumerate]{font=\color{red}}
\setlist[ReverseEnumerate]{font=\color{blue}}% <---- What I am looking for
\begin{document}
\section{Enumerate list}
\begin{enumerate}
\item First item
\item Second item
\item Last item
\end{enumerate}
\section{ReverseEnumerate List}
\begin{ReverseEnumerate}[start=3]
\item First item
\item Second item
\item Last item
\end{ReverseEnumerate}
\noindent
Second ReverseEnumerate:
\begin{ReverseEnumerate}[start=4, font=\color{orange}]
\item Zeroth item
\item First item
\item Second item
\item Last item
\end{ReverseEnumerate}
\end{document}
代码:Automated Version
\documentclass{article}
\usepackage{etoolbox}
\usepackage{enumerate}
\usepackage{etaremune}
\usepackage{enumitem}
\usepackage{pgfmath}
\usepackage{xcolor}
\makeatletter
\newlist{ReverseEnumerate}{enumerate}{1}
\setlist[ReverseEnumerate]{
%% Following is to handle first run when the csuse{} is not defined
start={\numexpr\csuse{@ReverseEnumerateStart \EnumitemId}+0},
label={\arabic*\addtocounter{ReverseEnumeratei}{-2}}.,
after={% Save for next run so we know where to start
\pgfmathparse{%
int(
\csuse{@ReverseEnumerateStart \EnumitemId}
-\arabic{ReverseEnumeratei}-1%
)
}%
\edef\@temp{%
\noexpand\AtEndDocument{%
\noexpand\immediate\noexpand\write\noexpand\@auxout{%
\noexpand\csgdef%
{@ReverseEnumerateStart \EnumitemId}%
{\pgfmathresult}%
}%
}%
}%
\@temp%
},
}
\makeatother
\setlist[enumerate]{font=\color{red}}
\setlist*[ReverseEnumerate]{font=\color{blue}}% <-- What I am looking for
\begin{document}
\section{Enumerate list}
\begin{enumerate}
\item First item
\item Second item
\item Last item
\end{enumerate}
\section{ReverseEnumerate List}
\begin{ReverseEnumerate}
\item First item
\item Second item
\item Last item
\end{ReverseEnumerate}
\noindent
Second ReverseEnumerate:
\begin{ReverseEnumerate}[font=\color{orange}]
\item Zeroth item
\item First item
\item Second item
\item Last item
\end{ReverseEnumerate}
\end{document}
答案2
不完全是 \setlist[...
,但是它确实起作用。
使用\definecolor{etaremune}{rgb}{0,1,0}
选择绿色 etaremune
。
% !TeX TS-program = pdflatex
\documentclass{article}
\usepackage{enumerate}
\usepackage{etaremune}
\usepackage{enumitem}
\usepackage{xcolor}
\setlist[enumerate]{font=\color{red}}
\definecolor{etaremune}{rgb}{0,1,0} % green for etaremune
% ************************************* added <<<<
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\etaremune}
{\csname label\@enumctr\endcsname}
{\color{etaremune}\csname label\@enumctr\endcsname}
{}{}%
\makeatother
% *************************************
% What I am looking for
% \setlist[etaremune]{font=\color{red}}
\begin{document}
\section{enumerate list}
\begin{enumerate}
\item First item
\item Second item
\item Last item
\end{enumerate}
\section{etaremune list}
\begin{etaremune}
\item Last item
\item Second item
\item First item
\end{etaremune}
\end{document}