翻轉 fancyhdr 頭規則 偶數 奇數

翻轉 fancyhdr 頭規則 偶數 奇數

\headrule我正在嘗試在頁碼下實現短暫的淡入淡出。但我不知道如何在偶數/奇數頁上「翻轉」它。有誰知道如何管理?

我還收到一條警告,說headheight太小了。這是由 引起的tikzpicture,但是我該如何解決它?我不想增加headheight那麼多...

\documentclass[11pt, titlepage, openright]{book}

\usepackage[textwidth=13cm, left=2.5cm, bottom=2cm, top=2.5cm, paperwidth=20cm, paperheight=27cm, layoutwidth=19cm, layoutheight=26cm, layouthoffset=0.5cm, layoutvoffset=0.5cm, showcrop, asymmetric]{geometry}
\usepackage{fancyhdr}
\usepackage{tikz}
\usepackage{lipsum}

\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\fancyhead{}
\fancyfoot{}

\definecolor{grey}{rgb}{0.6,0.6,0.6}
\definecolor{darkgrey}{rgb}{0.4,0.4,0.4}

\setlength{\headheight}{24pt}
\fancyhead[RO]{\sffamily\bfseries\textcolor{grey}\leftmark\hspace{0.3cm}\sffamily\textcolor{darkgrey}\thepage}
\fancyhead[LE]{\sffamily\bfseries\textcolor{darkgrey}\thepage\hspace{0.3cm}\sffamily\textcolor{grey}\leftmark}
\renewcommand{\headrulewidth}{0.6pt}
\renewcommand{\footrulewidth}{0pt}
\renewcommand{\headrule}{
\begin{tikzpicture}
    \shade[white] (0,0) rectangle (8,0);
    \shade[left color=white, right color=black, dashed] (8,1) rectangle (12.98,1.01);
\end{tikzpicture}}

\begin{document}

\chapter{Test chapter}
\lipsum
\lipsum

\end{document}

答案1

\count0在標準 LaTeX 中,左/右標題的檢查是根據via的值執行的\ifodd。您可以在\headrule命令中使用它在兩個頁面上設定不同的圖片。

在您的規格中新增一個headheight選項geometry將為您提供更多空間。使用日誌檔案中報告的值。

但是,您在問題中說您不想這樣做。您的標頭如此高的原因是您嘗試通過在 height 處繪製一些空白0並在 height 處繪製標尺來將其向上移動1。更簡單的方法是繪製規則並透過使用一些垂直跳躍來確保其正確定位。

偶數頁範例

奇數頁範例

\documentclass[11pt, titlepage, openright]{book}

\usepackage[textwidth=13cm, left=2.5cm, bottom=2cm, top=2.5cm,
paperwidth=20cm, paperheight=27cm, layoutwidth=19cm,
layoutheight=26cm, layouthoffset=0.5cm, layoutvoffset=0.5cm,
showcrop, asymmetric]{geometry}
\usepackage{fancyhdr}
\usepackage{tikz}
\usepackage{lipsum}

\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\fancyhead{}
\fancyfoot{}

\definecolor{grey}{rgb}{0.6,0.6,0.6}
\definecolor{darkgrey}{rgb}{0.4,0.4,0.4}

\setlength{\headheight}{24pt}
\fancyhead[RO]{\sffamily\bfseries\textcolor{grey}\leftmark\hspace{0.3cm}\sffamily\textcolor{darkgrey}\thepage}
\fancyhead[LE]{\sffamily\bfseries\textcolor{darkgrey}\thepage\hspace{0.3cm}\sffamily\textcolor{grey}\leftmark}
\renewcommand{\headrulewidth}{0.6pt}
\renewcommand{\footrulewidth}{0pt}

\renewcommand{\headrule}{%
\vskip-\baselineskip\vskip4pt
\ifodd\count0\hfill\begin{tikzpicture}
    \shade[left color=white, right color=black, dashed] (0,0) rectangle (4.98,0.01);
\end{tikzpicture}\else\begin{tikzpicture}
    \shade[left color=black, right color=white, dashed] (0,0) rectangle (4.98,.01);
\end{tikzpicture}\fi}

\begin{document}

\chapter{Test chapter}
\lipsum
\lipsum

\end{document}

答案2

您可以使用該etoolbox包來做到這一點:

\documentclass[11pt, titlepage, openright]{book}

\usepackage[textwidth=13cm, left=2.5cm, bottom=2cm, top=2.5cm, paperwidth=20cm, paperheight=27cm, layoutwidth=19cm, layoutheight=26cm, layouthoffset=0.5cm, layoutvoffset=0.5cm, showcrop, asymmetric]{geometry}
\usepackage{fancyhdr}
\usepackage{tikz}
\usepackage{lipsum}

\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\fancyhead{}
\fancyfoot{}

\definecolor{grey}{rgb}{0.6,0.6,0.6}
\definecolor{darkgrey}{rgb}{0.4,0.4,0.4}%
\usepackage{etoolbox}
\setlength{\headheight}{24pt}
\fancyhead[RO]{\sffamily\bfseries\textcolor{grey}\leftmark\hspace{0.3cm}\sffamily\textcolor{darkgrey}\thepage}
\fancyhead[LE]{\sffamily\bfseries\textcolor{darkgrey}\thepage\hspace{0.3cm}\sffamily\textcolor{grey}\leftmark}
\renewcommand{\headrulewidth}{0.6pt}
\renewcommand{\footrulewidth}{0pt}

\renewcommand{\headrule}{%
\begin{tikzpicture}%
\ifnumodd{\value{page}}{%
 \shade[white] (0,0) rectangle (8,0);
    \shade[left color=white, right color=black, dashed] (8,1) rectangle (12.98,1.01);
}%
{%
 \shade[white] (0,0) rectangle (5,0);
 \shade[left color=black, right color=white, dashed] (0,1) rectangle (4.98,1.02);
 }
\end{tikzpicture}
}%

\begin{document}

\chapter{Test chapter}
\lipsum
\lipsum

\end{document} 

在此輸入影像描述

在此輸入影像描述

答案3

你可以把你的\fancyhead內容放在一個裡面node,然後繪圖就變得容易。

\fancyhead[RO]{%
  \begin{tikzpicture}
    \node[inner xsep=0pt, align=right,text width=5cm] (a) {\sffamily\bfseries\textcolor{grey}
             {\leftmark}\hspace{0.3cm}\sffamily\textcolor{darkgrey}{\thepage}};
    \shade[left color=white, right color=black, dashed] (a.south west) rectangle
            ([yshift=0.01cm]a.south east);
  \end{tikzpicture}%
  }
\fancyhead[LE]{%
  \begin{tikzpicture}
    \node[inner xsep=0pt, align=left,text width=5cm](a){\sffamily\bfseries\textcolor{darkgrey}
     {\thepage}\hspace{0.3cm}\sffamily\textcolor{grey}{\leftmark}};
    \shade[right color=white, left color=black, dashed] (a.south west) rectangle
            ([yshift=0.01cm]a.south east);
  \end{tikzpicture}%
  }

代碼:

\documentclass[11pt, titlepage, openright]{book}

\usepackage[textwidth=13cm, left=2.5cm, bottom=2cm, top=2.5cm, paperwidth=20cm, paperheight=27cm, layoutwidth=19cm, layoutheight=26cm, layouthoffset=0.5cm, layoutvoffset=0.5cm, showcrop, asymmetric,headheight=24pt]{geometry}
\usepackage{fancyhdr}
\usepackage{tikz}
\usepackage{lipsum}

\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\fancyhead{}
\fancyfoot{}

\definecolor{grey}{rgb}{0.6,0.6,0.6}
\definecolor{darkgrey}{rgb}{0.4,0.4,0.4}

%\setlength{\headheight}{24pt}
\fancyhead[RO]{%
  \begin{tikzpicture}
    \node[inner xsep=0pt, align=right,text width=5cm] (a) {\sffamily\bfseries\textcolor{grey}
             {\leftmark}\hspace{0.3cm}\sffamily\textcolor{darkgrey}{\thepage}};
    \shade[left color=white, right color=black, dashed] (a.south west) rectangle
            ([yshift=0.01cm]a.south east);
  \end{tikzpicture}%
  }
\fancyhead[LE]{%
  \begin{tikzpicture}
    \node[inner xsep=0pt, align=left,text width=5cm](a){\sffamily\bfseries\textcolor{darkgrey}
     {\thepage}\hspace{0.3cm}\sffamily\textcolor{grey}{\leftmark}};
    \shade[right color=white, left color=black, dashed] (a.south west) rectangle
            ([yshift=0.01cm]a.south east);
  \end{tikzpicture}%
  }
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}


\begin{document}

\chapter{Test chapter}
\lipsum
\lipsum

\end{document}

在此輸入影像描述

在此輸入影像描述

相關內容