如何将子问题输入目录?

如何将子问题输入目录?

我正在使用自己定义的目录,以便我们在目录中有指向问题的链接。现在,我该如何修改此代码,以便我们在目录中也有带有链接的子问题?

\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可以帮助解决其他问题。

相关内容