すべての章番号が章タイトルの上に表示される章スタイル

すべての章番号が章タイトルの上に表示される章スタイル

私がデザインしている文書の一部として、文書内のすべての章番号を含む章スタイルを作成したいと思います。たとえば、全部で 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}

出力(少なくとも 2 回のコンパイル後):

ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください

ノードの境界線もフェードアウトしたい場合は、fill opacityを に置き換えるだけですopacity。これにより、テキストもフェードアウトしますが、この例では、テキストは白のままです。

章の最大数は を使用してハードコードされています。他の方法で取得できる可能性もありますが、最初のコンパイル サイクルでは の値が間違っている可能性が高い\pgfmathtruncatemacro{\chaptercount}{6}ため、計算が間違った値でも機能することを常に確認する必要があります。\chaptercount

関連情報