答案列表在 R/exams 中分布在多个栏目中以节省纸张 space
Answer list in R/exams distributed by several columns to save paper space
我想将 R/exams 中的答案列表配置为按列分布:
一个。答案 1. C. 答案 3.
乙。答案 2. D. 答案 4.
在 LaTeX 中,我使用了 multicol
包。 R/exams 也可以吗?
用于生成打印在纸上的 PDF 文件的 R/exams 接口是 exams2pdf()
和 exams2nops()
(建立在 exams2pdf()
之上)。这两者都在后台使用 LaTeX,并允许调整用于呈现答案列表的环境。所以答案是:是的,您也可以为此使用 multicol
LaTeX 包中的 {multicols}
环境。
更具体地说,在 LaTeX 代码中,您的答案列表将写为:
\begin{answerlist}
\item Answer 1.
\item Answer 2.
\item Answer 3.
\item Answer 4.
\end{answerlist}
这个{answerlist}
的渲染则取决于文档header中这个环境的定义。 exams2nops()
中的默认值以及 exams2pdf()
随包一起提供的演示模板是:
\newenvironment{answerlist}%
{\renewcommand{\labelenumii}{(\alph{enumii})}\begin{enumerate}}%
{\end{enumerate}}
简而言之,这只是使用标准 {enumerate}
环境并将计数器切换为 (\alph{...})
格式,即 (a), (b), .... In exams2nops()
默认情况下会产生以下输出:
或者,您可以通过以下方式(重新)定义此环境,该方式使用 {multicols}{2}
布局并将计数器的格式切换为 A.、B.、...
\newenvironment{answerlist}%
{\renewcommand{\labelenumii}{\Alph{enumii}.}\begin{multicols}{2}\begin{enumerate}}%
{\end{enumerate}\end{multicols}}
当您使用 exams2pdf()
时,您可以在传递给 exams2pdf(..., template = ...)
.
的 LaTeX 主模板中像这样简单地定义 {answerlist}
环境
当您使用 exams2nops()
时,您可以 re-define {answerlist}
环境 on-the-fly 在 header
:
multicol <- "\renewenvironment{answerlist}{\renewcommand{\labelenumii}{\Alph{enumii}.}\begin{multicols}{2}\begin{enumerate}}{\end{enumerate}\end{multicols}}"
exams2nops(..., header = multicol)
这产生:
根据答案列表中项目的典型长度,您当然也可以使用更多列,例如 {multicols}{4}
.
此外,还有 built-in 选项 exams2nops(..., twocolumn = TRUE)
可将整个文档的布局切换为两栏(与仅答案列表相对)。下面包含演示屏幕截图。
最后,[=74] 的 R/exams 论坛中的此主题讨论了一些使用 LaTeX 环境 {paralist}
或 {enumitem}
而不是 {multicols}
的更多变体=]: https://R-Forge.R-project.org/forum/forum.php?thread_id=33823&forum_id=4377&group_id=1337.
我想将 R/exams 中的答案列表配置为按列分布:
一个。答案 1. C. 答案 3.
乙。答案 2. D. 答案 4.
在 LaTeX 中,我使用了 multicol
包。 R/exams 也可以吗?
用于生成打印在纸上的 PDF 文件的 R/exams 接口是 exams2pdf()
和 exams2nops()
(建立在 exams2pdf()
之上)。这两者都在后台使用 LaTeX,并允许调整用于呈现答案列表的环境。所以答案是:是的,您也可以为此使用 multicol
LaTeX 包中的 {multicols}
环境。
更具体地说,在 LaTeX 代码中,您的答案列表将写为:
\begin{answerlist}
\item Answer 1.
\item Answer 2.
\item Answer 3.
\item Answer 4.
\end{answerlist}
这个{answerlist}
的渲染则取决于文档header中这个环境的定义。 exams2nops()
中的默认值以及 exams2pdf()
随包一起提供的演示模板是:
\newenvironment{answerlist}%
{\renewcommand{\labelenumii}{(\alph{enumii})}\begin{enumerate}}%
{\end{enumerate}}
简而言之,这只是使用标准 {enumerate}
环境并将计数器切换为 (\alph{...})
格式,即 (a), (b), .... In exams2nops()
默认情况下会产生以下输出:
或者,您可以通过以下方式(重新)定义此环境,该方式使用 {multicols}{2}
布局并将计数器的格式切换为 A.、B.、...
\newenvironment{answerlist}%
{\renewcommand{\labelenumii}{\Alph{enumii}.}\begin{multicols}{2}\begin{enumerate}}%
{\end{enumerate}\end{multicols}}
当您使用 exams2pdf()
时,您可以在传递给 exams2pdf(..., template = ...)
.
{answerlist}
环境
当您使用 exams2nops()
时,您可以 re-define {answerlist}
环境 on-the-fly 在 header
:
multicol <- "\renewenvironment{answerlist}{\renewcommand{\labelenumii}{\Alph{enumii}.}\begin{multicols}{2}\begin{enumerate}}{\end{enumerate}\end{multicols}}"
exams2nops(..., header = multicol)
这产生:
根据答案列表中项目的典型长度,您当然也可以使用更多列,例如 {multicols}{4}
.
此外,还有 built-in 选项 exams2nops(..., twocolumn = TRUE)
可将整个文档的布局切换为两栏(与仅答案列表相对)。下面包含演示屏幕截图。
最后,[=74] 的 R/exams 论坛中的此主题讨论了一些使用 LaTeX 环境 {paralist}
或 {enumitem}
而不是 {multicols}
的更多变体=]: https://R-Forge.R-project.org/forum/forum.php?thread_id=33823&forum_id=4377&group_id=1337.