![最终 PDF 包含目录“\thesection”前缀](https://linux22.com/image/433167/%E6%9C%80%E7%BB%88%20PDF%20%E5%8C%85%E5%90%AB%E7%9B%AE%E5%BD%95%E2%80%9C%5Cthesection%E2%80%9D%E5%89%8D%E7%BC%80.png)
当我解决练习列表时,我倾向于像这样修改 \thesection:
\renewcommand\thesection{Questão \arabic{section}}
我希望这些内容放在我的最终 PDF 目录中,不是打印在第一页的内容,而是被 pdf 阅读器读取的内容。
这里简单演示一下这个问题:
\documentclass[12pt]{article}
% Clickable Table of contents
\usepackage[hidelinks]{hyperref}
% Table of contents
\usepackage{tocloft}
\setlength{\cftsecnumwidth}{25mm} % Fix section width
\setlength{\cftsubsecnumwidth}{12mm}
% Fix space between subsection items on toc
\renewcommand\cftsubsecafterpnum{\vskip5pt}
% Multicols
\usepackage{multicol}
% Maths
\usepackage{amssymb}
\usepackage{amsmath}
% Section, Subsection and subsubsection Customization
\renewcommand\thesection{Questão \arabic{section}}
\renewcommand\thesubsection{%
\arabic{section} - \alph{subsection})%
}
\renewcommand\thesubsubsection{(\roman{subsubsection})}
\begin{document}
\setcounter{tocdepth}{2}
\tableofcontents
\break
% Q1
\section{}
\begin{multicols}{2}
% Q1 (i)
\subsubsection{$\alpha$}
\begin{flalign*}
&
= 2\,\beta + \theta
&
\end{flalign*}
% Q1 (ii)
\subsubsection{$\beta$}
\begin{flalign*}
&
= 1+3
&
\end{flalign*}
\end{multicols}
\break
% Q2
\section{}
% Q2 - a)
\subsection{}
\begin{flalign*}
&
\text{random calculations}\cdots
&
\end{flalign*}
% Q2 - b)
\subsection{Pie}
\begin{flalign*}
&
= \pi
&
\end{flalign*}
\end{document}
上述代码的最终内容表如下:
我希望在上图的蓝色区域显示:“问题 1”
Simon Dispa 提供的解决方案:
\documentclass[12pt]{article}
% Linguagem
\usepackage[portuguese]{babel} % Babel
% Table of contents
\setcounter{tocdepth}{2} % remove subsubsection from toc
% Multicols
\usepackage{multicol}
% Maths
\usepackage[fleqn]{amsmath}
\usepackage{amssymb}
% hyperref
\usepackage[hidelinks]{hyperref}
% Solutuion by Simon Dispa =====================>
% questions, subquestions and subsubquestions
% question
\newcounter{question}[section]
\renewcommand{\thequestion}{Questão \arabic{question}}
\newcommand{\question}[1]{
% reset inner counters
\setcounter{subquestion}{0}
\setcounter{subsubquestion}{0}
% add section*
\refstepcounter{question}
\section*{\thequestion\quad#1}
% add to toc
\addcontentsline{toc}{section}{%
\thequestion\quad#1%
}
}
% subquestion
\newcounter{subquestion}[subsection]
\renewcommand\thesubquestion{%
Q\arabic{question} - \alph{subquestion})%
}
\newcommand{\subquestion}[1]{
% reset inner counters
\setcounter{subsubquestion}{0}
% add subsection*
\refstepcounter{subquestion}
\subsection*{\thesubquestion\quad#1}
% add to toc
\addcontentsline{toc}{subsection}{%
\thesubquestion\quad#1%
}
}
% subsubquestion
\newcounter{subsubquestion}[subsubsection]
\renewcommand{\thesubsubquestion}{(\roman{subsubquestion})}
\newcommand{\subsubquestion}[1]{
% add subsubsection*
\refstepcounter{subsubquestion}
\subsubsection*{\thesubsubquestion\quad#1}
% add to toc
\addcontentsline{toc}{subsubsection}{%
\thesubsubquestion\quad#1%
}
}
% Solutuion by Simon Dispa =====================>
\begin{document}
\setcounter{tocdepth}{2}
\tableofcontents
\break
% Q1
\question{}
\begin{multicols}{2}
% Q1 (i)
\subsubquestion{$\alpha$}
\begin{flalign*}
&
= 2\,\beta + \theta
&
\end{flalign*}
% Q1 (ii)
\subsubquestion{$\beta$}
\begin{flalign*}
&
= 1+3
&
\end{flalign*}
\end{multicols}
\newpage
% Q2
\question{}
% Q2 - a)
\subquestion{}
\begin{flalign*}
&
\text{random calculations}\cdots
&
\end{flalign*}
% Q2 - b)
\subquestion{}
% Q2 - b) (i)
\subsubquestion{Pie}
\begin{flalign*}
&
= \pi
&
\end{flalign*}
\newpage
% Q3
\question{}
% Q3 - a)
\subquestion{}
% Q3 - b)
\subquestion{}
% Q3 - c)
\subquestion{}
\newpage
% Q4
\question{}
\begin{multicols}{2}
% Q4 (i)
\subsubquestion{$\alpha$}
\begin{flalign*}
&
E = mc
&
\end{flalign*}
% Q4 (ii)
\subsubquestion{$\beta$}
\begin{flalign*}
&
E = mc^2
&
\end{flalign*}
% Q4 (iii)
\subsubquestion{$\gamma$}
\begin{flalign*}
&
E = mc^3
&
\end{flalign*}
% Q4 (iv)
\subsubquestion{$\delta$}
\begin{flalign*}
&
E = mc^4
&
\end{flalign*}
\end{multicols}
\end{document}
提前致谢
- 编辑 1:根据 Peter Wilson 的要求添加 MWE
- 编辑 2:添加 Simon Dispa 的解决方案
答案1
我没有重新定义\section
、\subsection
等,而是定义了三个带有自己计数器的新命令。
\question
其行为类似于\section*{}
排版Questão <question number>
,并向目录中添加了一个章节条目。
\option
其行为类似于\subsection{}
排版<question number> - < option number>)
,并向目录中添加一个小节条目。
\optionM{optitle}
行为类似于\subsubsection{title}
和 排版 (optionM number) optitle
。
\option
并且\optionM
也可以在双列模式下工作。它们必须在 之后使用\question
。
pdf 中的书签是由包创建的bookmark
。
也可以hyperref
使用,但我发现bookmark
设置起来更容易。选项 #2:\usepackage[bookmarks,bookmarksopen,bookmarksdepth=2,hidelinks]{hyperref}
你的问题
这是代码。
\documentclass[12pt]{article}
% Table of contents
\usepackage{tocloft}
\setlength{\cftsecnumwidth}{25mm} % Fix section width
\setlength{\cftsubsecnumwidth}{12mm}
% Fix space between subsection items on toc
\renewcommand\cftsubsecafterpnum{\vskip5pt}
% Multicols
\usepackage{multicol}
% Maths
\usepackage{amssymb}
\usepackage{amsmath}
\newcounter{question}[section]
\newcommand{\question}{% starts a question numbered sequentially
\setcounter{option}{0} % reset inner counters
\setcounter{optionM}{0}
\refstepcounter{question}%
\section*{Questão \thequestion}%
\addcontentsline{toc}{section}{Questão \thequestion}% add section* to toc
}
\newcounter{option}[subsection]
\newcommand{\option}{%
\refstepcounter{option}%
\subsection*{\thequestion-\alph{option})}%
\addcontentsline{toc}{subsection}{\thequestion-\alph{option}}%
}
\newcounter{optionM}[subsubsection]
\newcommand{\optionM}[1]{%
\refstepcounter{optionM}%
\subsubsection*{(\roman{optionM}) #1}%
% \addcontentsline{toc}{subsubsection}{\thequestion (\alph{optionM})}% optional for \setcounter{tocdepth}{3} <<<<
}
% Clickable Table of contents
\usepackage[hidelinks]{hyperref}% option #1
\usepackage[open]{bookmark}% option #1
%\usepackage[bookmarks,bookmarksopen,bookmarksdepth=2,hidelinks]{hyperref} % option #2
\begin{document}
\setcounter{tocdepth}{2}
\tableofcontents
\newpage
% Q1
\question
\begin{multicols}{2}
% Q1 (i)
\optionM{$\alpha$}
\begin{flalign*}
&
= 2\,\beta + \theta
&
\end{flalign*}
% Q1 (ii)
\optionM{$\beta$}
\begin{flalign*}
&
= 1+3
&
\end{flalign*}
\end{multicols}
%\newpage
% Q2
\question
% Q2 - a)
\option
\begin{flalign*}
&
\text{random calculations}\cdots
&
\end{flalign*}
\option % Q2 - b)
% \subsection{Pie}
\begin{flalign*}
&
= \pi
&
\end{flalign*}
%\newpage
\question %Q3
\option % Q3 - a)
\option % Q3 - b)
\option % Q3 - c)
%\newpage
% Q4
\question
\begin{multicols}{2}
% Q4 (i)
\optionM{$\alpha$}
\begin{flalign*}
&
E = mc
&
\end{flalign*}
% Q4 (ii)
\optionM{$\beta$}
\begin{flalign*}
&
E = mc^2
&
\end{flalign*}
% Q4 (iii)
\optionM{$\gamma$}
\begin{flalign*}
&
E = mc^3
&
\end{flalign*}
% Q4 (iv)
\optionM{$\delta$}
\begin{flalign*}
&
E = mc^4
&
\end{flalign*}
\end{multicols}
\end{document}
笔记如果您希望\optionM
其行为像\option
,出现在目录和书签中,请使用
\newcounter{optionM}[subsection]
\newcommand{\optionM}[1]{%
\refstepcounter{optionM}%
\subsection*{(\roman{optionM}) #1}%
\addcontentsline{toc}{subsection}{\thequestion (\alph{optionM})}
}