双列页面布局中的页眉问题

双列页面布局中的页眉问题

我想用双栏页面布局来设计一本词典,但是在设置页面页眉格式时出现了一些意想不到的问题。与页眉相关的问题描述如下:

  1. 如何删除每个左栏页面开头的列标题?图像如下:

在此处输入图片描述

  1. 如何将偶数页的右侧页眉和奇数页的左侧页眉提升到更高的位置?请参阅下面的图片:

在此处输入图片描述

在此处输入图片描述

  1. 如何在输出的 PDF 文档中添加书签(切换到每个词组开头的每个大写字母,例如ABC等)。确切地说,当我通过 Acrobat Adob​​e Pro 打开输出时,我在左侧找不到书签。我已经加载了该包hyperref,但是它不起作用。

最小的工作示例是:

    \documentclass[twoside,10pt,twocolumn]{book}
\usepackage{lipsum}
\usepackage{adforn}
\usepackage[top=2.0cm, bottom=3.5cm, left=2cm, right=2cm]{geometry}%default top=1.5cm
\usepackage{fancyhdr}
\usepackage[french, english]{babel}
\usepackage[utf8x,utf8]{inputenc}
\usepackage{color}
\definecolor{marron}{RGB}{60,30,10}
\definecolor{darkblue}{RGB}{0,0,80}
\definecolor{lightblue}{RGB}{80,80,80}
\definecolor{darkgreen}{RGB}{0,80,0}
\definecolor{darkgray}{RGB}{0,80,0}
\definecolor{darkred}{RGB}{80,0,0}
\definecolor{shadecolor}{rgb}{0.97,0.97,0.97}
\usepackage[T1]{fontenc}
\usepackage{hanging}
\usepackage{tikz}
\usetikzlibrary{calc}

%---------------------------------------------------------------------------------------------%
\usepackage{fourier-orns}
\newcommand{\ornpar}{\noindent \textcolor{darkgray}{ \raisebox{-1.9pt}[10pt][10pt]{\leafright} \hrulefill \raisebox{-1.9pt}[10pt][10pt]{\leafright \decofourleft \decothreeleft  \aldineright \decotwo \floweroneleft \decoone}}}%even-footer part
\newcommand{\ornimpar}{\textcolor{darkgray}{\raisebox{-1.9pt}[10pt][10pt]{\decoone \floweroneright \decotwo \aldineleft \decothreeright \decofourright \leafleft} \hrulefill \raisebox{-1.9pt}[10pt][10pt]{\leafleft}}}%odd-footer part
%---------------------------------------------------------------------------------------------%


%---------------------------------------------------------------------------------------------%
\newcommand\entry[4][]{\hangpara{2em}{1}{\fontfamily{phv}\selectfont{\textbf{{#2}}}}\ #4\ 
#3 \ifx\relax #1 \relax \markboth{#2}{#2}\else\markboth{#1}{#1}\fi
\vspace*{5pt}\par} \nopagebreak[4]%entry of dictionary

\newcommand*{\dictchar}[1]{\centerline{\LARGE\textbf{#1}}\vspace*{10pt}\par}
%---------------------------------------------------------------------------------------------%




%---------------------------------------------------------------------------------------------%
% use fancyhdr or whatever you want to add
% the boxes to the header to make them appear
% on every page

% new counter to hold the current number of the
% letter to determine the vertical position
\newcounter{letternum}
% newcounter for the sum of all letters to get
% the right height of a box
\newcounter{lettersum}
\setcounter{lettersum}{26}
% some margin settings
\newlength{\thumbtopmargin}
\setlength{\thumbtopmargin}{1cm}
\newlength{\thumbbottommargin}
\setlength{\thumbbottommargin}{3cm}
% calculate the box height by dividing the page height
\newlength{\thumbheight}
\pgfmathsetlength{\thumbheight}{%
(\paperheight-\thumbtopmargin-\thumbbottommargin)%
/%
\value{lettersum}
}
% box width
\newlength{\thumbwidth}
\setlength{\thumbwidth}{1.5cm}
% style the boxes
\tikzset{
thumb/.style={
   fill=black!50!red,
   text=white,
   minimum height=\thumbheight,
   text width=\thumbwidth,
   outer sep=0pt,
   font=\sffamily\bfseries,
}
}
\newcommand{\oddthumb}[1]{%
    % see pgfmanual.pdf for more information about this part
    \begin{tikzpicture}[remember picture, overlay]
        \node [thumb,text centered,anchor=north east,] at ($%
            (current page.north east)-%
            (0,\thumbtopmargin+\value{letternum}*\thumbheight)%
        $) {#1};
   \end{tikzpicture}
}
\newcommand{\eventhumb}[1]{%
    % see pgfmanual.pdf for more information about this part
    \begin{tikzpicture}[remember picture, overlay]
        \node [thumb,text centered,anchor=north west,] at ($%
            (current page.north west)-%
            (0,\thumbtopmargin+\value{letternum}*\thumbheight)%
        $) {#1};
   \end{tikzpicture}
}

% create a new command to set a new lettergroup
\newcommand{\lettergroup}[1]{%
\fancypagestyle{chapterstart}{%
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\chead{\oddthumb{#1}}% chapters start only on odd pages
\cfoot{\thepage}
}
\fancyhead[LO]{\fontfamily{phv}\selectfont{\textbf{\rightmark}}\oddthumb{#1}}%
\fancyhead[RE]{\fontfamily{phv}\selectfont{\textbf{\leftmark}}\eventhumb{#1}}%

% step the counter of the letters
\stepcounter{letternum}%
}
%---------------------------------------------------------------------------------------------%



%---------------------------------------------------------------------------------------------%
   \makeatletter%headrule
      \def\headrule{ {\color{darkgray}\raisebox{-2.1pt}[10pt][10pt]{\leafright} \hrulefill \raisebox{-2.1pt}[10pt][10pt]{~~~\decofourleft \decotwo \decofourright~~~} \hrulefill \raisebox{-2.1pt}[10pt][10pt]{ \leafleft}} }
   \makeatother

 % \renewcommand\headrule{ {\color{darkgray}\raisebox{-2.1pt}[10pt][10pt]{\leafright} \hrulefill \raisebox{-2.1pt}[10pt][10pt]{~~~\decofourleft \decotwo \decofourright~~~} \hrulefill \raisebox{-2.1pt}[10pt][10pt]{ \leafleft}} }

% % \renewcommand\headrule{{\leafright} \hrulefill
% % \raisebox{-2.1pt}[10pt][10pt]{\quad\decofourleft\decotwo\decofourright\quad}{\hrulefill}\leafleft}
%---------------------------------------------------------------------------------------------%




%---------------------------------------------------------------------------------------------%
\fancypagestyle{basicstyle}{%
\fancyhf{}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0pt}
\fancyhead[LE,RO]{\textbf{\chaptitle}}
\fancyhead[LO,RE]{\textbf{\thepage}}
\fancyfoot[LE,RO]{\thepage}}



\fancypagestyle{dictstyle}{%
  \fancyhf{}

  %\renewcommand{\headrulewidth}{0pt}
  \fancyhead[LE,LO]{{\fontfamily{phv}\selectfont{\textbf{\raisebox{0.8em}{\rightmark}}}}}%[LE,LO]
  \fancyhead[CO,CE]{\headrule}%\thepage
  \fancyhead[RE,RO]{{\fontfamily{phv}\selectfont{\textbf{\raisebox{0.8em}{\leftmark}}}}}%[RE,RO]
  \renewcommand{\headrulewidth}{0pt}  

  \fancyfoot[LO]{
  \ornimpar \\ \hfill \textcolor{darkgray}{\large \leafNE ~~~ \raisebox{-0.35em}{\textsf{\textbf{\thepage}}} }  
  }%奇数面的footer

  \fancyfoot[RE]{\ornpar   \\ \textcolor{darkgray}{\large \raisebox{-0.35em}{\textsf{\textbf{\thepage}}} ~~~ \reflectbox{\leafNE}} \hfill}
  }%偶数面的footer, \fancyfoot[RE]{\ornpar   \\ \large  \sffamily\bf \textcolor{darkgray}{\thepage ~~~ \reflectbox{\leafNE}}  \hfill}}


\setlength{\columnsep}{20pt}
\setlength{\columnseprule}{0pt}
%---------------------------------------------------------------------------------------------%

\usepackage{hyperref}







%\pagestyle{basicstyle}


%----------------------------------------------------------------------------------------------%

\begin{document}
%\maketitle
\begin{titlepage}
  \centering\Huge \adforn{26}\adforn{21}\quad\adforn{11}\quad\adforn{49}\adforn{54}

\vspace*{2em}{\centering\bf %9em, \usefont{OT1}{cmr}{m}{it} 
\texttt{\textbf{My Own Dictionary}}\par}

\vspace{2em}
{\hfill\centering \large{The Author}\hfill} %\hfill \itshape A story of love, hate and fame
\end{titlepage}

\newpage
%\adforn{21}\quad\adforn{11}\quad\adforn{49}
%----------------------------------------------------------------------------------------------%
\fancyhf{}
\pagestyle{dictstyle}

\lettergroup{A}
\dictchar{A}
\entry[headwords]{headwords}{translations}{/yinfu/}
\entry[headwords2]{headwords2}{translations2}{/yinfu/}
\entry[philosophy]{philosophy} {Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Ut purus elit, vestibulum ut, \emph{plac- erat ac}}{/yinfu/}
\entry[Math]{Math}{Lorem ipsum dolor sit amet}{/yinfu/}
\entry[Physics]{Physics}{\lipsum[1-2]}{/yinfu/}
\entry[Nature]{Nature}{\lipsum}{/yinfu/}
\clearpage


\lettergroup{B}
\dictchar{B}
\entry[headwords]{headwords}{translations}{/yinfu/}
\entry[headwords2]{headwords2}{translations2}{/yinfu/}
\clearpage

\lettergroup{C}
\dictchar{C}
\entry[headwords]{headwords}{translations}{/yinfu/}
\entry[headwords2]{headwords2}{translations2}{/yinfu/}
\clearpage
\end{document}

附言:我的 Tex 基于@Fran 提供的两个精美示例这里

以及 @chejnik 于这里

欢迎提出任何建议,并提前致谢。


下图是@Biki Teron 的代码的输出。

在此处输入图片描述


现在,我可以借助以下改进的 Tex cod 解决原始帖子中的第二个问题:

\documentclass[twoside,10pt,twocolumn]{book}
\usepackage{lipsum}
\usepackage{adforn}
\usepackage[top=2.0cm, bottom=3.5cm, left=2cm, right=2cm]{geometry}%default top=1.5cm
\usepackage{fancyhdr}
\usepackage[icelandic, czech, english]{babel}
\usepackage[utf8x,utf8]{inputenc}
\usepackage{color}
\definecolor{marron}{RGB}{60,30,10}
\definecolor{darkblue}{RGB}{0,0,80}
\definecolor{lightblue}{RGB}{80,80,80}
\definecolor{darkgreen}{RGB}{0,80,0}
\definecolor{darkgray}{RGB}{0,80,0}
\definecolor{darkred}{RGB}{80,0,0}
\definecolor{shadecolor}{rgb}{0.97,0.97,0.97}
\usepackage[T1]{fontenc}
\usepackage{hanging}
\usepackage{tikz}
\usetikzlibrary{calc}

%---------------------------------------------------------------------------------------------%
\usepackage{fourier-orns}
\newcommand{\ornpar}{\noindent \textcolor{darkgray}{ \raisebox{-1.9pt}[10pt][10pt]{\leafright} \hrulefill \raisebox{-1.9pt}[10pt][10pt]{\leafright \decofourleft \decothreeleft  \aldineright \decotwo \floweroneleft \decoone}}}
\newcommand{\ornimpar}{\textcolor{darkgray}{\raisebox{-1.9pt}[10pt][10pt]{\decoone \floweroneright \decotwo \aldineleft \decothreeright \decofourright \leafleft} \hrulefill \raisebox{-1.9pt}[10pt][10pt]{\leafleft}}}
%---------------------------------------------------------------------------------------------%


%---------------------------------------------------------------------------------------------%
\newcommand\entry[4][]{\hangpara{2em}{1}{\fontfamily{phv}\selectfont{\textbf{{#2}}}}\ #4\ 
#3 \ifx\relax #1 \relax \markboth{#2}{#2}\else\markboth{#1}{#1}\fi
 \vspace*{5pt}\par} \nopagebreak[4]

\newcommand*{\dictchar}[1]{\centerline{\LARGE\textbf{#1}}\vspace*{10pt}\par}
%---------------------------------------------------------------------------------------------%




%---------------------------------------------------------------------------------------------%
% use fancyhdr or whatever you want to add
% the boxes to the header to make them appear
% on every page

% new counter to hold the current number of the
% letter to determine the vertical position
\newcounter{letternum}
% newcounter for the sum of all letters to get
% the right height of a box
\newcounter{lettersum}
\setcounter{lettersum}{26}
% some margin settings
\newlength{\thumbtopmargin}
\setlength{\thumbtopmargin}{1cm}
\newlength{\thumbbottommargin}
\setlength{\thumbbottommargin}{3cm}
% calculate the box height by dividing the page height
\newlength{\thumbheight}
\pgfmathsetlength{\thumbheight}{%
(\paperheight-\thumbtopmargin-\thumbbottommargin)%
/%
\value{lettersum}
}
% box width
\newlength{\thumbwidth}
\setlength{\thumbwidth}{1.5cm}
% style the boxes
\tikzset{
thumb/.style={
   fill=black!50!red,
   text=white,
   minimum height=\thumbheight,
   text width=\thumbwidth,
   outer sep=0pt,
   font=\sffamily\bfseries,
}
}
\newcommand{\oddthumb}[1]{%
    % see pgfmanual.pdf for more information about this part
    \begin{tikzpicture}[remember picture, overlay]
        \node [thumb,text centered,anchor=north east,] at ($%
            (current page.north east)-%
            (0,\thumbtopmargin+\value{letternum}*\thumbheight)%
        $) {#1};
   \end{tikzpicture}
}
\newcommand{\eventhumb}[1]{%
    % see pgfmanual.pdf for more information about this part
    \begin{tikzpicture}[remember picture, overlay]
        \node [thumb,text centered,anchor=north west,] at ($%
            (current page.north west)-%
            (0,\thumbtopmargin+\value{letternum}*\thumbheight)%
            $) {#1};
   \end{tikzpicture}
}

% create a new command to set a new lettergroup
\newcommand{\lettergroup}[1]{%

 \fancypagestyle{chapterstart}{%
 \fancyhf{}
 \pagestyle{fancy}
 \renewcommand{\headrulewidth}{0pt}
 \chead{\oddthumb{#1}}% chapters start only on odd pages
 \cfoot{\thepage}
 }

 %\renewcommand{\headrulewidth}{0pt}
 %\fancyhead{}

  \fancyhead[LO]{ \raisebox{1em}{ \fontfamily{phv} \selectfont{\textbf{\rightmark}} } \oddthumb{#1}}
  \fancyhead[RE]{ \raisebox{1em}{ \fontfamily{phv}    \selectfont{\textbf{\leftmark}} } \eventhumb{#1}}



  \fancyhead[LE]{{\fontfamily{phv}\selectfont{\textbf{\raisebox{1em}{\rightmark}}}}}
  \fancyhead[CO,CE]{\headrule}
  \fancyhead[RO]{{\fontfamily{phv}\selectfont{\textbf{\raisebox{1em}   {\leftmark}}}}}

% step the counter of the letters
\stepcounter{letternum}%
}
%---------------------------------------------------------------------------------------------%



    %---------------------------------------------------------------------------------------------%
        \makeatletter%标题的headrule
       \def\headrule{ { \color{darkgray} \raisebox{-2.1pt}[10pt][10pt]{\leafright} \hrulefill \raisebox{-2.1pt}[10pt][10pt]{~~~\decofourleft \decotwo \decofourright~~~} \hrulefill \raisebox{-2.1pt}[10pt][10pt]{ \leafleft}  } }
        \makeatother

     % \renewcommand\headrule{ {\color{darkgray}\raisebox{-2.1pt}[10pt][10pt]{\leafright} \hrulefill \raisebox{-2.1pt}[10pt][10pt]{~~~\decofourleft \decotwo \decofourright~~~} \hrulefill \raisebox{-2.1pt}[10pt][10pt]{ \leafleft}} }

    % % \renewcommand\headrule{{\leafright} \hrulefill
    % % \raisebox{-2.1pt}[10pt][10pt]{\quad\decofourleft\decotwo\decofourright    \quad}{\hrulefill}\leafleft}
    %---------------------------------------------------------------------------------------------%




    %---------------------------------------------------------------------------------------------%
 \fancypagestyle{basicstyle}{%
 \fancyhf{}
 \renewcommand{\headrulewidth}{0.4pt}
 \renewcommand{\footrulewidth}{0pt}
 \fancyhead[LE,RO]{\textbf{\chaptitle}}
 \fancyhead[LO,RE]{\textbf{\thepage}}
 \fancyfoot[LE,RO]{\thepage}}



\fancypagestyle{dictstyle}{%
  \fancyhf{}


  % \fancyhead[LE,LO]{{\fontfamily{phv}\selectfont{\textbf{\raisebox{1em}   {\rightmark}}}}}
  % \fancyhead[CO,CE]{\headrule}%\thepage,\headrule
  % \fancyhead[RE,RO]{{\fontfamily{phv}\selectfont{\textbf{\raisebox{1em}   {\leftmark}}}}}
  \renewcommand{\headrulewidth}{0pt} 
  \fancyhead{}

  \fancyfoot[LO]{
  \ornimpar \\ \hfill \textcolor{darkgray}{\large \leafNE ~~~    \raisebox{-0.35em}{\textsf{\textbf{\thepage}}} }  }

  \fancyfoot[RE]{\ornpar   \\ \textcolor{darkgray}{\large    \raisebox{-0.35em}   {\textsf{\textbf{\thepage}}} ~~~ \reflectbox{\leafNE}} \hfill  }
  }


\setlength{\columnsep}{20pt}
\setlength{\columnseprule}{0pt}
%---------------------------------------------------------------------------------------------%

\usepackage{hyperref}







%\pagestyle{basicstyle}


%----------------------------------------------------------------------------------------------%

\begin{document}
%\maketitle
\begin{titlepage}
  \centering\Huge \adforn{26}\adforn{21}\quad\adforn{11}\quad\adforn{49}   \adforn{54}

\vspace*{2em}\centering\bf 
\texttt{My Dictionary}\par

\vspace{2em}
{\hfill\centering \large{The Author}\hfill} 
\end{titlepage}

\newpage
%\adforn{21}\quad\adforn{11}\quad\adforn{49}
%----------------------------------------------------------------------------------------------%
 \twocolumn
 \fancyhf{}
\pagestyle{dictstyle}%dictstyle

\lettergroup{A}
\dictchar{A}
% \hyperlink{A}{\dictchar{A}} 
\entry[headwords]{headwords}{translations}{\textsf{/yinfu/}}
\entry[headwords2]{headwords2}{translations2}{/yinfu/}
\entry[philosophy]{philosophy} {Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Ut purus elit, vestibulum ut, \emph{plac- erat ac}}{/yinfu/}
\entry[Math]{Math}{Lorem ipsum dolor sit amet}{/yinfu/}
\entry[Physics]{Physics}{\lipsum[1-2]}{/yinfu/}
\entry[Nature]{Nature}{\lipsum}{/yinfu/}
\clearpage


\lettergroup{B}
\dictchar{B}
\entry[headwords]{headwords}{translations}{/yinfu/}
\entry[headwords2]{headwords2}{translations2}{/yinfu/}
\clearpage

\lettergroup{C}
\dictchar{C}
\entry[headwords]{headwords}{translations}{/yinfu/}
\entry[headwords2]{headwords2}{translations2}{/yinfu/}
\clearpage
\end{document}

答案1

\documentclass[twoside,10pt,twocolumn]{book}
\usepackage{lipsum}
\usepackage{adforn}
\usepackage[top=2.0cm, bottom=3.5cm, left=2cm, right=2cm]{geometry}%default top=1.5cm
\usepackage{fancyhdr}
\usepackage[french, english]{babel}
\usepackage[utf8x,utf8]{inputenc}
\usepackage{color}
\definecolor{marron}{RGB}{60,30,10}
\definecolor{darkblue}{RGB}{0,0,80}
\definecolor{lightblue}{RGB}{80,80,80}
\definecolor{darkgreen}{RGB}{0,80,0}
\definecolor{darkgray}{RGB}{0,80,0}
\definecolor{darkred}{RGB}{80,0,0}
\definecolor{shadecolor}{rgb}{0.97,0.97,0.97}
\usepackage[T1]{fontenc}
\usepackage{hanging}
\usepackage{tikz}
\usetikzlibrary{calc}

%---------------------------------------------------------------------------------------------%
\usepackage{fourier-orns}
\newcommand{\ornpar}{\noindent \textcolor{darkgray}{ \raisebox{-1.9pt}[10pt][10pt]{\leafright} \hrulefill \raisebox{-1.9pt}[10pt][10pt]{\leafright \decofourleft \decothreeleft  \aldineright \decotwo \floweroneleft \decoone}}}%even-footer part
\newcommand{\ornimpar}{\textcolor{darkgray}{\raisebox{-1.9pt}[10pt][10pt]{\decoone \floweroneright \decotwo \aldineleft \decothreeright \decofourright \leafleft} \hrulefill \raisebox{-1.9pt}[10pt][10pt]{\leafleft}}}%odd-footer part
%---------------------------------------------------------------------------------------------%


%---------------------------------------------------------------------------------------------%
\newcommand\entry[4][]{\hangpara{2em}{1}{\fontfamily{phv}\selectfont{\textbf{{#2}}}}\ #4\ 
#3 \ifx\relax #1 \relax \markboth{#2}{#2}\else\markboth{#1}{#1}\fi
\vspace*{5pt}\par} \nopagebreak[4]%entry of dictionary

\newcommand*{\dictchar}[1]{\centerline{\LARGE\textbf{#1}}\vspace*{10pt}\par}
%---------------------------------------------------------------------------------------------%




%---------------------------------------------------------------------------------------------%
% use fancyhdr or whatever you want to add
% the boxes to the header to make them appear
% on every page

% new counter to hold the current number of the
% letter to determine the vertical position
\newcounter{letternum}
% newcounter for the sum of all letters to get
% the right height of a box
\newcounter{lettersum}
\setcounter{lettersum}{26}
% some margin settings
\newlength{\thumbtopmargin}
\setlength{\thumbtopmargin}{1cm}
\newlength{\thumbbottommargin}
\setlength{\thumbbottommargin}{3cm}
% calculate the box height by dividing the page height
\newlength{\thumbheight}
\pgfmathsetlength{\thumbheight}{%
(\paperheight-\thumbtopmargin-\thumbbottommargin)%
/%
\value{lettersum}
}
% box width
\newlength{\thumbwidth}
\setlength{\thumbwidth}{1.5cm}
% style the boxes
\tikzset{
thumb/.style={
   fill=black!50!red,
   text=white,
   minimum height=\thumbheight,
   text width=\thumbwidth,
   outer sep=0pt,
   font=\sffamily\bfseries,
}
}
\newcommand{\oddthumb}[1]{%
    % see pgfmanual.pdf for more information about this part
    \begin{tikzpicture}[remember picture, overlay]
        \node [thumb,text centered,anchor=north east,] at ($%
            (current page.north east)-%
            (0,\thumbtopmargin+\value{letternum}*\thumbheight)%
        $) {#1};
   \end{tikzpicture}
}
\newcommand{\eventhumb}[1]{%
    % see pgfmanual.pdf for more information about this part
    \begin{tikzpicture}[remember picture, overlay]
        \node [thumb,text centered,anchor=north west,] at ($%
            (current page.north west)-%
            (0,\thumbtopmargin+\value{letternum}*\thumbheight)%
        $) {#1};
   \end{tikzpicture}
}

% create a new command to set a new lettergroup
\newcommand{\lettergroup}[1]{%
\fancypagestyle{chapterstart}{%
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\chead{\oddthumb{#1}}% chapters start only on odd pages
\cfoot{\thepage}
}
\fancyhead[LO]{\fontfamily{phv}\selectfont{\textbf{\rightmark}}\oddthumb{#1}}%
\fancyhead[RE]{\fontfamily{phv}\selectfont{\textbf{\leftmark}}\eventhumb{#1}}%

% step the counter of the letters
\stepcounter{letternum}%
}
%---------------------------------------------------------------------------------------------%



%---------------------------------------------------------------------------------------------%
   \makeatletter%headrule
      \def\headrule{ {\color{black}\raisebox{3.1pt}{\leafright} \raisebox{1ex}{\rule{7.2cm}{1pt}} \raisebox{3.1pt}{~~~\decofourleft \decotwo \decofourright~~~} \raisebox{1ex}{\rule{7.2cm}{1pt}} \raisebox{3.1pt}{ \leafleft}} }
   \makeatother

 % \renewcommand\headrule{ {\color{darkgray}\raisebox{-2.1pt}[10pt][10pt]{\leafright} \hrulefill \raisebox{-2.1pt}[10pt][10pt]{~~~\decofourleft \decotwo \decofourright~~~} \hrulefill \raisebox{-2.1pt}[10pt][10pt]{ \leafleft}} }

% % \renewcommand\headrule{{\leafright} \hrulefill
% % \raisebox{-2.1pt}[10pt][10pt]{\quad\decofourleft\decotwo\decofourright\quad}{\hrulefill}\leafleft}
%---------------------------------------------------------------------------------------------%




%---------------------------------------------------------------------------------------------%
\fancypagestyle{basicstyle}{%
\fancyhf{}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0pt}
\fancyhead[LE,RO]{\textbf{\chaptitle}}
\fancyhead[LO,RE]{\textbf{\thepage}}
\fancyfoot[LE,RO]{\thepage}}



\fancypagestyle{dictstyle}{%
  \fancyhf{}

  %\renewcommand{\headrulewidth}{0pt}
  \fancyhead[LE,LO]{{\fontfamily{phv}\selectfont{\textbf{\raisebox{-0.4em}{\rightmark}}}}}%[LE,LO]
  %\fancyhead[CO,CE]{\headrule}%\thepage
  \fancyhead[RE,RO]{{\fontfamily{phv}\selectfont{\textbf{\raisebox{-0.4em}{\leftmark}}}}}%[RE,RO]
  \renewcommand{\headrulewidth}{0pt}  

  \fancyfoot[LO]{
  \ornimpar \\ \hfill \textcolor{darkgray}{\large \leafNE ~~~ \raisebox{-0.35em}{\textsf{\textbf{\thepage}}} }  
  }%奇数面的footer

  \fancyfoot[RE]{\ornpar   \\ \textcolor{darkgray}{\large \raisebox{-0.35em}{\textsf{\textbf{\thepage}}} ~~~ \reflectbox{\leafNE}} \hfill}
  }%偶数面的footer, \fancyfoot[RE]{\ornpar   \\ \large  \sffamily\bf \textcolor{darkgray}{\thepage ~~~ \reflectbox{\leafNE}}  \hfill}}


\setlength{\columnsep}{20pt}
\setlength{\columnseprule}{0pt}
%---------------------------------------------------------------------------------------------%

\usepackage{hyperref}







%\pagestyle{basicstyle}


%----------------------------------------------------------------------------------------------%

\begin{document}
%\maketitle
\begin{titlepage}
  \centering\Huge \adforn{26}\adforn{21}\quad\adforn{11}\quad\adforn{49}\adforn{54}

\vspace*{2em}{\centering\bf %9em, \usefont{OT1}{cmr}{m}{it} 
\texttt{\textbf{My Own Dictionary}}\par}

\vspace{2em}
{\hfill\centering \large{The Author}\hfill} %\hfill \itshape A story of love, hate and fame
\end{titlepage}

\newpage
%\adforn{21}\quad\adforn{11}\quad\adforn{49}
%----------------------------------------------------------------------------------------------%
\fancyhf{}
\pagestyle{dictstyle}

\lettergroup{A}
\dictchar{A}
\entry[headwords]{headwords}{translations}{/yinfu/}
\entry[headwords2]{headwords2}{translations2}{/yinfu/}
\entry[philosophy]{philosophy} {Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Ut purus elit, vestibulum ut, \emph{plac- erat ac}}{/yinfu/}
\entry[Math]{Math}{Lorem ipsum dolor sit amet}{/yinfu/}
\entry[Physics]{Physics}{\lipsum[1-2]}{/yinfu/}
\entry[Nature]{Nature}{\lipsum}{/yinfu/}
\clearpage


\lettergroup{B}
\dictchar{B}
\entry[headwords]{headwords}{translations}{/yinfu/}
\entry[headwords2]{headwords2}{translations2}{/yinfu/}
\clearpage

\lettergroup{C}
\dictchar{C}
\entry[headwords]{headwords}{translations}{/yinfu/}
\entry[headwords2]{headwords2}{translations2}{/yinfu/}
\clearpage
\end{document}

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

我在Texlive-2017中使用Texmaker-4.1.1进行的编译

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

答案2

我调整了代码,最终解决了页眉格式化的问题。如果我们没有通过命令renewcommand或内部的 Tex 定义来定义一个全局的装饰页眉规则\makeatleter \define\headrule{...}\makeatother,那么这个装饰页眉规则将不会作为左列页眉出现。这样就解决了第二个问题。另一方面,我们可以通过命令来控制整个页面(包含两列)的左页眉和右页眉的升降\raisebox{\leftmark or \rightmark}。这样就解决了第一个问题。我改进后的 Tex 代码如下:

\documentclass[twoside,10pt,twocolumn]{book}
\usepackage{lipsum}
\usepackage{adforn}
\usepackage[top=2.0cm, bottom=3.5cm, left=2cm, right=2cm]{geometry}%
\usepackage{fancyhdr}
\usepackage[icelandic, czech, english]{babel}%
\usepackage[utf8x,utf8]{inputenc}
\usepackage{color}
\definecolor{marron}{RGB}{60,30,10}
\definecolor{darkblue}{RGB}{0,0,80}
\definecolor{lightblue}{RGB}{80,80,80}
\definecolor{darkgreen}{RGB}{0,80,0}
\definecolor{darkgray}{RGB}{0,80,0}
\definecolor{darkred}{RGB}{80,0,0}
\definecolor{shadecolor}{rgb}{0.97,0.97,0.97}
\usepackage[T1]{fontenc}
\usepackage{hanging}
\usepackage{tikz}
\usetikzlibrary{calc}

%---------------------------------------------------------------------------------------------%
\usepackage{fourier-orns}
\newcommand{\ornpar}{\noindent \textcolor{darkgray}{ \raisebox{-1.9pt}       [10pt][10pt]{\leafright} \hrulefill \raisebox{-1.9pt}[10pt][10pt] {\leafright \decofourleft \decothreeleft  \aldineright \decotwo                    \floweroneleft \decoone}}}%

\newcommand{\ornimpar}{\textcolor{darkgray}{\raisebox{-1.9pt}[10pt][10pt]{\decoone \floweroneright \decotwo \aldineleft \decothreeright  \decofourright \leafleft} \hrulefill \raisebox{-1.9pt}[10pt][10pt]{\leafleft}}}%
%---------------------------------------------------------------------------------------------%


%---------------------------------------------------------------------------------------------%
\newcommand\entry[4][]{\hangpara{2em}{1}  {\fontfamily{phv}\selectfont{\textbf{{#2}}}}\ #4\ 
#3 \ifx\relax #1 \relax \markboth{#2}{#2}\else\markboth{#1}{#1}\fi
\vspace*{5pt}\par} \nopagebreak[4]%
\newcommand*{\dictchar}[1]{\centerline{\LARGE\textbf{#1}}\vspace*{10pt}\par}%
%---------------------------------------------------------------------------------------------%




%---------------------------------------------------------------------------------------------%
% use fancyhdr or whatever you want to add
% the boxes to the header to make them appear
% on every page

% new counter to hold the current number of the
% letter to determine the vertical position
\newcounter{letternum}
% newcounter for the sum of all letters to get
% the right height of a box
\newcounter{lettersum}
\setcounter{lettersum}{26}
% some margin settings
\newlength{\thumbtopmargin}
\setlength{\thumbtopmargin}{2.06cm}%1cm
\newlength{\thumbbottommargin}
\setlength{\thumbbottommargin}{3cm}
% calculate the box height by dividing the page height
\newlength{\thumbheight}
\pgfmathsetlength{\thumbheight}{%
(\paperheight-\thumbtopmargin-\thumbbottommargin)%
/%
\value{lettersum}
}
% box width
\newlength{\thumbwidth}
\setlength{\thumbwidth}{1.5cm}
% style the boxes
\tikzset{
thumb/.style={
fill=black!50!red,
text=white,
minimum height=\thumbheight,
text width=\thumbwidth,
outer sep=0pt,
font=\sffamily\bfseries,
}
}
\newcommand{\oddthumb}[1]{%
% see pgfmanual.pdf for more information about this part
\begin{tikzpicture}[remember picture, overlay]
    \node [thumb,text centered,anchor=north east,] at ($%
        (current page.north east)-%
        (0,\thumbtopmargin+\value{letternum}*\thumbheight)%
    $) {#1};                                              
\end{tikzpicture}                                          
}
\newcommand{\eventhumb}[1]{%
% see pgfmanual.pdf for more information about this part
\begin{tikzpicture}[remember picture, overlay]
    \node [thumb,text centered,anchor=north west,] at ($%
        (current page.north west)-%
        (0,\thumbtopmargin+\value{letternum}*\thumbheight)%
    $) {#1};
\end{tikzpicture}
}

% create a new command to set a new lettergroup
\newcommand{\lettergroup}[1]{%

\fancypagestyle{chapterstart}{%
\fancyhf{}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\chead{\oddthumb{#1}}% chapters start only on odd pages
\cfoot{\thepage}
}

%\renewcommand{\headrulewidth}{0pt}
%\fancyhead{}

\fancyhead[LO]{ \raisebox{1em}{ \fontfamily{phv}     \selectfont{\textbf{\rightmark}} } \oddthumb{#1}}%
\fancyhead[RE]{ \raisebox{1em}{ \fontfamily{phv}   \selectfont{\textbf{\leftmark}} } \eventhumb{#1}}


\fancyhead[LE]{{\fontfamily{phv}\selectfont{\textbf{\raisebox{1em}{\rightmark}}}}}


\fancyhead[CO,CE]{\color{darkgray} \raisebox{-2.1pt}[10pt][10pt]  {\leafright} \hrulefill \raisebox{-2.1pt}[10pt][10pt]{~~~\decofourleft \decotwo \decofourright~~~} \hrulefill \raisebox{-2.1pt}[10pt][10pt]{  \leafleft}}


\fancyhead[RO]{{\fontfamily{phv}\selectfont{\textbf{\raisebox{1em}{\leftmark}}}}}

 % step the counter of the letters
 \stepcounter{letternum}
 }
 %---------------------------------------------------------------------------------------------%







%---------------------------------------------------------------------------------------------%
\fancypagestyle{basicstyle}{%
\fancyhf{}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0pt}
\fancyhead[LE,RO]{\textbf{\chaptitle}}
\fancyhead[LO,RE]{\textbf{\thepage}}
\fancyfoot[LE,RO]{\thepage}}



\fancypagestyle{dictstyle}{%
\fancyhf{}
\renewcommand{\headrulewidth}{0pt} 
\fancyhead{}

\fancyfoot[LO]{
\ornimpar \\ \hfill \textcolor{darkgray}{\large \leafNE ~~~   \raisebox{-0.35em}{\textsf{\textbf{\thepage}}} }  }

\fancyfoot[RE]{\ornpar   \\ \textcolor{darkgray}{\large  \raisebox{-0.35em}{\textsf{\textbf{\thepage}}} ~~~ \reflectbox{\leafNE}}  \hfill  }
}


\setlength{\columnsep}{20pt}
\setlength{\columnseprule}{0pt}
%---------------------------------------------------------------------------------------------%

\usepackage[bookmarks=true]{hyperref}







%\pagestyle{basicstyle}


%----------------------------------------------------------------------------------------------%

\begin{document}
%\maketitle
\begin{titlepage}
\centering\Huge   \adforn{26}\adforn{21}\quad\adforn{11}\quad\adforn{49}\adforn{54}

\vspace*{2em}\centering\bf  
\texttt{My Dictionary}\par

\vspace{2em}
{\hfill\centering \large{The Author}\hfill} 
\end{titlepage}

\newpage

%----------------------------------------------------------------------------------------------%


\pagestyle{dictstyle}%dictstyle
\lettergroup{A}
\dictchar{A}
% \hyperlink{A}{\dictchar{A}} 
\entry[headwords]{headwords}{translations}{\textsf{/yinfu/}}
\entry[headwords2]{headwords2}{translations2}{/yinfu/}
\entry[philosophy]{philosophy} {Lorem ipsum dolor sit amet,  consectetuer
adipiscing elit. Ut purus elit, vestibulum ut, \emph{plac- erat ac}}  {/yinfu/}
\entry[Math]{Math}{Lorem ipsum dolor sit amet}{/yinfu/}
\entry[Physics]{Physics}{\lipsum[1-2]}{/yinfu/}
\entry[Nature]{Nature}{\lipsum}{/yinfu/}
\clearpage


\lettergroup{B}
\dictchar{B}
\entry[headwords]{headwords}{translations}{/yinfu/}
\entry[headwords2]{headwords2}{translations2}{/yinfu/}
\clearpage

\lettergroup{C}
\dictchar{C}
\entry[headwords]{headwords}{translations}{/yinfu/}
\entry[headwords2]{headwords2}{translations2}{/yinfu/}
\clearpage
\end{document} 

照片显示如下:

在此处输入图片描述

相关内容