![在 revtex4 中将目录标题左对齐](https://linux22.com/image/306941/%E5%9C%A8%20revtex4%20%E4%B8%AD%E5%B0%86%E7%9B%AE%E5%BD%95%E6%A0%87%E9%A2%98%E5%B7%A6%E5%AF%B9%E9%BD%90.png)
我正在使用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