如何使用 \@makechapterhead 内部代码实现 \fcolorbox 效果

如何使用 \@makechapterhead 内部代码实现 \fcolorbox 效果

我问的问题受到我迄今为止找到的部分解决方案的影响。如果有更简单的方法,这可能是一个错误的问题。无论如何,我需要将章节标题放在灰色框内。我能够使用在书名页上执行此操作\fcolorbox,但无法在章节中获得相同的效果。我尝试了 titlesec 包,但发现很难理解文档。我也看了 memoir 包,它的长度给我留下了深刻的印象。不幸的是,我现在不能花几周时间来研究和理解它。

然后在第一个答案中此链接我找到了一种看起来很有希望的深入研究引擎的方法。Werner 提供了足够的解释,让我了解他使用的方式,\@makechapterhead并开始自定义代码以获得我需要的东西。然而,我不知道如何将该代码与命令合并\fcolorbox以获得相同的章节效果。我意识到这是两个不同级别的编码,一个是基于包的,另一个是内部的。我查看了颜色包,但里面的内部代码有点吓人,所以我停止了尝试。这是我的测试代码:

\documentclass[11pt,a4paper]{book}
\usepackage{color}
\definecolor{verylightgray}{rgb}{0.95,0.95,0.95}
\usepackage[left=2cm, top=4cm, right=2cm]{geometry}
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\renewcommand{\thechapter}{\Alph{chapter}.\ \ }

\makeatletter
\def\@makechapterhead#1{
    \vspace*{50\p@}
    {\parindent \z@ \centering \normalfont
      \ifnum \c@secnumdepth >\m@ne
        \if@mainmatter
        %\huge\bfseries \@chapapp\space \thechapter
        \huge\bfseries \thechapter
        %\par\nobreak
        %\vskip 20\p@
        \fi
      \fi
    \interlinepenalty\@M
    \Huge \bfseries #1\par\nobreak
%       \vskip 40\p@
    \clearpage
    }
}
\makeatother
\begin{document}
\setlength{\fboxrule}{0.8pt}
\fcolorbox{black}{verylightgray}{
\parbox{15cm}
{\begin{center}
\vspace{0.5cm}
\textbf{\huge Book Title}
\vspace{0.5cm}
\end{center}}}
\chapter{Introduction}
\section{Objectives and Motivation}
\end{document}

作为一个子问题,这个问题似乎太小,不能作为一个单独的问题提出,在最后一页上,您可以看到章节标签出现在节号之前。是否可以将“A. .1 ”更改为简单的“1. ”?您可以忽略默认的页眉和页码,它们只是显示在此测试代码中,而不是在实际文档中。非常感谢。

答案1

非常感谢 Dmitriy,他向我展示了我所寻找的东西,请参阅这里

我确实尝试了 Memoir,但不幸的是我无法让它发挥作用。

根据 Dmitriy 对我的问题的回答,我得到了以下代码:

\documentclass[11pt,a4paper]{book}
\usepackage{color}
\definecolor{verylightgray}{rgb}{0.95,0.95,0.95}
\usepackage[left=2cm, top=4cm, right=2cm]{geometry}
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\renewcommand{\thechapter}{\Alph{chapter}}
\makeatletter
\def\@makechapterhead#1{
\vspace*{5cm}
  {\parindent \z@ \centering \normalfont
    \fcolorbox{black}{verylightgray}{%
    \setlength{\fboxsep}{10mm}%
    \setlength{\fboxrule}{0mm}%
    \framebox[\textwidth][c]{
    \Large\bfseries \thechapter.\quad  #1\par\nobreak
    }}
    \par\nobreak
    \clearpage
}}
\makeatother
\begin{document}
\setlength{\fboxrule}{0.8pt}
\fcolorbox{black}{verylightgray}{
\parbox{15cm}
{\begin{center}
\vspace{0.5cm}
\textbf{\huge Book Title}
\vspace{0.5cm}
\end{center}
}}
\chapter{Introduction}
\section{Objectives and Motivation}
\end{document}

相关内容