我正在使用课程为我的课程创建一些讲义book
,它由章节和部分组成。在我的某些部分中,我想添加家庭作业(而在某些部分中,我不想添加)。我一直使用以下软件包来实现这一点amsthm
:
\newtheorem{homew}{Homework}
\begin{homew} Solve for $x$
\begin{enumerate}
\item $1=x+2$
\item $1=x-2$
\end{homew}
但是,我希望这份作业按其所在部分进行编号,这样我就可以回调它。例如,我希望我的文档如下所示:
第1章
第 1 部分
家庭作业 1
第 2 部分
第 3 部分
第 4 部分
家庭作业 4
等等。
我的问题有两个:
- 如何实现这一点?创建新定理时的计数器选项不起作用。我不希望作业被编号为作业 4.1(没有作业 4.2,那有什么意义呢?),并且给它自己的计数器不起作用,因为这样我会在第 4 部分得到作业 2,这也是我也不想要的。
- 有没有更优雅的方法来实现这一点?我对 LaTeX 还很陌生,所以非常感谢您的帮助。
答案1
这是tcolorbox
一个获得更好的输出并用作\thesection
计数器的解决方案:
\documentclass{article}
\usepackage{mathtools}
\usepackage{amsthm}
\usepackage[most]{tcolorbox}
\newtcbtheorem{homew}{Homework}{title={\tcbtitle \thesection},enhanced jigsaw,boxrule=0pt,coltitle=black,
sharp corners,colback=white,colbacktitle=white!40!yellow}{homew}
\begin{document}
\section{First}
\begin{homew}{Solve for $x$}{first}
\begin{enumerate}
\item $1=x+2$
\item $1=x-2$
\end{enumerate}
\end{homew}
\section{Second}
\begin{homew}{Solve for $x$ and $y$}{second}
\begin{align}
1 &= x+y \\
1 &= x-y
\end{align}
\end{homew}
\section{Another section}
\begin{homew}{Solve for $x$ and $y$ and $z$}{third}
\begin{align}
1 &= x+y-z \\
1 &= x-y-z \\
1 &= x+y+z
\end{align}
\end{homew}
\end{document}
答案2
这可能是最简单的方法:
\documentclass{article}
\usepackage{amsmath, amsthm}
\newtheorem{homew}{Homework}
\def\thehomew{\thesection}
\begin{document}
\section{Some Section}
\begin{homew} Solve for $x$
\begin{enumerate}
\item $1=x+2$
\item $1=x-2$
\end{enumerate}
\end{homew}
\section{Some Other Section}
\begin{homew} Solve for $y$
\begin{enumerate}
\item $1=y+2$
\item $1=y-2$
\end{enumerate}
\end{homew}
\section{New Section}
\section{Last Section}
\begin{homew} Solve for $z$
\begin{enumerate}
\item $1=z+2$
\item $1=z-2$
\end{enumerate}
\end{homew}
\setcounter{section}{99}
\section{Just Kidding}
\begin{homew} Solve for $w$
\begin{enumerate}
\item $1=w+2$
\item $1=w-2$
\end{enumerate}
\end{homew}
\end{document}
答案3
这是一个使用包\AtBeginEnvironment
的宏etoolbox
来修改与hw
环境相关的计数器变量的解决方案。
\documentclass{article}
\usepackage{ntheorem} % Or: \usepackage{amsthm}
\newtheorem{hw}{Homework} % Set up "Homework" environment
\usepackage{etoolbox}
\AtBeginEnvironment{hw}{% % Modify "hw" counter variable
\setcounter{hw}{\value{section}}
\addtocounter{hw}{-1}}
\begin{document}
\section{A}
\begin{hw} abc \end{hw}
\section{B}
\section{C}
\begin{hw} def \end{hw}
\section{D}
\begin{hw} ghi \end{hw}
\end{document}