我正在构建一个\documentclass[...]{book}
latex 文件。每章都有一些章节。每个章节都有一些练习。练习按\exercise
命令显示。在序言中我做了:
\newcommand{\exercise}{
\paragraph{Exercício x}
}
我该如何设置x = \chapter . \section . \mycounter
?
计数器\mycounter
必须在每个新部分开始时重置(我不关心章节,因为所有练习都在一个部分内)。
提前致谢。
答案1
您必须exercise
用定义一个计数器\newcounter{exercise}
,然后指定它在每个用 的部分重新启动\counterwithin{exercise}{section}
。
要使\thesection
(打印部分的值) 为 ,chapter.section.exercise
您可以使用\thesection.\arabic{exercise}
因为\thesection
已经定义为打印chapter.section
。当然您也可以使用\arabic{chapter}.\arabic{section}.\arabic{exercise}
,但如果其中任何一个恰好是罗马数字,则看起来会不一致。
最后,在每次练习时使用\refstepcounter{exercise}
添加一个,然后打印\theexercise
。
\documentclass{book}
\usepackage{lipsum}
\newcounter{exercise}
\counterwithin{exercise}{section}
\renewcommand\theexercise{%
\thesection.\arabic{exercise}%
}
\newcommand{\exercise}{%
\refstepcounter{exercise}%
\paragraph{Exercício~\theexercise}
}
\begin{document}
\chapter{I don't care about}
\section{This section}
\exercise \lipsum[1]
\exercise \lipsum[2]
\section{Another section}
\exercise \lipsum[3]
\end{document}