latexで添付したテキストのようなpagestyleを作りたいと思い,jlreqの\NewPageStyleを用いて,以下のようにpagestyleをカスタマイズしていました。
\NewPageStyle{thumbindexstyle}{%
running_head_position={top-right},
odd_running_head={_section},
even_running_head={_chapter},
mark_format={
_section={\S \thesection\hspace{1\zw}#1},
_chapter={第\thechapter 回\hspace{1\zw}#1}
},
odd_head_format={
#1\hspace{3\zw}
\begin{tikzpicture}
\useasboundingbox (0,0) rectangle (0,0) ;
\node[anchor=south west] at(1\zw,-0.35\zw) {\thepage} ;
\fill[black] (0,-0.2) -- (-0.35,-0.2) -- (-0.35,2) -- (0,2) -- cycle ;
% ツメ(奇数ページ)
\pgfmathparse{mod(\thechapter,13) == 0 ? 1 : mod(\thechapter, 13)}
\let\modchapter=\pgfmathresult
% \textheight の 1/12 を計算
\pgfmathparse{1/12*\textheight}
\let\calcheight=\pgfmathresult
% \calcheight × \modchapter の座標を計算
\pgfmathparse{\calcheight*(\modchapter-1)+\headsep}
\let\yt=\pgfmathresult
% \calcheight × (\modchapter - 1) の座標を計算
\pgfmathparse{\calcheight*\modchapter+\headsep}
\let\yb=\pgfmathresult
% 塗りつぶし
\fill[black,rounded corners=5pt] (1,-\yt pt) -- (1,-\yb pt) -- (3,-\yb pt) -- (3,-\yt pt) -- cycle ;
\end{tikzpicture}
},
even_head_format={
\begin{tikzpicture}
\useasboundingbox (0,0) rectangle (0,0) ;
% ページ番号と見出しの境界線
\node[anchor=south east] at(-1\zw,-0.35\zw) {\thepage} ;
\fill[black] (0,-0.2) -- (0.35,-0.2) -- (0.35,2) -- (0,2) -- cycle ;
% ツメ(偶数ページ)
\pgfmathparse{mod(\thechapter,13) == 0 ? 1 : mod(\thechapter, 13)}
\let\modchapter=\pgfmathresult
% \textheight の 1/1 を計算
\pgfmathparse{1/12*\textheight}
\let\calcheight=\pgfmathresult
% \calcheight × \modchapter の座標を計算
\pgfmathparse{\calcheight*(\modchapter-1)+\headsep}
\let\yt=\pgfmathresult
% \calcheight × (\modchapter - 1) の座標を計算
\pgfmathparse{\calcheight*\modchapter+\headsep}
\let\yb=\pgfmathresult
% 塗りつぶし
\fill[black,rounded corners=5pt] (-1,-\yt pt) -- (-1,-\yb pt) -- (-3,-\yb pt) -- (-3,-\yt pt) -- cycle ;
\end{tikzpicture}
\hspace{3\zw}#1
}
}
ここで,ツメはchapterが変わるごとにその位置をリセットしていき,ツメ一つの大きさは\textheightの1/12の大きさになるようにし,また,chapterが13に達すると,ツメの位置がchapter 1のときの位置に戻り,以後繰り返していくようにしました。
このコードでコンパイルすると,chapter 1からchapter 12までは期待通りに出力されました。しかし,chapter 13とchapter 14のときのツメが同じ高さに出力されてしまいます。
modに原因があると思うのですが,回避方法を見出すことができなかったので,ここで質問させていただきます。つまり,chapter 13とchapter 14のときのツメの位置がchapter 1とchapter 2のそれと同じようになる方法をお教えいただきたいです。
以下にコード全体を示しておきます。Lualatex+jlreqです。よろしくお願いします。
このコードでコンパイルすると,chapter 1からchapter 12までは期待通りに出力されました。しかし,chapter 13とchapter 14のときのツメが同じ高さに出力されてしまいます。
modに原因があると思うのですが,回避方法を見出すことができなかったので,ここで質問させていただきます。つまり,chapter 13とchapter 14のときのツメの位置がchapter 1とchapter 2のそれと同じようになる方法をお教えいただきたいです。
以下にコード全体を示しておきます。Lualatex+jlreqです。よろしくお願いします。
\documentclass[book,twoside]{jlreq}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,positioning,shadows}
\usetikzlibrary{bending,decorations.shapes}
\usetikzlibrary{intersections,calc,through,automata}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{cd}
\usepackage{pgfmath}
\usepackage{color}
\usepackage[top=20truemm,inner=20truemm,outer=18truemm,bottom=8truemm]{geometry}
\usepackage{lipsum}
\NewPageStyle{thumbindexstyle}{%
running_head_position={top-right},
odd_running_head={_section},
even_running_head={_chapter},
mark_format={
_section={\S \thesection\hspace{1\zw}#1},
_chapter={第\thechapter 回\hspace{1\zw}#1}
},
odd_head_format={
#1\hspace{3\zw}
\begin{tikzpicture}
\useasboundingbox (0,0) rectangle (0,0) ;
\node[anchor=south west] at(1\zw,-0.35\zw) {\thepage} ;
\fill[black] (0,-0.2) -- (-0.35,-0.2) -- (-0.35,2) -- (0,2) -- cycle ;
% ツメ(奇数ページ)
\pgfmathparse{mod(\thechapter,13) == 0 ? 1 : mod(\thechapter, 13)}
\let\modchapter=\pgfmathresult
% \textheight の 1/12 を計算
\pgfmathparse{1/12*\textheight}
\let\calcheight=\pgfmathresult
% \calcheight × \modchapter の座標を計算
\pgfmathparse{\calcheight*(\modchapter-1)+\headsep}
\let\yt=\pgfmathresult
% \calcheight × (\modchapter - 1) の座標を計算
\pgfmathparse{\calcheight*\modchapter+\headsep}
\let\yb=\pgfmathresult
% 塗りつぶし
\fill[black,rounded corners=5pt] (1,-\yt pt) -- (1,-\yb pt) -- (3,-\yb pt) -- (3,-\yt pt) -- cycle ;
\end{tikzpicture}
},
even_head_format={
\begin{tikzpicture}[remember picture]
\useasboundingbox (0,0) rectangle (0,0) ;
% ページ番号と見出しの境界線
\node[anchor=south east] at(-1\zw,-0.35\zw) {\thepage} ;
\fill[black] (0,-0.2) -- (0.35,-0.2) -- (0.35,2) -- (0,2) -- cycle ;
% ツメ(偶数ページ)
\pgfmathparse{mod(\thechapter,13) == 0 ? 1 : mod(\thechapter, 13)}
\let\modchapter=\pgfmathresult
% \textheight の 1/1 を計算
\pgfmathparse{1/12*\textheight}
\let\calcheight=\pgfmathresult
% \calcheight × \modchapter の座標を計算
\pgfmathparse{\calcheight*(\modchapter-1)+\headsep}
\let\yt=\pgfmathresult
% \calcheight × (\modchapter - 1) の座標を計算
\pgfmathparse{\calcheight*\modchapter+\headsep}
\let\yb=\pgfmathresult
% 塗りつぶし
\fill[black,rounded corners=5pt] (-1,-\yt pt) -- (-1,-\yb pt) -- (-3,-\yb pt) -- (-3,-\yt pt) -- cycle ;
\end{tikzpicture}
\hspace{3\zw}#1
}
}
\pagestyle{thumbindexstyle}
\begin{document}
\title{thumb index pagestyle}
\author{※ 偶数ページ・奇数ページ確認用タイトル}
\maketitle
\foreach \c in {1,...,24} {
\chapter{Chapter \c}
\section{Section 1}
\lipsum[1-3]
\section{Section 2}
\lipsum[4-6]
\section{Section 3}
\lipsum[7-9]
\section{Section 4}
\lipsum[10-12]
}
\end{document}