![如何使用 ExSheets 向目录添加字幕?](https://linux22.com/image/322780/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20ExSheets%20%E5%90%91%E7%9B%AE%E5%BD%95%E6%B7%BB%E5%8A%A0%E5%AD%97%E5%B9%95%EF%BC%9F.png)
exsheets
我知道如何使用键将问题添加到目录中questions-totoc
。
我希望目录中有问题副标题,这样我的学生(和我)一眼就能知道问题是什么。
如何向目录中添加字幕?
\documentclass{article}
\usepackage{exsheets}
\SetupExSheets{
headings=block-subtitle,
questions-totoc=true,
question/name=Question
}
\begin{document}
\tableofcontents
\begin{question}[subtitle=Gradient Vector]
\end{question}
\begin{question}[subtitle=Optimization]
\end{question}
\begin{question}[subtitle=Optimization with Constraints]
\end{question}
\begin{question}[subtitle={Proving Second Derivative Test for $f(x,y)$}]
\end{question}
\end{document}
我有一个想法是使用\IfQuestionSubtitleTF
有条件地添加到当前目录行。但是,我不知道如何添加到当前的目录行。
答案1
这对你有用吗?
\documentclass{article}
\usepackage{exsheets}
\def\questionName{Question}
\SetupExSheets{
headings=block-subtitle,
%questions-totoc=true,
question/name=\questionName
}
\newcommand{\QtoToC}[2]{
\begin{question}[subtitle=#1]
#2
\addcontentsline{toc}{subsection}{\questionName\space\thequestion. \emph{#1}}
\end{question}
}
\begin{document}
\tableofcontents
\QtoToC{Gradient Vector}
{} % <- the Q body goes here
\QtoToC{Optimization}
{}
\QtoToC{Optimization with Constraints}
{}
\QtoToC{{Proving Second Derivative Test for $f(x,y)$}}
{}
\QtoToC{}% Q without subtitle
{}
\end{document}
编辑:
根据他的评论,我认为@clemens 会使用这个::)
\documentclass{article}
\usepackage{exsheets}
\def\questionName{Question}
\SetupExSheets{
headings=block-subtitle,
question/name=\questionName,
question/pre-hook = \addcontentsline{toc}{subsection}{
\questionName\space\thequestion. \IfQuestionSubtitleT{\emph{\GetQuestionProperty{subtitle}{\CurrentQuestionID}}}
}
}
\begin{document}
\tableofcontents
\begin{question}[subtitle=Gradient Vector]
\end{question}
\begin{question}[subtitle=Optimization]
\end{question}
\begin{question}[subtitle=Optimization with Constraints]
\end{question}
\begin{question}[subtitle={Proving Second Derivative Test for $f(x,y)$}]
\end{question}
\begin{question}
\end{question}
\end{document}