在 fancytabs 包中,只有一个命令用于在页面右侧生成 fancytab。但是我在双面文档中使用它,因此我需要它出现在奇数页的页面左侧,但我不确定如何调整包本身提供的代码来实现这一点。
如果这不可能的话,还有其他方法可以达到类似的效果吗?谢谢。
答案1
好问题!
是的,这是可能的。请参阅定义\leftfancytab
及其用法的草图(附fancytabs 的一个工作示例作为起点)。
\documentclass{scrbook}
\usepackage{scrpage2}
\usepackage{fancytabs}
\usepackage{lipsum}
% Capture chapter head
\let\oldchapter\chapter
\newcommand\temphead{}
\newcommand\chaphead{}
\renewcommand\chapter[2][\temphead]{%
\renewcommand\temphead{#2}%
\renewcommand\chaphead{#2}%
\oldchapter[#1]{#2}}
\makeatletter
\newcommand{\leftfancytab}[2]{%
\begin{tikzpicture}[remember picture,overlay]%
\node[yshift={-1*(\the\tab@top+\the\tab@height/2+
mod(#2-1-\tab@floor,\tab@count)*
(\the\tab@height+\the\tab@gap))},
% xshift=-0.5*\the\tab@width]
xshift=0.5*\the\tab@width]
at (current page.north west) {
\tikz\shade[shading=axis,bottom color=\tab@leftcolor,
top color=\tab@rightcolor,shading angle=-90]
(0,0) rectangle (\the\tab@width,\the\tab@height)
node[rotate=0]
at (\tab@texthpos*\the\tab@width,\tab@textvpos*\the\tab@height)
{\rotatebox{90}{\tab@style#1}};%
};%
\end{tikzpicture}%
}
\makeatother
% Set central right header to display tab
% for both scrplain and scrheadings
\cohead[\leftfancytab{\chaphead}{\thechapter}]
{\leftfancytab{\chaphead}{\thechapter}}
\renewcommand*{\chapterpagestyle}{scrplain}
\pagestyle{scrheadings}
\begin{document}
\chapter{A chapter}
\lipsum
\lipsum
\end{document}