在 etemune 中设置标签颜色等属性

在 etemune 中设置标签颜色等属性

我想以与etaremune相同的方式设置 的属性,例如标签颜色。下面的代码显示了 中的红色标签的示例。对 执行相同操作的最简单方法是什么?enumitemenumerateenumerateeratemune

\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}

ratemune 标签颜色设置

答案1

这里有两个版本,它们ReverseEnumerate使用enumitem产生递减数字标签的包来定义列表,就像包的情况一样etaremune

  1. 如果您愿意使用以下start=选项手动提供列表中的项目数,那么这是一个简单的解决方案:

    \begin{ReverseEnumerate}[start=3]
        \item ...
    \end{ReverseEnumerate}
    
  2. 更复杂的版本不是需要该start=选项。要更改 上的全局设置ReverseEnumerate,必须使用带星号的变体

    \setlist*[ReverseEnumerate]{font=\color{blue}}
    

    将设置附加到现有设置。另一个选项是根据列表指定设置:

    \begin{ReverseEnumerate}[font=\color{orange}]
        \item ...
    \end{ReverseEnumerate}
    

    第二个版本也使用了etoolboxpgfmath 包。如果这是一个问题,那么没有这些包也应该不难完成。

与软件包类似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[...,但是它确实起作用。

A

使用\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}

相关内容