使用 amsbook 类

使用 amsbook 类

我正在尝试弄清楚如何调整 amsbook 类的各种样式方面。例如,我希望章节和节标题左对齐而不是居中。此外,使用普通定理样式,我希望单词“定理”、“证明”等加粗。我还想弄清楚如何使定理不缩进。那么,有没有简单的方法可以实现这些目标,或者我最好基于 amsbook 类创建一个自定义书籍类?是否有其他可用的书籍类可能比 amsbook 类更容易设置样式?

答案1

这里有几个问题。

  1. 您可以定义新的页面样式来更改页眉格式。在我的示例代码中,这是通过定义 来完成的\ps@spheadings

  2. 您可以定义新的定理样式来更改定理类结构的格式。在我的示例代码中,这是通过定义来完成的\th@spplain。我使用低级命令定义了这种新样式,但您可以使用阿姆斯特丹包裹。

    \documentclass{amsbook}
    \usepackage{lipsum}
    
    \makeatletter
    \def\ps@spheadings{\ps@empty
      \def\@evenhead{\normalfont\scriptsize
          \rlap{\thepage}\hfil \leftmark{}{}}%
      \def\@oddhead{\normalfont\scriptsize
          \rightmark{}{}\hfil \llap{\thepage}}%
      \let\@mkboth\markboth
      \def\partmark{\@secmark\markboth\partrunhead\partname}%
      \def\chaptermark{%
        \@secmark\markboth\chapterrunhead{}}%
      \def\sectionmark{%
        \@secmark\markright\sectionrunhead\sectionname}%
    }
    \def\th@spplain{%
      \let\thm@indent\relax
      \thm@headfont{\bfseries}% heading font bold face
      \let\thmhead\thmhead@plain \let\swappedhead\swappedhead@plain
      \[email protected]\baselineskip\@plus.2\baselineskip
                                        \@minus.2\baselineskip
      \thm@postskip\thm@preskip
      \normalfont
    }
    \makeatother
    
    \theoremstyle{spplain}
    \newtheorem{theo}{Theorem}
    
    \pagestyle{spheadings}
    
    \begin{document}
    
    \chapter{A test chapter}
    \section{A test section}
    \begin{theo}
    \lipsum[1]
    \end{theo}
    \lipsum[1-30]
    
    \end{document}
    

虽然这两种修改都不难实现,但您应该仔细考虑这是否amsbook真的是最适合您的课程,或者是否有其他课程更适合您。

要定制类似定理的结构,您可以使用包amsthm(我已经提供了链接);定理如果您的文档类不是来自 AMS 集合,那么包也可能是一种可能性。

如果你决定不使用amsbook文档类,而是使用一些标准文档类,那么你可以使用以下任一方式自定义标题:花式高清或者标题安全包。

有哪些可用的“documentclass”类型及其用途?您可以找到一些可用文档类别的描述;此外amsbook,和book,文档类别scrbook和也memoir可以作为您的选择。

这是一个简单的示意图,展示文档类titlesec及其amsthm操作book

\documentclass[twoside]{book}
\usepackage{amsthm}
\usepackage[pagestyles]{titlesec}
\usepackage{lipsum}

\newpagestyle{mystyle}{
 \sethead[left-odd][center-odd][right-odd]{left-even}{center-even}{right-odd}
  \setfoot[left-odd][center-odd][right-odd]{left-even}{center-even}{right-odd}
}

\newtheoremstyle{mystyle}
{3pt}% ⟨Space above⟩
{3pt}% ⟨Space below⟩
{\normalfont}% ⟨Body font⟩
{}% ⟨Indent amount⟩
{\bfseries}% ⟨Theorem head font⟩
{.}% ⟨Punctuation after theorem head⟩
{.5em}% ⟨Space after theorem head⟩
{}% ⟨Theorem head spec (can be left empty, meaning ‘normal’)⟩
\theoremstyle{mystyle}
\newtheorem{theo}{Theorem}

\pagestyle{mystyle}

\begin{document}

\chapter{A test chapter}
\section{A test section}
\begin{theo}
\lipsum[1]
\end{theo}
\lipsum[1-30]

\end{document}

答案2

您可以使用包更改定理的样式和缩进amsthm,该包在使用时会自动加载amsbook。使用

\newtheoremstyle{mytheorem}% ⟨name⟩
{3pt}% ⟨Space above⟩
{3pt}% ⟨Space below⟩
{\itshape}% ⟨Body font⟩
{}% ⟨Indent amount⟩
{\bf}% ⟨Theorem head font⟩
{.}% ⟨Punctuation after theorem head⟩
{.5em}% ⟨Space after theorem head⟩
{}% ⟨Theorem head spec (can be left empty, meaning ‘normal’)⟩

\theoremstyle{mytheorem}

您也可以更改证明;请参阅 改变证明风格

如果你想要一个关于读书课程的推荐,我建议使用scrbook(部分KOMA 脚本捆绑包)。您需要加载要使用的任何 AMS 类,但 KOMA-Script 可以非常轻松地使用命令自定义书籍布局。它还有一个额外的好处(对您而言),即默认情况下将章节和部分左对齐。

答案3

关于类的各种样式方面amsbook,以下代码对我调整 Caption 和 Section 标题样式很有帮助。我只需将其粘贴到我的 LyX 文档的序言中即可。

caption包似乎可以与amsbook类一起使用。但是,sectsty该包无法与一​​起使用amsbook

\usepackage[format=plain,labelsep=period,justification=justified,
    singlelinecheck=false,font=small,labelfont=bf, margin=10pt]{caption}

\renewcommand{\section}{\@startsection
{section}%              % the name
{1}%                    % the level
{0mm}%                  % the indent
{-0.5\baselineskip}%    % the before skip
{0.25\baselineskip}%    % the after skip
{\normalfont\large\bf}} % the style

\renewcommand{\subsection}{\@startsection
{subsection}%                % the name
{2}%                         % the level
{0mm}%                       % the indent
{0mm}%                       % the before skip
{0.1mm}%                     % the after skip
{\normalfont\normalsize\bf}} % the style

\renewcommand{\subsubsection}{\@startsection
{subsubsection}%                % the name
{3}%                            % the level
{0mm}%                          % the indent
{0mm}%                          % the before skip
{0.1mm}%                        % the after skip
{\normalfont\normalsize\bf\it}} % the style

相关内容