Page LayoutProblems with header in two-column page layout

Information and discussion about page layout specific issues (e.g. header and footer lines, page formats, page numbers).
Post Reply
GL_n
Posts: 1
Joined: Sun Jul 09, 2017 3:00 pm

Problems with header in two-column page layout

Post by GL_n »

I want to design a dictionary via using the two-column page layout, but some unexpected problems occur when formatting the header of pages. The troubles related with the header are described as follows:
  • How to remove the column header at the beginning of every left column page? The image is in following:
https://i.stack.imgur.com/2RYIB.png or click on this web-link https://tex.stackexchange.com/questions ... age-layout
  • How to add bookmarks (switch to every capital letter, such as A, B, C, etc. at the head-position of every words group) into the output PDF document. To be precise, when I open the output through Acrobat Adobe Pro I couldn't find the bookmarks on the left-hand side. I have already loaded the package hyperref, however, it didn't work.
The minimal working example is:

Code: Select all

\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}

Recommended reading 2024:

LaTeXguide.org • LaTeX-Cookbook.net • TikZ.org
LaTeX Beginner's Guide LaTeX Cookbook LaTeX TikZ graphics TikZによるLaTeXグラフィックス
User avatar
Johannes_B
Site Moderator
Posts: 4182
Joined: Thu Nov 01, 2012 4:08 pm

Problems with header in two-column page layout

Post by Johannes_B »

The smart way: Calm down and take a deep breath, read posts and provided links attentively, try to understand and ask if necessary.
User avatar
Stefan Kottwitz
Site Admin
Posts: 10290
Joined: Mon Mar 10, 2008 9:44 pm

Problems with header in two-column page layout

Post by Stefan Kottwitz »

Since the question has just been copied here, at least I wait until the discussion is finished on the other site.

Stefan
LaTeX.org admin
Post Reply