我正在写一篇文章,内容需要用中英文显示。中文内容作为主要语言显示完美,但英文内容无法在每个章节标题开头显示“章节”。
我的(错误)
只有章节需要此项,而章节或小节不需要此项。
在我的主页上:
\begin{document}
\pagenumbering{Roman}\setcounter{page}{1}
\tableofcontents
\maketableofcontents %Chinese
\tableofengcontents %English
\cleardoublepage
\end{document}
在内容页的定义中:
%—————————English Contents—————————————
\makeatletter
\newcommand\engcontentsname{Contents}
\newcommand\tableofengcontents{%
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
\chapter*{\engcontentsname
\@mkboth{%
\MakeUppercase\engcontentsname}{\MakeUppercase\engcontentsname}}%
\@starttoc{toe}% !!!!Define a new contents!!!!
\if@restonecol\twocolumn\fi
}
\newcommand\addengcontents[2]{%
\addcontentsline{toe}{#1}{\protect\numberline{\csname the#1\endcsname}#2}}
\makeatother
\newcommand\echapter[1]{\addengcontents{chapter}{#1}}
\newcommand\esection[1]{\addengcontents{section}{#1}}
\newcommand\esubsection[1]{\addengcontents{subsection}{#1}}
\newcommand\esubsubsection[1]{\addengcontents{subsubsection}{#1}}
%—————————English Contents—————————————
我认为应该将“章节”插入到上面的某处?
如果有人能帮助我。非常感谢!!
答案1
该tocloft
包可以提供帮助,请阅读文档(texdoc tocloft
)。
English Contents
添加结束后
\usepackage{tocloft}
\renewcommand{\cftchappresnum}{Chapter } % put Chapter before number
\addtolength{\cftchapnumwidth}{4em} % Extra space for Chapter
这适用于我将你的代码渲染到 MWE(如下所示)的情况,当然,\maketableofcontents
由于你没有显示相关代码,因此无法处理。我不知道你的中文章节标题是否会受到影响。
% engchintocprob.tex SE 539522
\documentclass{report}
%—————————English Contents—————————————
\makeatletter
\newcommand\engcontentsname{Contents}
\newcommand\tableofengcontents{%
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
\chapter*{\engcontentsname
\@mkboth{%
\MakeUppercase\engcontentsname}{\MakeUppercase\engcontentsname}}%
\@starttoc{toe}% !!!!Define a new contents!!!!
\if@restonecol\twocolumn\fi
}
\newcommand\addengcontents[2]{%
\addcontentsline{toe}{#1}{\protect\numberline{\csname the#1\endcsname}#2}}
\makeatother
\newcommand\echapter[1]{\addengcontents{chapter}{#1}}
\newcommand\esection[1]{\addengcontents{section}{#1}}
\newcommand\esubsection[1]{\addengcontents{subsection}{#1}}
\newcommand\esubsubsection[1]{\addengcontents{subsubsection}{#1}}
%—————————English Contents—————————————
\usepackage{tocloft}
\renewcommand{\cftchappresnum}{Chapter }
\addtolength{\cftchapnumwidth}{4em}
\begin{document}
\pagenumbering{Roman}\setcounter{page}{1}
\tableofcontents
\maketableofcontents %Chinese
\tableofengcontents %English
\cleardoublepage
\echapter{First}
\end{document}