我正在使用 撰写论文\documentclass[report]
,论文摘要部分有英文和法文。我使用 切换了语言\selectlanguage[french]
。我还使用 添加了致谢\chapter*{Acknowledgements}
。我的代码如下所示(我有其他软件包 - 此处未显示)。
\documentclass[12pt, Bold]{report}
\usepackage{tocbibind}
\usepackage[english,french]{babel}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage{chngpage}
\usepackage{titlesec}
\titleformat{\chapter}[display]{\large\centering}{CHAPTER\ \thechapter}{0 pt}{ \Large\centering \vspace{-0.1in}}[\vspace*{-0.3in}]
\titleformat{\section} [hang] {\large\bf} {\large\thesection} {5pt} {\large} []
\titleformat{\subsection} [hang] {\bf} {\thesubsection} {5pt} {} []
\usepackage[hidelinks]{hyperref}
\begin{document}
\title{ Title commands \thispagestyle{empty}}
\makettile
\selectlanguage{english}
\begin{abstract}
text here
\end{abstract}
\phantomsection
\clearpage
\addcontentsline{toc}{section}{Abstract}
\selectlanguage{french}
\begin{abstract}
text here
\end{abstract}
\phantomsection
\clearpage
\addcontentsline{toc}{section}{Abr\'{e}g\'{e}}
\selectlanguage{english}
\chapter*{\large\textbf{Acknowledgements}}
text here
\clearpage
\phantomsection
\addcontentsline{toc}{section}{Acknowledgements}
\end{document}
- 法语摘要为“Resume”,我希望将其改为“Abrégé”。我将其改为目录条目,但希望页面也显示“Abrégé”。
- 目录列出了摘要、法语摘要和致谢,但所有内容的页码都相同。单击后,它会转到正确的部分,但页码不正确。
- 标题页前面有一个空白页,并且有一个可见的页码 - 2。
我在这里查看了与这些问题相关的几个问题,但无法重新创建针对我的文档建议的修复。这些问题可以修复吗?
答案1
该类report
的环境管理非常奇怪abstract
,每次使用时都会将页面计数器重置为 1。标题页也是如此,因此我建议首先删除此重置。
接下来,看到摘要的格式与致谢章节不同会很奇怪;由于您的章节标题样式非常不显眼,因此最好将摘要与章节放在同一级别。
我还更改了章节标题的规范,删除了两个只会造成损坏的指令,并将“第 x 章”位设置为正常大小,因为和\vspace
之间的差异并不明显。永远不要使用或类似的两个字母的字体更改命令,它们已被弃用二十多年了。\large
\Large
\bf
如何更改语言?如果您的主要语言是英语,则该选项应在加载时排在最后babel
。要设置法语摘要,请使用环境(在序言中otherlanguage
重新定义,使用)。\abstractname
\addto\captionsfrench
连同 的重新定义abstract
和 的定义acknowledgments
,以下是代码。
\documentclass[12pt]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french,english]{babel}
\usepackage[nottoc]{tocbibind} % nottoc, or the contents will go in the contents
\usepackage{graphicx}
\usepackage{setspace}
\usepackage{chngpage}
\usepackage{titlesec}
\usepackage{etoolbox}
\usepackage[hidelinks]{hyperref}
%%% patch titlepage to not reset the page number
\makeatletter
\patchcmd{\titlepage}
{\setcounter{page}\@ne}
{}
{}{}
\patchcmd{\endtitlepage}
{\setcounter{page}\@ne}
{}
{}{}
\makeatother
\titleformat{\chapter}[display]
{\bfseries\centering}
{\MakeUppercase{\chaptername}\ \thechapter}
{0pt}
{\Large}
\titleformat{\section}[hang]
{\large\bfseries}
{\thesection}
{5pt}
{}
\titleformat{\subsection}[hang]
{\bfseries}
{\thesubsection}
{5pt}
{}
\addto\captionsfrench{\renewcommand{\abstractname}{Abr\'eg\'e}}
\renewenvironment{abstract}[1][\abstractname]
{\clearpage\phantomsection\addcontentsline{toc}{chapter}{#1}%
\chapter*{#1}}
{\clearpage}
\newenvironment{acknowledgments}
{\begin{abstract}[Acknowledgments]}
{\end{abstract}}
\begin{document}
\title{Title commands}
\author{Some Body}
\maketitle
\tableofcontents
\begin{abstract}
text here
\end{abstract}
\begin{otherlanguage}{french}
\begin{abstract}
text here
\end{abstract}
\end{otherlanguage}
\begin{acknowledgments}
text here
\end{acknowledgments}
\chapter{Here it begins}
text here
\end{document}
答案2
abstract
使用titlepage
环境,将页码明确设置为 1,删除它的最简单方法是重新定义 titlepage 环境。
我还重新定义了abstract
环境,以便它自动在内容部分级别添加目录条目\abstractname
。
法语的抽象名称可以通过 来改变\renewcommand
。
链接指向正确的页面,并且页码现在是连续的。
\documentclass[12pt, Bold]{report}
\usepackage{tocbibind}
\usepackage[english,french]{babel}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage{chngpage}
\usepackage{titlesec}
\usepackage{etoolbox}%
\usepackage{blindtext}%
\usepackage{letltxmacro}%
\titleformat{\chapter}[display]{\large\centering}{CHAPTER\ \thechapter}{0 pt}{ \Large\centering \vspace{-0.1in}}[\vspace*{-0.3in}]
\titleformat{\section} [hang] {\large\bf} {\large\thesection} {5pt} {\large} []
\titleformat{\subsection} [hang] {\bf} {\thesubsection} {5pt} {} []
\usepackage[hidelinks]{hyperref}
\LetLtxMacro\StandardAbstract\abstract
\let\StandardAbstractEnd\endabstract
\makeatletter
\renewenvironment{titlepage}
{%
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse\newpage
\fi
\thispagestyle{empty}%
%%% Resetting of the page number --> unwanted here
% \setcounter{page}\@ne
}%
{\if@restonecol\twocolumn \else \newpage \fi
\if@twoside\else
%%% Resetting of the page number --> unwanted here
% \setcounter{page}\@ne
\fi
}% End of renewenvironment{titlepage}
\renewenvironment{abstract}{%
\phantomsection%
\StandardAbstract%
\addcontentsline{toc}{section}{\abstractname}%
}
{\StandardAbstractEnd\clearpage}%
\makeatother
\begin{document}
\title{ Title commands \thispagestyle{empty}}
\maketitle
\tableofcontents
\clearpage
\selectlanguage{english}
\begin{abstract}
\blindtext%
\end{abstract}
\selectlanguage{french}
\renewcommand{\abstractname}{Abr\'{e}g\'{e}}
\begin{abstract}
\blindtext
\end{abstract}
\blindtext
\selectlanguage{english}
\phantomsection
\chapter*{\large\textbf{Acknowledgements}}
\addcontentsline{toc}{chapter}{Acknowledgements}
text here
\clearpage
\end{document}