我正在用 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}