我定义了一个环境,称为问题,在其中写一些问题。这个环境是一个简单的包装盒,但它允许我按照我想要的方式显示问题。
我想添加一个新页面,并为我创建的每个问题绘制一个矩形框(以留出某种空白空间来写入答案)。
如何自动化这样的过程?我不想每次都计算有多少问题,然后为每个问题写一个新框。我想用这样的代码以编程方式实现这一点:
%... 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}
您可以使用计数器来计算问题的数量:
\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}