格式化我的论文文档

格式化我的论文文档

我正在使用 撰写论文\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}
  1. 法语摘要为“Resume”,我希望将其改为“Abrégé”。我将其改为目录条目,但希望页面也显示“Abrégé”。
  2. 目录列出了摘要、法语摘要和致谢,但所有内容的页码都相同。单击后,它会转到正确的部分,但页码不正确。
  3. 标题页前面有一个空白页,并且有一个可见的页码 - 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}

相关内容