我正在与
\documentclass[12pt,twoside,openright]{amsbook}
我希望:
章节标题位于页面中央
章节标题左对齐(例如:3. 第三节)
在目录中,章节的完整标题以及(由于这些标题有时很长)运行标题与章节相同时应采用缩写形式(因此与目录中出现的内容不同)。
查看本网站的答案,如果我解决一个问题,例如使用titlesec
,我会发现其他问题。显然所有这些条件不能同时满足!
例如,如果该部分的命令是
\section[Short form]{Full title of Section}
那么 1. 和 3. 是可以的,但 2. 不可以。如果我在主文件中放入
\usepackage{titlesec}
\newcommand*{\justifyheading}{\raggedright}
\titleformat{\chapter}[display]
{\normalfont\bfseries\justifyheading}{\chaptertitlename\ \thechapter}
{20pt}{\large}
\titleformat{\section}
{\normalfont\bfseries\justifyheading}{\thesection}{1em}{}
\titleformat{\subsection}
{\normalfont\bfseries\justifyheading}{\thesubsection}{1em}{}
然后,在章节文件中,
\section[Short form]{Full title of Section}
然后,页眉正确地采用了缩写形式,文本中的章节采用了全名,并且按照我的意愿左对齐,但在目录中,我读到了章节的缩写形式(而且,缩写形式的首字母与章节的编号重叠)。
答案1
这是一个解决方案。ams 书定义部分:
\def\section{\@startsection{section}{1}%
\z@{.7\linespacing\@plus\linespacing}{.5\linespacing}%
{\normalfont\bfseries\centering}}
所以解决办法是删除\centering
\documentclass[12pt]{amsbook} %twoside,openright are defaut option of (ams)book
\makeatletter
\renewcommand\section{\@startsection{section}{1}%
\z@{.7\linespacing\@plus\linespacing}{.5\linespacing}%
{\normalfont\bfseries}}
\makeatother
\begin{document}
\tableofcontents
\chapter{First}
\section{Foo}
some text just dummy text
\section[Bar, long section's title]{Bar, very very very very very very very very very very very long section's title}
some text just dummy text
\newpage
some text just dummy text
some text just dummy text
\newpage
some text just dummy text
some text just dummy text
\newpage
some text just dummy text
\chapter{First}
\section{Foo}
some text just dummy text
\section{Foo}
some text just dummy text
\end{document}