按章节编号对定理进行编号

按章节编号对定理进行编号

我正在使用课程为我的课程创建一些讲义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

等等。

我的问题有两个:

  1. 如何实现这一点?创建新定理时的计数器选项不起作用。我不希望作业被编号为作业 4.1(没有作业 4.2,那有什么意义呢?),并且给它自己的计数器不起作用,因为这样我会在第 4 部分得到作业 2,这也是我也不想要的。
  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}

相关内容