Analogon zur Bedingung \ifodd zur Überprüfung, ob die Seitenzahl einer Konstanten entspricht

Analogon zur Bedingung \ifodd zur Überprüfung, ob die Seitenzahl einer Konstanten entspricht

Ich habe ein großartiges Beispiel für die Verwendung \ifoddeiner Bedingung, wenn \makeatletterdie Umgebung durch @Symbol 1 angezeigt wird.

\begin{document}
\makeatletter
\newbox\LT@oddhead
\newbox\LT@evenhead
\def\endoddhead{\LT@end@hd@ft\LT@oddhead}
\def\endevenhead{\LT@end@hd@ft\LT@evenhead}
\def\LT@head{\ifodd\c@page\LT@oddhead\else\LT@evenhead}
\makeatother
\begin{landscape}\small\begin{longtabu}to\linewidth{lll XX XXXXX}
    \caption*{ Long caption of a long table}\\\toprule1&2&3&4&5&6&7&8\\\midrule\endfirsthead
    \caption*{ (Cont) Long caption of a long table }\\\toprule1&2&3&4&5&6&7&8\\\midrule\endoddhead
    \toprule1&2&3&4&5&6&7&8\\\midrule\endevenhead

Ich möchte noch eine Anweisung hinzufügen, um zu prüfen, ob die Seitennummer einer Konstanten entspricht. Beispiel:

\def\LT@head{\ifeq\c@page={some constant}\{some stuff}\else\LT@head}

\ifoddAber ich kann in der Umgebung kein Analogon für den Befehl finden \makeatletter. Irgendwelche Ideen?

EDIT: minimales funktionierendes Beispiel hinzufügen EDIT2: MWE reduziert und @-Zeichen vor someconstant hinzugefügt. Wenn ich die Zeile mit dem Compiler auskommentiere, \ifnumwird kein PDF erstellt. Die Warnmeldung lautet ! Missing number, treated as zero.. Ich bin immer noch verwirrt.

\documentclass[a4paper, 10pt, oneside,hidelinks]{book} 
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage{booktabs}
\usepackage{lscape}
\usepackage{tabu}
\usepackage{longtable}



\begin{document}
\makeatletter
\newbox\LT@oddhead
\newbox\LT@evenhead
\newbox\LT@endhead
\newcommand{\@someconstant}{2}
\newcommand{\Endd}{End}
\def\endoddhead{\LT@end@hd@ft\LT@oddhead}
\def\endevenhead{\LT@end@hd@ft\LT@evenhead}
\def\endendhead{\LT@end@hd@ft\LT@endhead}
\def\LT@head{\ifodd\c@page\LT@oddhead\else\LT@evenhead}
%\def\LT@head{\ifnum\c@page=\@someconstant\relax\Endd\else\LT@head\fi}
\makeatother



\begin{landscape}
  \small
\begin{longtabu} to \linewidth{ lll XX  XXXXX}

\caption*{ Long caption of a long table}\\\toprule1&2&3&4&5&6&7&8\\\midrule\endfirsthead
    \caption*{ (Cont) Long caption of a long table }\\\toprule1&2&3&4&5&6&7&8\\\midrule\endoddhead
    \toprule1&2&3&4&5&6&7&8\\\midrule\endevenhead
    End\\\endendhead


  \bottomrule
  \endfoot

  \bottomrule
  \endlastfoot




1-й

 & Длина, мм & Самцы & —
 & 85,1--104,0 93,7 (6) & 100,6 (1) & —
 & —
 & —
 & —
 \\ &  & Самки & —
 & 92,1--105,8 97,6 (4) & 137,6 (1) & —
 & —
 & —
 & —
 \\ 
 &  & juv & 43,6–82,0 53,3 (20) & —
 & —
 & —
 & —
 & —
 & —
 \\ 
 & Масса, г & Самцы & —
 & 2,3--4,2 \linebreak2,8 (6) & 3,2 (1) & —
 & —
 & —
 & —
 \\ 
 &  & Самки & —
 & 2,2--3,6\linebreak 2,7 (4) & 7,9 (1) & —
 & —
 & —
 & —
 \\ 
 &  & juv & 0,2--1,8\linebreak 0,4 (20) & —
 & —
 & —
 & —
 & —
 & —
 \\ 
\\

2-й & Длина, мм & Самцы & —
 & 72,0--114,0
93,6 (16) & 104,3--132,3
113,4 (4) & 121,5--178,2
139,3 (9) & 
158,9 (1) & 193,7--212,7
175,6 (3) & —
 \\ 
 &  & Самки & —
 & 77,5--110,4
95,2 (7) & 110,4--131,3
117,6 (4) & 167,8 (1) & —
 & 182,9 (1) & —
 \\ 
 &  & juv & 45,1--86,9
51,9 (40) & —
 & —
 & —
 & —
 & —
 & —
 \\ 
 & Масса, г & Самцы & —
 & 1,1--5,1 \linebreak 2,7 (16) & 3,7--5,5 \linebreak 4,3  (4) &
 5,1--15,0\linebreak  9,2 (9) 
 & 17,0 (1) & 21,0--30,0 26,3 (3) & —
 \\ 
 &  & Самки & —
 & 1,5--4,7
\linebreak2,8 (7) & 4,0--6,1
\linebreak5,1 (4) & 15,0 (1) & —
 & 34,0 (1) & —
 \\ 
 &  & juv & 0,2--1,3
\linebreak0,4 (40) & —
 & —
 & —
 & —
 & —
 & —
 \\ 

\\

3-й & Длина, мм & Самцы & —
 & 85,8--114,6
100,4 (7) & 113,7--131,2
118,3 (5) & 124,0--172,7
148,3 (2) & 144,6  (1)
 & —
 & 181,7--184,0
182,8 (2) \\ 
 &  & Самки & —
 & 84,7--115,7
98,0 (9) & 109,1--156,4
133,3 (3) & 106,9--167,1
140,0 (3) & 159,3 (1) & 222,6 (1) & 170,2 (1) \\ 
 &  & juv & 42,3--90,4
61,0 (26) & —
 & —
 & —
 & —
 & —
 & —
 \\ 
 & Масса, г & Самцы & —
 & 2,1--5,2
\linebreak3,7 (7) & 4,5--10,0
\linebreak5,8 (5) & 7,6--19,0
\linebreak13,3 (2) & 11,0 (1) & —
 & 23,5--24,9
24,2 (2) \\ 
 &  & Самки & —
 & 2,0--5,9
\linebreak3,5 (9) & 4,9--14,0
\linebreak9,7 (3) & 4,5--21,0
\linebreak12,5 (3) & 15,0 (1) & 39,0 (1) & 18,0 (1) \\ 
 &  & juv & 0,3--2,6
\linebreak0,9 (26) & —
 & —
 & —
 & —
 & —
 & —
 \\ 

\\

4-й & Длина, мм & Самцы & —
 & 77,6--112,0
92,7 (14) & 115,2--140,2
127,7 (2) & 135,2 (1) & 146,1--181,1
159,9 (3) & 157,9 (1) & 175,4--244,7
210,0 (2) \\ 
 &  & Самки & —
 & 88,0--113,7
99,1 (4) & 105,0--157,1
135,4 (6) & 123,0--174,3
141,3 (6) & 134,2--182,3
160,1 (3) & 181,6--187,0
183,4 (3) & —
 \\ 
 &  & juv & 43,9--81,0
52,0 (19) & —
 & —
 & —
 & —
 & —
 & —
 \\ 
 & Масса, г & Самцы & —
 & 1,2--5,0
\linebreak2,7 (14) & 5,0--12,0
\linebreak8,5 (2) & 10,9 (1) & 12,0--23,0
\linebreak16,6 (3) & 13,4 (1) & 17,0 (1) \\ 
 &  & Самки & —
 & 2,0--6,0
\linebreak3,2 (4) & 4,3--17,0
\linebreak9,3 (6) & 7,0--26,0
\linebreak13,0 (6) & 7,0--19,8
\linebreak14,4 (3) & 20,0--36,0
\linebreak25,3 (3) & —
 \\ 
 &  & juv & 0,2--2,3
\linebreak0,5 (19) & —
 & —
 & —
 & —
 & —
 & —
 \\ 
\\


5-й & Длина, мм & Самцы & —
 & 71,7--108,2
\linebreak91,3 (32) & 87,3--140,0
\linebreak110,6 (39) & 105,6--149,4
\linebreak126,8 (7) & 130,4--160,9
\linebreak149,6 (5) & 166,2 (1) & —
 \\ 
 &  & Самки & —
 & 80,2--105,4
\linebreak93,2 (30) & 93,6--152,9
\linebreak114,0 (48) & 123,0--147,1
\linebreak136,3 (12) & 144,2--147,0
\linebreak145,6 (2) & 140,7--179,6
\linebreak160,1 (2) & —
 \\ 
 &  & juv & 43,0--99,5
\linebreak73,1(47) & —
 & —
 & —
 & —
 & —
 & —
 \\ 
 & Масса, г & Самцы & —
 & 1,0--4,7
\linebreak2,6 (32) & 1,7--13,0
\linebreak4,6 (39) & 3,6--15,0
\linebreak8,37(7) & 9,1--21,0
\linebreak14,9 (5) & 11,6 (1) & —
 \\ 
 &  & Самки & —
 & 1,7--4,7
\linebreak2,9 (30) & 2,0--17,0
\linebreak5,5 (48) & 7,9--15,4
\linebreak10,9 (12) & 9,9--13,0
\linebreak11,4 (2) & 12,3--28,0
\linebreak20,1 (2) & —
 \\ 
 &  & juv & 0,2--4,2
\linebreak1,4 (47) & —
 & —
 & —
 & —
 & —
 & \multicolumn{1}{l}{—
} \\ 
 &  &  &  &  &  &  &  &  &  \\ 
\\


6-й & Длина, мм & Самцы & —
 & 61,0--147,4
\linebreak98,2 (19) & 104,1--166,3
\linebreak120,4 (27) & 119,1--189,3
\linebreak147,0 (12) & 139,0--175,4
\linebreak157,2 (3) & 176,6--215,0
\linebreak195,8 (2) & 199,1--267,0
\linebreak246,4 (5) \\ 
 &  & Самки & —
 & 78,2--139,6
\linebreak99,1 (15) & 93,3--162,4
\linebreak122,3 (23) & 119,0--177,0
\linebreak145,6 (6) & 145,8--169,7
\linebreak158,9 (4) & 203,6 (1) & 212,9 (1) \\ 
 &  & juv & 44,0--96,3
\linebreak64,4 (35) & —
 & —
 & —
 & —
 & —
 & —
 \\ 
 & Масса, г & Самцы & —
 & 1,3--13,0
\linebreak5,0 (15) & 2,7--14,0
\linebreak5,9 (27) & 6,5--24,0
\linebreak12,0 (12) & 9,0--9,8
\linebreak9,4 (2) & 18,0--38,0
\linebreak28,0  (2) & 19,6--73,0
\linebreak49,7 (5) \\ 
 &  & Самки & —
 & 1,6--11,0
\linebreak4,4 (12) & 1,8--13,0
\linebreak6,3 (23) & 5,6--16,0
\linebreak11,3 (5) & 10,7--18,0
\linebreak13,9 (4) & 34,0 (1) & 36,0 (1) \\ 
 &  & juv & 0,2--3,0
\linebreak1,3 (35) & —
 & —
 & —
 & —
 & —
 & —
 \\ 

\\

7-й & Длина, мм & Самцы & —
 & 69,6--131,3,5
\linebreak93,4 (39) & 83,5--159,1
\linebreak116,4 (41) & 105,4--181,8
\linebreak138,8 (14) & 132,0--168,0
\linebreak153,7 (5) & 134,9--178,9
\linebreak156,9 (2) & 193,5 (1) \\ 
 &  & Самки & —
 & 64,9--133,0
\linebreak88,2 (31) & 83,3--169,1
\linebreak121,6 (39) & 95,2--168,4
\linebreak136,9 (20) & 136,0--183,8
\linebreak158,8 (5) & 163,1--202,0
\linebreak177,1 (3) & 200,0 (1) \\ 
 &  & juv & 39,1--93,1
\linebreak61,3 (150) & —
 & —
 & —
 & —
 & —
 & —
 \\ 
 & Масса, г & Самцы & —
 & 1,0--9,0
\linebreak3,0 (39) & 1,8--17,0
\linebreak6,3 (41) & 4,1--34,0
\linebreak12,1 (14) & 8,4--21,7
\linebreak15,2 (5) & 9,1--22,0
\linebreak15,5 (2) & 39,0 (1) \\ 
 &  & Самки & — & 1,0--8,7
\linebreak2,3 (31) & 1,7--22,0
\linebreak7,6 (39) & 4,0--24,0
\linebreak11,3 (20) & 9,0--26,0
\linebreak17,6 (5) & 15,0--39,0
\linebreak23,5 (3) & 51,0 (1)
 \\ 
 &  & juv & 0,1--3,5
\linebreak0,8(150) & —
 & —
 & —
 & —
 & —
 & —
 \\
\\ 

Общее & Длина, мм & Самцы & —
 & 61,0--147,4
\linebreak93,6 (133) & 83,5--166,3
\linebreak115,5 (119) & 105,4--189,3
\linebreak140,4 (45) & 130,4--181,1
\linebreak153,9 (18) & 134,9--215,0
\linebreak178,9 (9) & 175,4--267,0
\linebreak221,1 (10) \\ 
 &  & Самки & —
 & 64,9--139,6
\linebreak93,5 (100) & 83,3--169,1
\linebreak119,7 (124) & 95,2--177,0
\linebreak139,1 (48) & 134,2--183,8
\linebreak157,4 (15) & 140,7--222,6
\linebreak182,8 (11) & 170,2--212,9
\linebreak194,4 (3) \\ 
 &  & juv & 39,1--99,5
\linebreak61,8 (337) & —
 & —
 & —
 & —
 & —
 & —
 \\ 
 & Масса, г & Самцы & —
 & 1,0--13,0
\linebreak3,1 (129) & 1,7--17,0
\linebreak5,8 (119) & 3,6 -34,0
\linebreak11,0  (45) & 8,4--23,0
\linebreak14,5 (17) & 9,1--38,0
\linebreak21,3 (9) & 17,0--73,0
\linebreak39,4 (9) \\ 
 &  & Самки & —
 & 1,0--11,0
\linebreak2,9  (97) & 1,7--22,0
\linebreak6,6  (124) & 4,0--26,0
\linebreak11,5 (47) & 7,0--26,0
\linebreak14,8 (15) & 12,3--39,0
\linebreak26,7 (11) & 18,5--51,0
\linebreak35,1 (3) \\ 
 &  & juv & 0,1--4,2
\linebreak0,9 (337) & —
 & —
 & —
 & —
 & —
 & —
 \\ 

\end{longtabu}
\end{landscape}


\end{document}

Antwort1

Diese Antwort ist allgemeiner in Bezug auf Ihre Frage: Wie kann ich überprüfen, ob die Seitenzahl etwas Bestimmtes ist und nicht einfach nur seltsam?

Verwendenrefcount.

Warum? Wenn Sie über Seitenzahlen sprechen, müssen Sie bedenken, dass der Seitenersteller von TeX asynchron ist und Sie möglicherweise eine Seitenzahl testen, auf der Sie sich tatsächlich nicht befinden. Daher ist die Verwendung von Referenzen der beste Weg, um die richtige Seitenzahl zu erhalten. Und wenn Sie Referenzzähler vergleichen möchten, refcountfunktioniert es.

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{refcount,lipsum}
\begin{document}
Label \verb|abc| is on page~\pageref{abc}.
\ifnum\getpagerefnumber{abc}=5
  True
\else
  False
\fi

\lipsum[1-25]
\label{abc}
\lipsum[26-50]
\end{document}

Nach der ersten Kompilierung ist die Referenz noch nicht verfügbar und \getpagerefnumber{<label>}wird standardmäßig auf gesetzt 0. Für die korrekte Ausgabe benötigen Sie alsomindestens zweimal auf Anhieb kompilieren, danach müssen nur noch die Referenzen geklärt werden, damit die Bedingung richtig ausgewertet wird. Unabhängig davon wird LaTeX vor etwaigen Referenzproblemen warnen, falls welche vorhanden sind.

verwandte Informationen