如何重命名或“复制”乳胶环境

如何重命名或“复制”乳胶环境

我想重命名或“复制”枚举环境两次,以便拥有两个不同命名的枚举环境。例如

\begin{questions}
   \item lorem ipsum
   \item lorem ipsum
\end{questions}

\begin{answers}
   \item lorem ipsum
   \item lorem ipsum
\end{answers}

答案1

编辑:问卷调查时间!

此解决方案设置了一个名为的新命令\qanda,它是此文章来自 cgnieder这个问题用于放置标题。

新命令接受两个参数,但每个参数内部都有一个可能无限的列表,因此在第一个参数中写下问题,而在第二个参数中写下答案,显然顺序相同。

此外,答案列表已旋转,但您可以用它做您想做的事情。以下是输出:

在此处输入图片描述

代码如下:

\documentclass{article}
\usepackage{enumitem}
\usepackage{xparse}
\usepackage{rotating}

\setlist[enumerate]{itemsep=-1mm}

\NewDocumentCommand\qanda{>{\SplitList{;}}m>{\SplitList{;}}m}
  {
\paragraph{Questions:}
    \begin{enumerate}
      \ProcessList{#1}{ \insertq }
    \end{enumerate}
\vspace{2cm}
\begin{turn}{180}
\begin{minipage}{\textwidth}
\paragraph{Answers:}
    \begin{enumerate}
      \ProcessList{#2}{ \inserta }
    \end{enumerate}
\end{minipage}
\end{turn}
  }
\newcommand\insertq[1]{\item #1}
\newcommand\inserta[1]{\item #1}

\begin{document}

\section*{Questionnaire}

And now some questions and (rotated) answers.

\qanda{% Questions
    What's the name of our star?;
    What planet comes after the Earth?}%
    {% Answers
    Sun;%
    Mars}%

\end{document}

原始答案

在此处输入图片描述

\documentclass{article}
\usepackage{enumitem}

\newlist{questions}{enumerate}{3}
\setlist[questions]{label=\arabic*.}

\newlist{answers}{enumerate}{3}
\setlist[answers]{label=\arabic*.}

\begin{document}
\begin{questions}
   \item lorem ipsum
   \item lorem ipsum
\end{questions}

\begin{answers}
   \item lorem ipsum
   \item lorem ipsum
\end{answers}
\end{document} 

答案2

复制环境的方法有四种:

  1. 使用低级复制。这是 TeX 意义上的真正复制,但它是非 LaTeXy 解决方案。环境answers现在独立于 的任何重新定义questions

    \let\answers\questions
    \let\endanswers\endquestions
    
  2. 使用稍微高级一点的复制。如果questions重新定义,那么也会answers自动定义。

    \newenvironment{answers}{\questions}{\endquestions}
    
  3. 也使用适当的 LaTeX 组。与上一个相同,但增加了一个不必要的分组级别。我不推荐这样做。

    \newenvironment{answers}{%
      \begin{questions}%
    }{%
      \end{questions}%
    }
    
  4. 从头开始定义环境。如果你定义questions,你可以用answers同样的方式定义:

    \newenvironment{questions}{BLA}{BLABLA}
    \newenvironment{answers}{BLA}{BLABLA}
    

    或者对于由特殊命令定义的环境,例如:

    \newtheorem{questions}{BLA}
    \newtheorem{answers}{BLA}
    

使用最适合该任务的一个。

相关内容