在目录中添加 xsim 练习

在目录中添加 xsim 练习

我想知道是否可以通过在目录中插入练习列表\tableofcontent

对于我的每一个练习,我都使用这样的模板:

\begin{exercise}[subtitle=title I would like to see in the TOC]

blablabla 

\end{exercise}

答案1

是的,你可以用xsim和 来做到这一点tocbasic这是一个有效的例子

以下是我们所需要的:

  1. 告诉编译器我们想要每个练习都有一个目录条目,使用\DeclareTOCStyleEntry
  2. 声明一个新的练习模板\DeclareExerciseEnvironmentTemplate(告诉xsim我们我们要按照自己的方式排版练习)。
  3. \addxcontentsline{toc}{exercise}在模板内添加一个命令,您可以在其中指定在该目录条目中写入的内容。
  4. 使用以下方式查看练习的副标题\GetExerciseProperty{subtitle}

干杯。

答案2

您有三个选择:

  1. 重新定义default模板,
  2. \subsection*借助环境钩子局部改变定义,或者
  3. 使用选项exercise/heading来选择合适的命令而不是默认的命令\subsection*

在我展示最后也是最简单的选择之前,还有其他需要考虑的事项:如果我们简单地更改\subsection*\subsection练习,将获得小节编号演习编号:

在此处输入图片描述

我不认为这是一个令人满意的解决方案。比如

\newcommand\addsubsec[1]{%
  \subsection*{#1}%
  \addcontentsline{toc}{subsection}{#1}%
}

似乎\xsimsetup{exercise/heading=\addsubsec}有一个更好的解决方案:

\documentclass{article}
\usepackage{xsim}

\newcommand\addsubsec[1]{%
  \subsection*{#1}%
  \addcontentsline{toc}{subsection}{#1}%
}

\xsimsetup{exercise/heading=\addsubsec}    

\begin{document}

\tableofcontents

\section{Exercises}
\begin{exercise}
  This is the first problem.
\end{exercise}

\begin{exercise}[subtitle=Another Problem]
  This is the second problem.
\end{exercise}

\end{document}

在此处输入图片描述

相关内容