修改章节标题

修改章节标题

我正在使用文档类report,并决定章节标题使用 Vincent Zoonekynd 的预定义样式之一,如下所示:

\documentclass{report}
\usepackage{xcolor}
\makeatletter
\def\LigneVerticale{\vrule height 1.5cm depth 0.9cm\hspace{0.1cm}\relax}
\def\LignesVerticales{%
  \let\LV\LigneVerticale\LV\LV\LV\LV\LV\LV\LV\LV\LV\LV}
\def\GrosCarreAvecUnChiffre#1{{\setlength{\fboxsep}{-\fboxrule}%
  \fbox{\color{white}%
  \rlap{\vrule height 0.8cm width 1cm depth 0.2cm}%
  \rlap{\hbox to 1cm{\hss\mbox{\color{black}#1}\hss}}%
  \vrule height 0pt width 1cm depth 0pt}}}
\def\@makechapterhead#1{
    \vspace*{-20pt}
    \hbox{%
    \huge\bfseries
    \LignesVerticales
    \hspace{-0.5cm}%
    \GrosCarreAvecUnChiffre{\thechapter}
    \hspace{0.2cm}\hbox{#1}%
}\par\vskip 0.5cm}
\def\@makeschapterhead#1
    \vspace*{-20pt}
   {\hbox{%
    \huge\bfseries
    \LignesVerticales
    %\hspace{0.5cm}%
    \hbox{#1}%
}\par\vskip 0.3cm}
\makeatother

    \begin{document}
    \chapter{Here we go}
    \end{document}

然而,我想做出一些改变。

  1. 我需要将所有构造移至页面上方,换句话说,以使任何页面顶部和构造之间的空间更小。

  2. 我想换小盒子。我更喜欢白色方块加黑色数字(而不是这种黑色方块加白色数字)。

答案1

  1. 由于您已重新定义\@makechapterhead\@makeschapterhead(分别负责使用\chapter和创建整个章节标题\chapter*),因此章节标题从文本块的顶部开始。您可能指的是将整个文本块向上移动(或减少顶部边距)。为此,我建议使用geometry

  2. 以下是提供所需内容的 MWE。但是,插入带有黑色数字的白色块不会按需要显示:

    在此处输入图片描述

    \documentclass{report}
    \usepackage{showframe}% http://ctan.org/pkg/showframe
    \usepackage{xcolor}% http://ctan.org/pkg/xcolor
    
    \makeatletter
    \def\LigneVerticale{\vrule height 2cm depth 1.4cm\hspace{0.1cm}\relax}
    \def\LignesVerticales{%
      \let\LV\LigneVerticale\LV\LV\LV\LV\LV\LV\LV\LV\LV\LV}
    \def\GrosCarreAvecUnChiffre#1{{%
      \color{white}%
      \rlap{\vrule height 0.8cm width 1cm depth 0.2cm}%
      \rlap{\hbox to 1cm{\hss\mbox{\color{black}#1}\hss}}%
      \vrule height 0pt width 1cm depth 0pt}}
    
    \def\@makechapterhead#1{\hbox{%
        \huge\bfseries
        \LignesVerticales
        \hspace{-0.5cm}%
        \GrosCarreAvecUnChiffre{\thechapter}
        \hspace{0.2cm}\hbox{#1}%
    }\par\vskip 0.3cm}
    
    \def\@makeschapterhead#1{\hbox{%
        \huge\bfseries
        \LignesVerticales
        %\hspace{0.5cm}%
        \hbox{#1}%
    }\par\vskip 0.3cm}
    \makeatother
    
    \begin{document}
    
    \chapter{A chapter}
    
    \end{document}
    

    以下定义\GrosCarreAveUnChiffre

    \def\GrosCarreAvecUnChiffre#1{{\setlength{\fboxsep}{-\fboxrule}%
      \fbox{\color{white}%
      \rlap{\vrule height 0.8cm width 1cm depth 0.2cm}%
      \rlap{\hbox to 1cm{\hss\mbox{\color{black}#1}\hss}}%
      \vrule height 0pt width 1cm depth 0pt}}}
    

    产生一个盒子章节编号:

    在此处输入图片描述

    另一种选择是垂直移动标题结构,方法是使用

    \def\@makechapterhead#1{%
      \vspace*{\dimexpr-\headsep-\headheight-\baselineskip}%
      \hbox{%
        \huge\bfseries
        \LignesVerticales
        \hspace{-0.5cm}%
        \GrosCarreAvecUnChiffre{\thechapter}
        \hspace{0.2cm}\hbox{#1}%
    }\par\vskip 0.3cm}
    
    \def\@makeschapterhead#1{%
      \vspace*{\dimexpr-\headsep-\headheight-\baselineskip}%
      \hbox{%
        \huge\bfseries
        \LignesVerticales
        %\hspace{0.5cm}%
        \hbox{#1}%
    }\par\vskip 0.3cm}
    

    这会将垂直线移至页眉顶部。当然,\vspace*用固定尺寸(例如-30pt)替换其中的表达式将使其垂直位移该量。

    在此处输入图片描述

    showframe被添加来突出显示文本块边界(响应上面的(1))。

相关内容