我有一种常见的文档类型(拨款申请),它需要列出目标,通常列举为目标 1、目标 2 等。在下面的 MWE 中,一个article
类可以很好地在文档中正确格式化子部分标题,但我在目录方面遇到了麻烦。我正在更改\thesubsection
和使用\titleformat
该titlesec
包,以期使用该titletoc
包在定义的环境中更改条目的目录格式aims
。我希望目标在目录中列为目标 1、目标 2 等。
我遇到的情况:
\titlecontents
我作为环境的一部分设置的设置似乎aims
仍然存在后环境的结束。这与\titleformat
本地设置不同。\titleformat
与包中的设置不同,中的titlesec
默认设置未在文档中列出,因此我尝试更改默认设置,但只能不断尝试(此时,全是错误,因为我无法让它工作)。这些示例非常有价值;是否有类似的例子?\titlecontents
titletoc
titlesec
titletoc
MWE 关注
\documentclass[11pt]{article}
\usepackage {blindtext}
\usepackage {titlesec}
\usepackage {titletoc}
\newenvironment {aims} {
\renewcommand{\thesubsection}{{\arabic{subsection}}}
\titleformat{\subsection}{\normalfont\large\bfseries}{Aim
\thesubsection}{1em}{}
% example from titletoc docs to show that \titlecontents
% changes persist outside the group
\titlecontents{subsection} [3.8em]
{}{\contentslabel{5em}}{\hspace*{-5em} Aim }
{\titlerule*[1pc]{.}\contentspage}
}{}
\title {A document}
\author{me}
\begin{document}
\maketitle
\tableofcontents
\section {Introduction}
\blindtext
\begin {aims}
\section {Aims}
\subsection {This is an aim}
\blindtext
\subsection {This is another aim}
\blindtext
\end {aims}
\section {Details}
\blindtext
\subsection {Some more details}
\blindtext
\end{document}
答案1
这是一个温和的实现,它复制了from\aims
的行为\subsection
article.cls
:
\documentclass[11pt]{article}
\usepackage {blindtext}% http://ctan.org/pkg/blindtext
\makeatletter
% Taken from article.cls's \subsection and introduced it as \aim
\newcounter{aim}
\renewcommand{\theaim}{\arabic{aim}}
\newcommand\aim{\@startsection{aim}{2}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\normalfont\large\bfseries \hspace*{-\parindent}Aim~}}
\newcommand{\l@aim}{\@dottedtocline{2}{1.5em}{2.3em}}
\newcommand{\aimmark}[1]{}% You don't need any header marks for aims
\makeatother
\title {A document}
\author{me}
\begin{document}
\maketitle
\tableofcontents
\section {Introduction}
\blindtext
\section {Aims}
\aim {This is an aim}
\blindtext
\aim {This is another aim}
\blindtext
\section {Details}
\blindtext
\subsection {Some more details}
\blindtext
\end{document}
使用\aim
而不是\subsection
似乎更直观。当然,如果需要,也可以以不同的方式格式化“目标”标题;在文本/文档中以及在目录中。我刚刚使用了默认样式\subsection
(即\dottedtocline
,深度相当于\subsection
)。