章节样式,所有章节编号均显示在章节标题上方

章节样式,所有章节编号均显示在章节标题上方

作为我正在设计的文档的一部分,我想创建一个章节样式,其中包含文档中的所有章节编号。例如,如果总共有 6 个章节,那么数字 1 到 6 应该出现在章节标题上方,如下所示:

在此处输入图片描述

在此处输入图片描述

数字应显示在 tikz 圆圈内,如上所示。当前章节编号应大于其余部分,并以深蓝色轮廓的蓝色圆圈突出显示。其余圆圈应填充单个水平渐变(轮廓渐变较深),使圆圈从深灰色逐渐变为白色,并与蓝色圆圈保持距离。到目前为止,我还没有能够做到这一点,非常感谢您的帮助。这是我目前所拥有的:

\documentclass[oneside,11pt,a4paper]{memoir}
\usepackage[margin=2.5cm]{geometry}
\usepackage{tikz}

\usepackage{titletoc}
\usepackage{lipsum}

\makechapterstyle{mystyle}{%
  \chapterstyle{default}
  \renewcommand*{\chapnumfont}{\normalfont\Huge\sffamily\bfseries}
  \renewcommand*{\chaptitlefont}{\normalfont\huge\sffamily\bfseries\color{black}}
  \renewcommand*{\printchapternum}{%
  \centering\begin{tikzpicture}[baseline={([yshift=-.775ex]current bounding box.center)}]
  \node[fill=blue!50,circle,text=white,draw=blue!50!black] {\thechapter};
  \end{tikzpicture}\\[1ex]}
  \renewcommand*{\printchaptertitle}[1]{%
    {\chaptitlefont ##1}}
}
\let\chaptername\relax
%use new chapter style
\chapterstyle{mystyle}
\begin{document}
\chapter{Logarithms}
\chapter{Exponentials}
\chapter{Determinants}
\chapter{Vectors}
\chapter{Differentiation}
\chapter{Integration}
\end{document}

任何有助于产生所需输出的帮助都将不胜感激。

答案1

有趣的想法。你可以这样做:

\documentclass[oneside,11pt,a4paper]{memoir}
\usepackage[margin=2.5cm]{geometry}
\usepackage{tikz}
\usetikzlibrary{positioning}

\usepackage{titletoc}

\pgfmathtruncatemacro{\chaptercount}{6}
\makechapterstyle{mystyle}{%
  \chapterstyle{default}
  \renewcommand*{\chaptername}{}
  \renewcommand*{\chapnumfont}{\Huge\sffamily\bfseries}
  \renewcommand*{\chaptitlefont}{\huge\sffamily\bfseries}
  \renewcommand*{\printchapternum}{%
  \centering\begin{tikzpicture}
  \coordinate (t0) at (0,0);
  \foreach \i [count=\j from 0] in {1,...,\chaptercount} {
    \pgfmathsetmacro{\opacity}{
        \i < \thechapter ? 
            1 / (\chaptercount - 1) * (\chaptercount - (\thechapter - \i)) :
            1 / (\chaptercount - 1) * (\chaptercount + (\thechapter - \i)) 
    }
    \ifnum\thechapter=\i\relax
        \node[
            circle, 
            right={10pt of t\j},
            fill={blue!50},
            draw={blue!50!black},
            text={white},
        ] (t\i) {\i};
    \else
        \node[
            circle, 
            right={10pt of t\j},
            fill=gray!50,
            draw=blue!50!black,
            text=white,
            fill opacity={\opacity},
            font=\small
        ] (t\i) {\i};
    \fi
  }
  \end{tikzpicture}
}
\renewcommand*{\printchaptertitle}[1]{%
  {\chaptitlefont ##1}}
}
%use new chapter style
\chapterstyle{mystyle}
\begin{document}
\chapter{Logarithms}
\chapter{Exponentials}
\chapter{Determinants}
\chapter{Vectors}
\chapter{Differentiation}
\chapter{Integration}
\end{document}

输出(至少经过两次编译):

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

如果你还想淡化节点边框,只需将其替换fill opacity为即可opacity。这实际上也会淡化文本,但在此示例中,文本无论如何都是白色的。

最大章节数使用 进行硬编码\pgfmathtruncatemacro{\chaptercount}{6}。也许可以通过其他方式获取它,但总是需要检查计算是否也适用于错误的值,因为在第一个编译周期中 的值\chaptercount可能是错误的。

相关内容