调整 amsbook 类中的 Section 样式

调整 amsbook 类中的 Section 样式

我想减少类中节标题前后的间距amsbook。因此,我按照文档中所示更改了宏的定义\@startsection。不幸的是,现在我的节标题不再居中,而是左对齐,而且我也失去了不在页面最后一行的属性。发生了什么,我如何恢复这两个属性,同时仍然更改前后\vskip

附言:我不想为此使用任何包。

这是我的 MWE

\documentclass[oneside]{amsbook} 
\makeatletter
\renewcommand\section{\@startsection{section{1}\z@{.3\linespacing\@plus\linespacing}{.0\linespacing}{\centering\normalfont\bfseries}}
\makeatother 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}
\begin{document} 
\section{StackExchange} 
\end{document}

答案1

第五个参数应该\@startsection是正数:

\documentclass[oneside]{amsbook}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{lipsum}

\makeatletter
\renewcommand\section{%
  \@startsection{section}{1}
    \z@
    {.3\linespacing\@plus\linespacing}
    {1sp}
    {\normalfont\bfseries\centering}%
}
\makeatother

\begin{document}

\section{StackExchange}
\lipsum[1]

\end{document}

长度 1sp 是可能的最小正长度(远小于可见光的波长)。

在此处输入图片描述

相关内容