改变 \begin{itemize} 内所有项目的形状

改变 \begin{itemize} 内所有项目的形状

我目前有这个:

\begin{itemize}
  \item \textsc{foo}
  \item \textsc{bar}
\end{itemize}

有没有办法避免\textsc多次写入?即仅在该环境内更改所有项目的形状?

答案1

有多种方法可以实现这一点:

  1. 使用etoolbox\AtBeginEnvironment

    \usepackage{etoolbox}
    \AtBeginEnvironment{itemize}{\scshape}
    
  2. 通过enumitembefore键值:

    \usepackage{enumitem}
    \setlist[itemize]{before=\scshape}
    
  3. 声明一个新环境scitemize并使用它来代替:

    \newenvironment{scitemize}
      {\begin{itemize}\scshape}
      {\end{itemize}}
    
  4. 更新现有的itemize以始终包括\scshape

    \let\olditemize\itemize
    \renewcommand{\itemize}{\olditemize\scshape}
    

相关内容