tikzmark in fancyhdr wird nicht auf jede Seite aktualisiert.

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: tikzmark in fancyhdr wird nicht auf jede Seite aktualisiert.

von DanielE » Fr 8. Mär 2019, 12:56

Danke, das hat mir sehr geholfen.

von Gast » Fr 8. Mär 2019, 11:37

Du machst das Zeichen der Linien gar nicht als Teil des Kopfes oder Fußes, also wirklich als Teil des Seitenstils, sondern als Teil der Umschaltung auf den Seitenstil. Damit werden sie nur auf der Seite gezeichnet, auf der der Seitenstil wirklich aktiviert wird. Du musst also das Zeichnen der Linien in die Kopf- oder Fußdefinition verschieben.

Und da wäre da noch die Warnung wegen der zu geringen Höhe des Kopfes und entsprechend wegen der zu breiten Tabelle im Kopf. Beides kann man beseitigen. Statt \headwidth auf einen Wert anzupassen, den ich erst einmal ermitteln müsste, habe ich den einfachen Weg gewählt, die Tabelle per \makebox aus dem Kopf herausragen zu lassen:
\documentclass[10pt,a4paper]{article}
\usepackage[english]{babel}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage[table,xcdraw]{xcolor}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\usepackage{blindtext}

\renewcommand{\headrulewidth}{0pt}
% Kopfhöhe korrigieren
\addtolength{\textheight}{-10\baselineskip}
\addtolength{\headheight}{10\baselineskip}

\fancypagestyle{myStyle}{
\fancyhead{} % clears all header fields
\fancyhead[L]{\renewcommand{\arraystretch}{0.6}
\tikzmark{tstart}%
\makebox[\textwidth][l]{\begin{tabular}{lllll}
% first row
\multicolumn{2}{l}{Text} &
\multicolumn{3}{l}{Text Text} \\
% second row
\multicolumn{2}{l}{\rule{0pt}{10pt}\scriptsize Text - Text} &
\multicolumn{2}{l}{\textcolor{blue}{Text}} & \multicolumn{1}{r}{Page:  \thepage (\pageref{LastPage})} \\ \noalign{\pgfmark{z12}}
% third row
\multicolumn{2}{l}{\tiny\cellcolor[gray]{.8}Prepared by} &
\multicolumn{3}{l}{\tiny\cellcolor[gray]{.8}Document name} \\ \noalign{\pgfmark{z13}}
% forth row
\multicolumn{2}{l}{\rule{0pt}{10pt}Person} &
\multicolumn{3}{l}{Mini Example} \\ \noalign{\pgfmark{z14}}
% fifth row
\multicolumn{1}{l}{\tiny\cellcolor[gray]{.8}Checked by} &
\multicolumn{1}{l}{\tiny\cellcolor[gray]{.8}Released by} &
\multicolumn{1}{l}{\tiny\cellcolor[gray]{.8}Release data} &
\multicolumn{1}{l}{\tiny\cellcolor[gray]{.8}Rev.} &
\multicolumn{1}{l}{\tiny\cellcolor[gray]{.8}Project / Reference} \\ \noalign{\pgfmark{z15}}
% sixth row
\multicolumn{1}{m{3.8cm}}{\hfill\tikzmark{c11}\kern-\tabcolsep} &
\multicolumn{1}{m{3.8cm}}{\hfill\tikzmark{c12}\kern-\tabcolsep} &
\multicolumn{1}{m{2cm}}{Date\hfill\tikzmark{c13}\kern-\tabcolsep} &
\multicolumn{1}{m{1cm}}{00\hfill\tikzmark{c14}\kern-\tabcolsep} &
\multicolumn{1}{m{3.2cm}}{\hfill\tikzmark{c15}\kern-\tabcolsep} \\ \noalign{\pgfmark{z16}}
\end{tabular}}%
%draw second line
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:tstart} |- {pic cs:z12}) --({pic cs:c15} |- {pic cs:z12});
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:tstart} |- {pic cs:z13}) --({pic cs:c15} |- {pic cs:z13});
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:tstart} |- {pic cs:z14}) --({pic cs:c15} |- {pic cs:z14});
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:tstart} |- {pic cs:z15}) --({pic cs:c15} |- {pic cs:z15});
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:tstart} |- {pic cs:z16}) --({pic cs:c15} |- {pic cs:z16});
%draw left line
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:tstart} |- {pic cs:z12}) --({pic cs:tstart} |- {pic cs:z16});
%draw right line
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:c15} |- {pic cs:z12}) --({pic cs:c15} |- {pic cs:z16});
%draw second vertical line
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:c11} |- {pic cs:z14}) --({pic cs:c11} |- {pic cs:z16});
%draw third vertical line
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:c12} |- {pic cs:z12}) --({pic cs:c12} |- {pic cs:z16});
%draw fourth vertical line
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:c13} |- {pic cs:z14}) --({pic cs:c13} |- {pic cs:z16});
%draw fifth vertical line
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:c14} |- {pic cs:z14}) --({pic cs:c14} |- {pic cs:z16});}
\fancyfoot{} % clear all footer fields
\fancyfoot[l]{\tiny Basic template:}
\fancyfoot[r]{\tiny A printed version of this document is not under document control}
}

\begin{document}
\pagestyle{myStyle}

\section{Example}
\blindtext
\blindtext[1]
\blindtext[2]
\blindtext[3]
\blindtext[4]

\end{document}

tikzmark in fancyhdr wird nicht auf jede Seite aktualisiert.

von DanielE » Fr 8. Mär 2019, 10:24

Hallo,
ich habe eine Problem mit dem fancy header.
Ich habe im Header eine Tabelle erstellt. Einige Zellen der Tabelle sind grau gefüllt.

Da es beim Acrobat Reader zur Überlappung der gefüllten Zellen und der Linien kommt, habe ich die Linien mit tikz neu gezeichent.

Jedoch wird das neuzeichnen nicht auf jeder Seite übernommen, sondern nur auf der ersten Seite.
\documentclass[10pt,a4paper]{article}
\usepackage[english]{babel}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage[table,xcdraw]{xcolor}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\usepackage{blindtext}

\renewcommand{\headrulewidth}{0pt} 

\fancypagestyle{myStyle}{
\fancyhead{} % clears all header fields
\fancyhead[L]{\renewcommand{\arraystretch}{0.6}
\tikzmark{tstart}%
\begin{tabular}{lllll}
% first row
\multicolumn{2}{l}{Text} & 
\multicolumn{3}{l}{Text Text} \\
% second row
\multicolumn{2}{l}{\rule{0pt}{10pt}\scriptsize Text - Text} & 
\multicolumn{2}{l}{\textcolor{blue}{Text}} & \multicolumn{1}{r}{Page:  \thepage (\pageref{LastPage})} \\ \noalign{\pgfmark{z12}}
% third row
\multicolumn{2}{l}{\tiny\cellcolor[gray]{.8}Prepared by} &
\multicolumn{3}{l}{\tiny\cellcolor[gray]{.8}Document name} \\ \noalign{\pgfmark{z13}}
% forth row
\multicolumn{2}{l}{\rule{0pt}{10pt}Person} & 
\multicolumn{3}{l}{Mini Example} \\ \noalign{\pgfmark{z14}}
% fifth row
\multicolumn{1}{l}{\tiny\cellcolor[gray]{.8}Checked by} & 
\multicolumn{1}{l}{\tiny\cellcolor[gray]{.8}Released by} & 
\multicolumn{1}{l}{\tiny\cellcolor[gray]{.8}Release data} & 
\multicolumn{1}{l}{\tiny\cellcolor[gray]{.8}Rev.} & 
\multicolumn{1}{l}{\tiny\cellcolor[gray]{.8}Project / Reference} \\ \noalign{\pgfmark{z15}}
% sixth row
\multicolumn{1}{m{3.8cm}}{\hfill\tikzmark{c11}\kern-\tabcolsep} & 
\multicolumn{1}{m{3.8cm}}{\hfill\tikzmark{c12}\kern-\tabcolsep} & 
\multicolumn{1}{m{2cm}}{Date\hfill\tikzmark{c13}\kern-\tabcolsep} & 
\multicolumn{1}{m{1cm}}{00\hfill\tikzmark{c14}\kern-\tabcolsep} & 
\multicolumn{1}{m{3.2cm}}{\hfill\tikzmark{c15}\kern-\tabcolsep} \\ \noalign{\pgfmark{z16}}
\end{tabular}}%

%draw second line
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:tstart} |- {pic cs:z12}) --({pic cs:c15} |- {pic cs:z12});
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:tstart} |- {pic cs:z13}) --({pic cs:c15} |- {pic cs:z13});
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:tstart} |- {pic cs:z14}) --({pic cs:c15} |- {pic cs:z14});
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:tstart} |- {pic cs:z15}) --({pic cs:c15} |- {pic cs:z15});
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:tstart} |- {pic cs:z16}) --({pic cs:c15} |- {pic cs:z16});
%draw left line
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:tstart} |- {pic cs:z12}) --({pic cs:tstart} |- {pic cs:z16});
%draw right line
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:c15} |- {pic cs:z12}) --({pic cs:c15} |- {pic cs:z16});
%draw second vertical line
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:c11} |- {pic cs:z14}) --({pic cs:c11} |- {pic cs:z16});
%draw third vertical line
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:c12} |- {pic cs:z12}) --({pic cs:c12} |- {pic cs:z16});
%draw fourth vertical line
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:c13} |- {pic cs:z14}) --({pic cs:c13} |- {pic cs:z16});
%draw fifth vertical line
\tikz[overlay,remember picture]\draw[black,]  ({pic cs:c14} |- {pic cs:z14}) --({pic cs:c14} |- {pic cs:z16});

\fancyfoot{} % clear all footer fields
\fancyfoot[l]{\tiny Basic template:}
\fancyfoot[r]{\tiny A printed version of this document is not under document control}
}

\begin{document}
\pagestyle{myStyle}

\section{Example}
\blindtext
\blindtext[1]
\blindtext[2]
\blindtext[3]
\blindtext[4]

\end{document}
Wie bekomme ich es hin, dass die Linien auf jeder Seite gezeichnet werden?

Nach oben