如何调整 fancytab 命令以出现在左侧?

如何调整 fancytab 命令以出现在左侧?

在 fancytabs 包中,只有一个命令用于在页面右侧生成 fancytab。但是我在双面文档中使用它,因此我需要它出现在奇数页的页面左侧,但我不确定如何调整包本身提供的代码来实现这一点。

fancytabs 文档

如果这不可能的话,还有其他方法可以达到类似的效果吗?谢谢。

答案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}

在此处输入图片描述

相关内容