我正在使用自己定义的目录,以便我们在目录中有指向问题的链接。现在,我该如何修改此代码,以便我们在目录中也有带有链接的子问题?
\documentclass{article}
\usepackage{amsthm,thmtools}
\theoremstyle{definition}
\newtheorem*{sol}{Solution}
\newtheorem{ques}{Question}
\makeatletter
\def\ll@ques{%
{\bfseries \thmt@thmname~ \protect\numberline{\theques.~}}}
\def\l@thmt@theorem{}
\makeatother
\usepackage[colorlinks,allcolors=blue,bookmarks=true]{hyperref}
\begin{document}
\title{Title}
\maketitle
\listoftheorems[ignoreall, show={ques},title = {Contents}]
\begin{ques}
This is a ques.
\end{ques}
\end{document}
我尝试enumerate
在问题之后使用环境,但这显然不会在目录中创建链接。我还尝试定义另一个名为的环境subques
,但我不知道如何更改此目录代码以包含指向另一个计数器的链接。此外,在这种情况下,我不知道如何对我的subques
、(ques no.)(i)
等进行编号。(ques no.)(ii)
该\numberwithin
命令使其成为(ques no.).1
、(ques no.).2
等。
请帮忙。
答案1
我以前从未遇到过这个thmtools
包,也不想深入研究它。获取子问题的一种方法是基本上重复您的ques
代码。
% subqinlistprob.tex SE 568134
\documentclass{article}
\usepackage{amsthm,thmtools}
\theoremstyle{definition}
\newtheorem*{sol}{Solution}
\newtheorem{ques}{Question}
\newtheorem{subques}{Subquestion}
\makeatletter
\def\ll@ques{%
{\bfseries \thmt@thmname~ \protect\numberline{\theques.~}}}
\def\l@thmt@theorem{}
\makeatother
\makeatletter
\def\ll@subques{%
{\bfseries \thmt@thmname~ \protect\numberline{\thesubques.~}}}
\def\l@thmt@theorem{}
\makeatother
\usepackage[colorlinks,allcolors=blue,bookmarks=true]{hyperref}
\begin{document}
\title{Title}
\maketitle
\listoftheorems[ignoreall, show={ques,subques},title = {Contents}]
\begin{ques}
This is a ques.
\begin{subques}
This is a subquestion.
\end{subques}
\begin{subques}
This is another subquestion.
\end{subques}
\end{ques}
\begin{ques}
This is another ques.
\begin{subques}
This is a subquestion.
\end{subques}
\end{ques}
\end{document}
这为如何将子问题放入目录中提供了一个答案。我意识到它没有回答您关于子问题编号和外观的问题,但这样就产生了 3 个问题,我们更喜欢一次只回答一个问题。也许thmtools
可以帮助解决其他问题。