如何为 Latex 中定义的每个环境显示一个框,并使用 egin{env} nd{env} 语法实际创建

问题描述 投票:0回答:1

我定义了一个环境,称为问题,在其中写一些问题。这个环境是一个简单的包装盒,但它允许我按照我想要的方式显示问题。

我想添加一个新页面,并为我创建的每个问题绘制一个矩形框(以留出某种空白空间来写入答案)。

如何自动化这样的过程?我不想每次都计算有多少问题,然后为每个问题写一个新框。我想用这样的代码以编程方式实现这一点:

%... rest of the LaTeX document

\begin{question}
This is the question 1, isn't it?
\end{question}

\begin{question}
This is the question 2, isn't it?
\end{question}

然后有类似的东西:

%... rest of LaTeX document
\foreach \environment{question}{
% Paint an mbox of given size
}

这可能吗?我提供了一个MWE(带有开始中心,但我猜它应该独立于环境)...

%% MWE with two center environments

\documentclass{article}
\usepackage[utf8]{inputenc}
\begin{document}

%Q1
\begin{center}
Q1
\end{center}

\begin{center}
Q2
\end{center}


%% HERE I would like to obtain a loop with two iterations, one \foreach question, that I can then use to manipulate the output

\end{document}


unix foreach automation latex tex
1个回答
0
投票

您可以使用计数器来计算问题的数量:

\documentclass{article}

\usepackage{pgffor}
\usepackage{tcolorbox}

\newcounter{qu}
\newenvironment{question}{\refstepcounter{qu}}{}

\begin{document}

%Q1
\begin{question}
Q1
\end{question}

\begin{question}
Q2
\end{question}

\clearpage

\foreach \macro in {1,...,\thequ}{
  \begin{tcolorbox}[height=4cm,title={Answer for Q\macro}]
  \end{tcolorbox}
}
\setcounter{qu}{0}

\end{document}

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.