![隔离 Latex 环境](https://linux22.com/image/316774/%E9%9A%94%E7%A6%BB%20Latex%20%E7%8E%AF%E5%A2%83%20.png)
我想建立一个用于共享 Latex 数学练习的框架。当我尝试将不同作者的练习组合成一个“家庭作业”时,我遇到了一个问题。我该如何处理它们不同的宏和设置?有没有办法做这样的事情:
我考虑过预览和小页面包,但我不知道它们如何完成这项工作。
重要的是,练习 1 和 2 可能有冲突的宏,因此环境必须完全隔离且自成一体。此外,练习应该是可分页的。
有人知道如何解决这个问题吗?
编辑:伪代码示例
\documentclass[preview]{standalone}
\begin{document}
\beginex
\documentclass[preview, varwidth=500]{standalone}
\usepackage{amsmath}
\newenvironment{LAmatrix}{\begin{bmatrix}}{\end{bmatrix}}
...Something
\endex
...
\end{document}
由于这显然不起作用,我可能会使用解析器来删除文档类并将包移动到标题并用来\begingroup ... \endgroup
隔离其余部分。
答案1
这是一个带有tcblisting
内容的命题,它非常强大,但我限制了它的基本用法——它可以通过很多选项轻松扩展。
确保使用listing only
环境选项,否则尝试排版代码及其 LaTeX 输出。当然,如果出现诸如、、 之tcolorbox
类的情况,这肯定会失败。\documentclass
\usepackage{...}
\begin{document}...\end{document}
该2nd
论点是为了指定任务,该3rd
论点旨在表明版权。
更好的方法:使用\DeclareTotalTColorBox
和相关命令。
\documentclass{article}
\usepackage{etoolbox}
\usepackage[most]{tcolorbox}
\newtcblisting[auto counter,number within=section]{texexercise}[3][]{listing only,listing options={language={TeX}}, colback=white!40!yellow, enhanced jigsaw, sharp corners, title={\TeX\ exercise \thetcbcounter\ #2\notblank{#3}{\hfill \textcopyright #3}{}},coltitle={black},colbacktitle={blue!20!white},#1}
\begin{document}
\section{Easy stuff}
\begin{texexercise}{Find the errors in this task}{By me!}
\begin{document}
\usepackage{foo}
\end{document}
\end{texexercise}
\begin{texexercise}{Complete and/or correct the following code}{}
\documentclass
\usepackage[}{graphicx}
\begin{document}
\includegraphics{scale=17}[foo.gif]
\end{document}
\end{texexercise}
\end{document}
由于问题本身不明确:排版问题和解决方案的可能性有很多,tcolorbox
并且具有其recording
特征。