我正在排版一本问题解答式的数学书。我还没有决定最终的“外观”(标题等的样式)。现在,我的主要关注点之一是尽可能灵活,这样只需摆弄初始设置就可以设计最终的外观。(而不是检查整个工作并手动逐一更改。)
我主要有几章,每章都有“问题 #N”,后面跟着“解决方案 #N”。我不知道这是否是正确的决定,但最初我决定:
\newtheoremstyle{problemstyle} % <name>
{12pt} % <space above>
{12pt} % <space below>
{\normalfont} % <body font>
{} % <indent amount}
{\bfseries} % <theorem head font>
{\normalfont\bfseries:} % <punctuation after theorem head>
{.5em} % <space after theorem head>
{} % <theorem head spec>
\theoremstyle{problemstyle}
\newtheorem{problem}{Problem}[chapter] % Comment out [section] to remove section number dependence
\newtheoremstyle{solutionstyle} % <name>
{12pt} % <space above>
{12pt} % <space below>
{\normalfont} % <body font>
{} % <indent amount}
{\bfseries} % <theorem head font>
{\normalfont\bfseries:} % <punctuation after theorem head>
{.5em} % <space after theorem head>
{} % <theorem head spec"normal")>
\theoremstyle{solutionstyle}
\newtheorem{solution}{Solution}[chapter] % Comment out [section] to remove section number dependence
我将每个问题都输入其中\begin{problem} .. \end{problem}
(解决方案相同。)
问题
抛开我已经做过的事情,并考虑到我的设计相关决定/想法变化的灵活性和面向未来性:
1)我是否应该将问题(解决方案)封闭在某些自定义环境中?(或者我应该简单地为每个问题开始一个新的部分,为每个解决方案开始一个新的部分。(也许,使用titlesec
-like 包进行样式设置?))
2)如果是,那么定义环境的一个好方法是什么,以便它会自动插入问题#N(例如,将按章节号编号,然后按章节内的问题编号编号),我可以无限制地设置问题#N的样式?(例如,环境是否应该自动启动某个部分(或小节)?)
答案1
我认为您的概念非常灵活且面向未来。您必须分离环境并可以根据自己的喜好进行更改,而无需更改文档的其余部分。因此不会出现太多问题。您甚至可以随时决定不再使用定理。
这是针对其中一种环境的最小适配版本。您可以根据自己的喜好完全更改整个标题等。但您可能应该先阅读一些关于 (La)TeX 构造(如计数器等)的介绍性材料。
\documentclass{report}
\newcounter{problem}[chapter]
\newenvironment{problem}{
\refstepcounter{problem}
\noindent\textbf{Problem \thechapter.\theproblem}\vskip1em
}{\vskip2\baselineskip}
\begin{document}
\chapter{Test}
\begin{problem}
Some problem
\end{problem}
\begin{problem}
Some other problem
\end{problem}
\chapter{Test}
\begin{problem}
Some problem
\end{problem}
\end{document}