在 revtex4 中将目录标题左对齐

在 revtex4 中将目录标题左对齐

我正在使用revtex4,我想将目录标题向左对齐,在下面的示例中,我将其自定义为“我的目录标题”。您能帮我吗?

谢谢

\documentclass[onecolumn,aps,superscriptaddress,floats]{revtex4}

\def\tocname{\large{My Title of Table of Contents}}

\begin{document}

\title{Title}
\author{Author}
\affiliation{Affiliation}

\maketitle

\tableofcontents

\section{First Section}
\section{Second Section}

\end{document}

答案1

一种可能性是定义一个用于目录的不规则右侧变体:

\documentclass[onecolumn,aps,superscriptaddress,floats]{revtex4}

\def\tocname{My Title of Table of Contents}

\usepackage{etoolbox}

\makeatletter
\patchcmd{\print@toc}
  {\section}
  {\rrsection}
  {}
  {}
\def\rrsection{%
  \@startsection
    {section}%
    {1}%
    {\z@}%
    {0.8cm \@plus1ex \@minus .2ex}%
    {0.5cm}%
    {\normalfont\large\bfseries\raggedright}%
}
\makeatother

\begin{document}

\title{Title}
\author{Author}
\affiliation{Affiliation}

\maketitle

\listoffigures
\listoftables
\tableofcontents

\section{First Section}
\section{Second Section}

\end{document}

在此处输入图片描述

使用上面的代码,更改也将应用于 LoF 和 LoT,这似乎是保持一致性的一个好选择。但是,如果不希望这样,并且更改必须仅应用于 ToC,则需要进行一些其他工作:

\documentclass[onecolumn,aps,superscriptaddress,floats]{revtex4}
\def\tocname{My Title of Table of Contents}

\usepackage{etoolbox}

\makeatletter
\let\oldprint@toc\print@toc
\patchcmd{\oldprint@toc}
  {\section}
  {\rrsection}
  {}
  {}
\patchcmd{\tableofcontents}
  {\print@toc}
  {\oldprint@toc}
  {}
  {}
\def\rrsection{%
  \@startsection
    {section}%
    {6}%
    {\z@}%
    {0.8cm \@plus1ex \@minus .2ex}%
    {0.5cm}%
    {\normalfont\large\bfseries\raggedright}%
}
\makeatother

\begin{document}

\title{Title}
\author{Author}
\affiliation{Affiliation}

\maketitle

\listoffigures
\listoftables
\tableofcontents

\section{First Section}
\section{Second Section}

\end{document}

在此处输入图片描述

评论

  • 请注意,使用我的代码,目录标题的字体大小更改是在新部分单元的定义中完成的,而不是在内部完成的\tocname

  • \large(和类似的字体开关)不是带有参数的命令,因此您应该使用{\large <text>}而不是,并在离开组之前\large{<text>}添加(如果需要)。\par

相关内容