Mil-Std 样式章节编号(带有自动参考编号生成和目录)

Mil-Std 样式章节编号(带有自动参考编号生成和目录)

我正在尝试创建一个结构类似于 Mil-Std 的文档,例如: 范围适用文档 Lorem Ipsum

我可以使用列表来实现这一点,但是我不想放弃自动目录构建、图形编号、索引生成等。

CTAN 上有一种 Mil-Std 样式,但是它有一个未知的许可证,所以我不想使用它(而且它是 1991 年的,似乎没有任何其他文档)。

我目前正在使用一个report文档类,它生成“章节”\n“范围”而不是这种索引。

看着“Tex 目录在线:备选类别”

2http://texcatalogue.ctan.org/bytopic.html#classes“Tex Catalog Online:Alternate Classes”,看起来“anonchap”很接近,但是格式不太一样。

有人知道如何做到这一点,同时又能保持 LaTeX 构建索引/目录/图形编号的能力吗?

[编辑] 对于那些以前没见过 Mil-Std 的人来说,这里有一个例子: 军用标准 464 维基百科上有关 MilSpecs 的内容如下:维基百科:美国军用标准

答案1

更改等的标题Chapters可能很繁琐。使用titlesec或修补相关的\@makechapterhead等和\@sect命令以及\l@section提供正确的间距和功能。(我已更改命令\l@section以允许目录中的左对齐节号。)

基本上,section风格似乎与\paragraph以下内容类似:一个(编号的)标题,后面跟着文本,中间没有垂直间距。

\documentclass{report}


\usepackage{tocloft}

\renewcommand{\cftchappresnum}{\raggedright}
\renewcommand{\cftsecpresnum}{\raggedright}

\addtolength{\cftchapnumwidth}{20pt}
\addtolength{\cftsecnumwidth}{20pt}


\newif\ifusedot
\usedottrue


\newcommand{\usedot}{%
  \ifusedot
  .%
  \fi
}

\makeatletter

\renewcommand*\l@section{\@dottedtocline{1}{0em}{3.5em}}

\def\@sect#1#2#3#4#5#6[#7]#8{%
  \ifnum #2>\c@secnumdepth
    \let\@svsec\@empty
  \else
    \refstepcounter{#1}%
    \protected@edef\@svsec{\@seccntformat{#1}\relax}%
  \fi
  \@tempskipa #5\relax
  \ifdim \@tempskipa>\z@
  \begingroup
  #6{%
    \@hangfrom{\hskip #3\relax\@svsec}%
    \interlinepenalty \@M #8 \@@par}%
  \endgroup
  \csname #1mark\endcsname{#7}%
  \addcontentsline{toc}{#1}{%
    \bfseries%
    \ifnum #2>\c@secnumdepth \else
    \protect\numberline{\csname the#1\endcsname}%
    \fi
    #7}%
  \else
    \def\@svsechd{%
      #6{\hskip #3\relax
      \@svsec #8}%
      \csname #1mark\endcsname{#7}%
      \addcontentsline{toc}{#1}{%
        \bfseries%
        \ifnum #2>\c@secnumdepth \else
        \protect\numberline{\csname the#1\endcsname}%
        \fi
        #7}}%
    \fi
    \@xsect{#5}
  }

\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright \normalfont
    \ifnum \c@secnumdepth >\m@ne
    \Huge\bfseries \thechapter\usedot\ 
    \nobreak
    \fi
    \interlinepenalty\@M
    \Huge \bfseries #1\par\nobreak
    \vskip 20\p@
  }}



\renewcommand\section{\@startsection {section}{1}{\z@}%
  {3.25ex \@plus1ex \@minus.2ex}%
  {-1em}%
  {\normalfont\Large\bfseries}}



\makeatother

\usepackage{blindtext}

\begin{document}
\tableofcontents 
\chapter{Scope}
\section{Proposition}
\blindtext
\chapter{Applications}


\end{document}

在此处输入图片描述

相关内容