안녕하세요, 페이지 가장자리에 section 별로 위치가 달라지는 thumb index를 만들고 싶어서 아래와 같은 코드를 만들었습니다.
Picture environment로 사각형을 그린 다음에 그 수직방향 위치를 \value{section}의 함수로 \numexpr을 사용하여 집어넣은 것입니다.
그런데 section의 개수가 너무 많아지면 thumb index가 페이지 밑바닥을 뚫고 없어지기 때문에, 7번마다 한번씩 처음 시작했던 높이로 올라오도록 하고싶습니다. \numexpr는 modulo 연산자를 지원하지 않는 것 같아서 직접 a-(a/b)*b 이런 식으로 고쳐서 썼는데, \numexpr 안에 들어가는 expression에 괄호가 들어가면 컴파일 에러가 나네요... 어찌해야 좋을지 모르겠어서 도움을 청합니다.
\documentclass[twoside,12pt]{xoblivoir}
\usepackage{pdfpages}
\usepackage{fapapersize}
\usepackage{graphicx}
\usepackage{fp}
\usefapapersize{213mm,301mm,10mm,10mm,30mm,25mm} % 좌우상하 여백
\setlength{\unitlength}{10mm}
\newcommand{\blob}{\textcolor{gray}{\rule[-0.25\unitlength]{\unitlength}{\unitlength}}}
\newcommand\rblob{%
\begin{picture}(0,0)
\put(0,\numexpr-\value{section}*3+3\relax){\blob}
\put(0.1,\numexpr-\value{section}*3+3\relax){\textcolor{white}{\LARGE\emph{\textbf{\thesection}}}}
\end{picture}}
\newcommand\lblob{%
\begin{picture}(0,0)
\put(-1.05,\numexpr-\value{section}*3+3\relax){\blob}
\put(-0.9,\numexpr-\value{section}*3+3\relax){\textcolor{white}{\LARGE\emph{\textbf{\thesection}}}}
\end{picture}%
}
\makepagestyle{mystyle}
%\makeheadrule{mystyle}{\textwidth}{2pt}
%\makeevenfoot{mystyle}{\rightmark}{\LARGE\textbf{\thepage}}{}
\makeevenfoot{mystyle}{\textbf{\thepage}\hspace{1em}|\hspace{1em}\rightmark}{}{}
\makeoddfoot{mystyle}{}{}{\rightmark\hspace{1em}|\hspace{1em}\textbf{\thepage}}
\makeevenhead{mystyle}{\lblob}{}{} % leftmark는 문서제목이기에, section명이 나오는 rightmark로 조판.
\makeodd head{mystyle}{}{}{\rblob} % 금지어라서 odd head 띄웠습니다.
\pagestyle{mystyle}
\begin{document}
\pagestyle{mystyle}
\section{test1}
\clearpage
\section{test2}
\clearpage
\section{test3}
\clearpage
\section{test4}
\clearpage
\end{document}
KTUG 한국 텍 사용자 그룹