目录中章节编号后的点

目录中章节编号后的点

我正在用 Lyx 写论文,我的导师有非常具体的编辑要求。他希望章节号后面ToC带点,但节号后面不带点。

这是来自文档类的代码:

\NeedsTeXFormat{LaTeX2e}

\def\@baseclass{report}
\def\@rodzajpracy{magisterska}
\DeclareOption{licencjacka}{\def\@rodzajpracy{licencjacka}}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\@baseclass}}
\PassOptionsToClass{a4paper,twoside,openright,12pt}{\@baseclass}
\ProcessOptions

\LoadClass{\@baseclass}


\renewcommand*\@seccntformat[1]{\csname the#1\endcsname\enspace}
\def\numberline#1{\hb@xt@\@tempdima{#1.\hfil}}
\renewcommand*\l@chapter[2]{%
  \ifnum \c@tocdepth >\m@ne
    \addpenalty{-\@highpenalty}%
    \vskip 1.0em \@plus\p@
    \setlength\@tempdima{1.5em}%
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode \bfseries
      \advance\leftskip\@tempdima
      \hskip -\leftskip
      #1\nobreak\mdseries
      \leaders\hbox{$\m@th
        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
        mu$}\hfill
      \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
      \penalty\@highpenalty
    \endgroup
  \fi}


\endinput
%%
%% End of file `book.cls'.

工作示例:

\documentclass[oneside,english]{book}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\usepackage{babel}
\begin{document}
\tableofcontents{}


\chapter{blabla}


\section{blab blab}


\chapter{bleble}


\section{bleb bleb}
\end{document}

这就是我得到的: 在此处输入图片描述

在 lyx->settings->document 类中添加 numbers=noenddot 不能解决问题

答案1

删除行

\def\numberline#1{\hb@xt@\@tempdima{#1.\hfil}}

从类代码中将的定义更改为\l@chapter如下形式:

\renewcommand*\l@chapter[2]{%
  \ifnum \c@tocdepth >\m@ne
    \addpenalty{-\@highpenalty}%
    \vskip 1.0em \@plus\p@
    \setlength\@tempdima{1.5em}%
    \begingroup
      \def\numberline##1{\hb@xt@\@tempdima{##1.\hfil}}%<------ this line added
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode \bfseries
      \advance\leftskip\@tempdima
      \hskip -\leftskip
      #1\nobreak\mdseries
      \leaders\hbox{$\m@th
        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
        mu$}\hfill
      \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
      \penalty\@highpenalty
    \endgroup
  \fi}

\numberline诀窍是仅对章节进行本地重新定义。

答案2

该包tocloft及其命令\cftchapaftersnum提供了在目录中的章节编号中添加“任何内容”的可能性,例如一个点.

\documentclass[oneside,english]{book}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\usepackage{tocloft}%
\usepackage{babel}

\renewcommand{\cftchapaftersnum}{.}%

\begin{document}
\tableofcontents

\chapter{blabla}


\section{blab blab}


\chapter{bleble}


\section{bleb bleb}
\end{document}

在此处输入图片描述

相关内容