我目前正在使用包含三个部分的类来编写笔记book
,一个用于讲师笔记,一个用于我自己的笔记,一个用于练习问题。我喜欢exam
用于格式化问题的类,但我希望使用书籍类来进行所有格式化。有没有办法将环境集成到这个书籍类中,而不是仅仅从我的文档/新包中question
复制所需的部分?exam.cls
book.cls
\documentclass{book} % I want it formatted like a book
%\documentclass[answers]{exam} % But have questions formatted like exam
\begin{document}
\title{My Revision Book}
\maketitle
\part{Notes}
% 'normal' LaTeX
\part{Practice questions/past exam papers}
\begin{questions}
\question
How long is a piece of string
\begin{solution}
This long $\leftarrow\rightarrow$ (not to scale).
\end{solution}
\end{questions}
\end{document}
答案1
如果您希望question
和solution
环境正常运行确切地就像他们做的那样exam
文档类,那么您就需要从中复制相关代码exam.cls
。
但是,如果你只是想要一些看起来类似的东西,那么你可以定义自己的环境,也许像下面这样,它使用enumitem
做艰苦的工作:
\newlist{questions}{enumerate}{3}
\setlist[questions]{label=\arabic*.}
\newcommand{\question}{\item}
类似地,你可以定义自己的solution
环境:
\newenvironment{solution}{ {\bfseries Solution}:}{}
当然,你也可以使用theorem
包来获得更多的冒险精神,例如amsthm
如果您想要更多格式。
最后,另一个想法是简单地pdf
使用pdfpages
,在这种情况下您根本不需要担心这些环境!
以下是完整的 MWE 构建内容:
\documentclass{book} % I want it formatted like a book
%\documentclass[answers]{exam} % But have questions formatted like exam
\usepackage{enumitem}
\newlist{questions}{enumerate}{3}
\setlist[questions]{label=\arabic*.}
\newcommand{\question}{\item}
\newenvironment{solution}{ {\bfseries Solution}:}{}
\begin{document}
\title{My Revision Book}
\maketitle
\part{Notes}
% 'normal' LaTeX
\part{Practice questions/past exam papers}
\begin{questions}
\question
How long is a piece of string
\begin{solution}
This long $\leftarrow\rightarrow$ (not to scale).
\end{solution}
\end{questions}
\end{document}