Стиль главы, где все номера глав отображаются над названием главы

Стиль главы, где все номера глав отображаются над названием главы

В рамках документа, который я разрабатываю, я хотел бы создать стиль главы, который включает все номера глав в документе. Например, если всего 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скорее всего, будет неправильным.

Связанный контент