Discussion:
Doppelte/Dreifache Seitenzahlen, threeparttablex, xltabular
(zu alt für eine Antwort)
Stefan Junge
2020-10-27 06:35:39 UTC
Permalink
Hallo,

ich habe mehrere indentische Seitenzahlen (doppelt/dreifach) und
das wird vermutlich durch das Paket xltabular verursacht.

Ich habe unten zwei Beispiele zusammengestellt:
1) Minimalbeispiel mit xltabular (Seite 2 dreifach)
2) Minimalbeispiel mit longtable (ohne Fehler)

In dem 1. Beispiel mit xtlabular wird die Seite 2 dreifach gezählt.
Ich vermute den Fehler immer dann, wenn die Tabelle genau bis zum
Ende einer Seite reicht, aber noch nicht umgebrochen wird. Das ist
bei der ersten Tabelle aus dem Beispiel mit xltabular der Fall.
Wenn man in der ersten Tabelle die letzten drei Zeilen aktiviert
und mit kompiliert, tritt der Fehler nicht mehr auf. Wenn man das
\vspace*{125mm} vergrößert oder verkleinert treten auch immer wieder
unterschiedliche Fehler auf (doppelte Seitenzahlen).

Der Fehler ist unabhängig von der Version von longtable (zumindestens
was ich gesehen habe), der Fehler tritt mit v4.13 und v4.14 auf.

Hat jemand eine Lösung dafür?
Gruß
Stefan




% -----------------------------
% Minimalbeispiel mit xltabular
% -----------------------------
\NeedsTeXFormat{LaTeX2e}
\documentclass[paper=a4, twoside=true]{scrreprt}

% Languages and Encoding
\usepackage[utf8]{inputenc} % https://www.ctan.org/pkg/inputenc
\usepackage[T1]{fontenc} % https://www.ctan.org/pkg/fontenc
\usepackage[onehalfspacing]{setspace} % https://www.ctan.org/pkg/setspace
%
\usepackage{geometry}
\geometry{left=20mm, right=30mm, top=45mm, bottom=35mm, headheight=15mm, headsep=15mm}

% Tables
\usepackage{longtable}[2020-02-07] % longtable v4.14 (https://github.com/latex3/latex2e/tree/longtable4.14)
\usepackage[referable]{threeparttablex} % https://www.ctan.org/pkg/threeparttablex (Notes in longtable)
\usepackage{xltabular} % https://www.ctan.org/pkg/xltabular

% Debugging Helper
\usepackage{showframe} % https://www.ctan.org/pkg/showframe
\usepackage{lipsum} % https://www.ctan.org/pkg/lipsum
\usepackage{mwe} % https://www.ctan.org/pkg/mwe
%
\newenvironment{ConnectionTabularNotes}[2]{%
\xltabular{\textwidth}{lXll}
\caption{#1}
\tabularnewline
Name & Description & Reference & OC \tabularnewline
\endfirsthead
\caption*{#1 (Continued)} \tabularnewline
Name & Description & Reference & OC\tabularnewline
\endhead
\multicolumn{4}{r}{\emph{Continued on next page $\rightarrow$}}
\endfoot
\endlastfoot%
}{\endxltabular}
%
\begin{document}
%
\chapter{Chapter}

\vspace*{125mm}

\section{Section A}
%
\begin{figure}[ht]
\centering
\includegraphics[height=60mm]{example-image-a}
\caption{Example Figure}
\end{figure}
%
\lipsum[1]
%
\subsection{Subsection 1}
%
Das ist ein Beispiel.
%
\begin{ThreePartTable}
\begin{ConnectionTabularNotes}{Das ist ein Beispiel.}{tab:examplea}
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
%Pin Test & Description & Table & 10 \tabularnewline
%Pin Test & Description & Table & 10 \tabularnewline
%Pin Test & Description & Table & 10 \tabularnewline
\end{ConnectionTabularNotes}
\end{ThreePartTable}
%
\subsection{Subsection 2}
%
Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel.Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel.
%
\begin{ThreePartTable}
\begin{ConnectionTabularNotes}{Das ist ein Beispiel.}{tab:examplea}
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
\end{ConnectionTabularNotes}
\end{ThreePartTable}
%
\section{Section B}
%
\lipsum[1]
%
\begin{figure}[ht]
\centering
\includegraphics[height=90mm]{example-image-a}
\caption{Example Figure}
\end{figure}
%
\subsection{Subsection 1}
%
\lipsum[1]
%
\begin{ThreePartTable}
\begin{ConnectionTabularNotes}{Das ist ein Beispiel}{tab:examplec}
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
\end{ConnectionTabularNotes}
\end{ThreePartTable}
%
\subsection{Subsection 2}
%
\lipsum[1]
%
\begin{ThreePartTable}
\begin{ConnectionTabularNotes}{Das ist ein Beispiel.}{tab:examplea}
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
\end{ConnectionTabularNotes}
\end{ThreePartTable}
%
\subsection{Subsection 3}
%
\lipsum[1-3]
%
\end{document}
% -----------------------------
% EOF Minimalbeispiel mit xltabular
% -----------------------------



% -----------------------------
% Minimalbeispiel mit longtable
% -----------------------------
\NeedsTeXFormat{LaTeX2e}
\documentclass[paper=a4, twoside=true]{scrreprt}

% Languages and Encoding
\usepackage[utf8]{inputenc} % https://www.ctan.org/pkg/inputenc
\usepackage[T1]{fontenc} % https://www.ctan.org/pkg/fontenc
\usepackage[onehalfspacing]{setspace} % https://www.ctan.org/pkg/setspace
%
\usepackage{geometry}
\geometry{left=20mm, right=30mm, top=45mm, bottom=35mm, headheight=15mm, headsep=15mm}

% Tables
\usepackage{longtable}[2020-02-07] % longtable v4.14 (https://github.com/latex3/latex2e/tree/longtable4.14)
\usepackage[referable]{threeparttablex} % https://www.ctan.org/pkg/threeparttablex (Notes in longtable)

% Debugging Helper
\usepackage{showframe} % https://www.ctan.org/pkg/showframe
\usepackage{lipsum} % https://www.ctan.org/pkg/lipsum
\usepackage{mwe} % https://www.ctan.org/pkg/mwe
%
\begin{document}
%
\chapter{Chapter}

\vspace*{125mm}

\section{Section A}
%
\begin{figure}[ht]
\centering
\includegraphics[height=60mm]{example-image-a}
\caption{Example Figure}
\end{figure}
%
\lipsum[1]
%
\subsection{Subsection 1}
%
Das ist ein Beispiel.
%
\begin{ThreePartTable}
\begin{longtable}{llll}
Name & Description & Reference & OC \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
% Pin Test & Description & Table & 10 \tabularnewline
% Pin Test & Description & Table & 10 \tabularnewline
% Pin Test & Description & Table & 10 \tabularnewline
\end{longtable}
\end{ThreePartTable}
%
\subsection{Subsection 2}
%
Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel.Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel. Das ist ein Beispiel.
%
\begin{ThreePartTable}
\begin{longtable}{llll}
Name & Description & Reference & OC \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
\end{longtable}
\end{ThreePartTable}
%
\section{Section B}
%
\lipsum[1]
%
\begin{figure}[ht]
\centering
\includegraphics[height=90mm]{example-image-a}
\caption{Example Figure}
\end{figure}
%
\subsection{Subsection 1}
%
\lipsum[1]
%
\begin{ThreePartTable}
\begin{longtable}{llll}
Name & Description & Reference & OC \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
\end{longtable}
\end{ThreePartTable}
%
\subsection{Subsection 2}
%
\lipsum[1]
%
\begin{ThreePartTable}
\begin{longtable}{llll}
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
Pin Test & Description & Table & 10 \tabularnewline
\end{longtable}
\end{ThreePartTable}
%
\subsection{Subsection 3}
%
\lipsum[1-3]
%
\end{document}
% -----------------------------
% EOF Minimalbeispiel mit longtable
% -----------------------------
Ulrike Fischer
2020-10-27 11:57:24 UTC
Permalink
Post by Stefan Junge
ich habe mehrere indentische Seitenzahlen (doppelt/dreifach) und
das wird vermutlich durch das Paket xltabular verursacht.
1) Minimalbeispiel mit xltabular (Seite 2 dreifach)
2) Minimalbeispiel mit longtable (ohne Fehler)
Ich habe es mal David geschickt, aber da wie du sagst, es mit
longtable geht, liegt der Verdacht nahe, dass einer der Patches von
ltablex oder xtabular das Problem ist.
--
Ulrike Fischer
http://www.troubleshooting-tex.de/
Rolf Niepraschk
2020-10-27 22:50:48 UTC
Permalink
Post by Ulrike Fischer
Post by Stefan Junge
ich habe mehrere indentische Seitenzahlen (doppelt/dreifach) und
das wird vermutlich durch das Paket xltabular verursacht.
1) Minimalbeispiel mit xltabular (Seite 2 dreifach)
2) Minimalbeispiel mit longtable (ohne Fehler)
Ich habe es mal David geschickt, aber da wie du sagst, es mit
longtable geht, liegt der Verdacht nahe, dass einer der Patches von
ltablex oder xtabular das Problem ist.
Ich hab's geahnt. Wird etwas dauern, bevor ich mir "xltabular" wieder
mal antue...

...Rolf
Ulrike Fischer
2020-10-29 09:06:44 UTC
Permalink
Post by Rolf Niepraschk
Ich hab's geahnt. Wird etwas dauern, bevor ich mir "xltabular" wieder
mal antue...
Ich denke zumindest ein \par zu Beginn von xltabular wäre sinnvoll.
D.h. das Äquivalent zu
\pretocmd{\xltabular}{\par}{}{\fail}

Es kann nicht schaden, die longtable würde es später sowieso
einfügen, und es hilft zumindest in dem Beispiel hier.

(ltablex sollte das auch tun, aber wenn ich den Code richtig
verstanden habe, würde sich das nicht auf xltabular durchschlagen.)
--
Ulrike Fischer
http://www.troubleshooting-tex.de/
Rolf Niepraschk
2020-10-31 14:36:29 UTC
Permalink
Post by Ulrike Fischer
Post by Rolf Niepraschk
Ich hab's geahnt. Wird etwas dauern, bevor ich mir "xltabular" wieder
mal antue...
Ich denke zumindest ein \par zu Beginn von xltabular wäre sinnvoll.
D.h. das Äquivalent zu
\pretocmd{\xltabular}{\par}{}{\fail}
Es kann nicht schaden, die longtable würde es später sowieso
einfügen, und es hilft zumindest in dem Beispiel hier.
(ltablex sollte das auch tun, aber wenn ich den Code richtig
verstanden habe, würde sich das nicht auf xltabular durchschlagen.)
"\xltabular" ist nur ein wrapper-Paket für die Pakete "tabularx",
"ltablex" und "longtable". Wenn da irgendwo ein "\par" fehlt, dann
sollte das in jenen Paketen eingefügt werden.

...Rolf
Stefan Junge
2020-11-03 17:34:17 UTC
Permalink
Ich habe >160 Tabellen in meinem Dokument und bei 2 Tabellen
hatte ich die ursprüngliche Tabelle noch nicht auf eine
neu definierte Tabellenumgebung umgestellt, leider übersehen.
Diese beiden Tabellen waren noch direkt in ThreePartTable und
xltabular gesetzt und hatten kein zusätzliches \par, wie alle
anderen Tabellen bei denen ich die nur die neue Tabellenumgebung
angepasst hatte und dort das \par eingefügt hatte.

Fazit: Das zusätzliche \par war die Lösung, es treten danach keine
doppelten/dreifachen Seitenzahlen mehr auf.

Vielen Dank an Ulrike und Rolf

Ulrike Fischer
2020-10-28 10:42:20 UTC
Permalink
Post by Stefan Junge
ich habe mehrere indentische Seitenzahlen (doppelt/dreifach) und
das wird vermutlich durch das Paket xltabular verursacht.
Versuche mal deine Tabelle grundsätzlich mit einem neuen Absatz zu
beginnen:

\newenvironment{ConnectionTabularNotes}[2]{%
\par ....
--
Ulrike Fischer
http://www.troubleshooting-tex.de/
Stefan Junge
2020-10-29 06:03:51 UTC
Permalink
Post by Stefan Junge
\newenvironment{ConnectionTabularNotes}[2]{%
\par ....
Damit hat sich leider nichts geändert.
Stefan Junge
2020-10-29 07:21:13 UTC
Permalink
Ich habe mir aus dem Texlive SVN die alten Versionen der Packages geholt und diese getestet
und auch in unterschiedlichen Kombinationen.

\ProvidesPackage{ltablex}[1995/11/06 v1.0 Modified tabularx]
\ProvidesPackage{ltablex}[2014/08/13 v1.1 Modified tabularx]% RN, 2014/08/13

\ProvidesPackage{tabularx}[2014/10/28 v2.10 `tabularx' package (DPC)]
\ProvidesPackage{tabularx}[2016/02/03 v2.11b `tabularx' package (DPC)]

\ProvidesPackage{xltabular}[2018/05/23 v0.1a `xltabular' package (hv,RN)]
\ProvidesPackage{xltabular}[2018/12/16 v0.2a `xltabular' package (hv,RN)]
\ProvidesPackage{xltabular}[2019/01/30 v0.2b `xltabular' package (hv,RN)]
\ProvidesPackage{xltabular}[2020/03/20 v0.2c `xltabular' package (hv,RN)]
\ProvidesPackage{xltabular}[2020/06/14 v0.2d `xltabular' package (hv,RN)]

Mit diesen Packages bleibt das Resultat für das Minimalbeispiel 1 mit xltabular
immer gleich, d.h. die Seite 2 ist immer dreifach. Ich glaube daher nicht, dass
die Patches der Vergangenheit damit zu tun haben. Vielleicht hilft das bei
der Fehlersuche.
Ulrike Fischer
2020-10-29 08:36:02 UTC
Permalink
Post by Stefan Junge
\newenvironment{ConnectionTabularNotes}[2]{%
\par ....
Damit hat sich leider nichts geändert.

Sollte es aber. Ich habe es mit deinem Beispiel getestet.
Post by Stefan Junge
Ich habe mir aus dem Texlive SVN die alten Versionen der Packages geholt und diese getestet
und auch in unterschiedlichen Kombinationen.
Das Problem ist alt und an xtabularx direkt liegt es nicht, ich habe
ein Beispiel, dass nur ltablex verwendet und das gleiche Problem
zeigt. Aber auch dort auch dort hilft ein \par vor \begin{tabularx}
damit die Outputroutine vor der Tabelle aufgerufen wird. .
--
Ulrike Fischer
http://www.troubleshooting-tex.de/
Stefan Junge
2020-10-29 13:01:37 UTC
Permalink
Post by Ulrike Fischer
Sollte es aber. Ich habe es mit deinem Beispiel getestet.
Hatte vergessen zu erwähnen, dass ich mein richtiges Dokument meinte.
In dem Minimalbeispiel hat es funktioniert, aber in meinem eigentlichen Dokument
(>130 Tabellen) hat es nicht funktioniert. Es hat sich aber gebessert, es sind
noch 2x eine doppelte Seitenzählung drin. Ich muss mir das mal genauer anschauen,
was auf den Seiten ist. Vielleich kann ich dort mit manuellen Umbrüchen das irgendwie
korrigieren.
Ulrike Fischer
2020-10-29 17:43:58 UTC
Permalink
Post by Stefan Junge
Post by Ulrike Fischer
Sollte es aber. Ich habe es mit deinem Beispiel getestet.
Hatte vergessen zu erwähnen, dass ich mein richtiges Dokument meinte.
In dem Minimalbeispiel hat es funktioniert, aber in meinem eigentlichen Dokument
(>130 Tabellen) hat es nicht funktioniert. Es hat sich aber gebessert, es sind
noch 2x eine doppelte Seitenzählung drin. Ich muss mir das mal genauer anschauen,
was auf den Seiten ist. Vielleich kann ich dort mit manuellen Umbrüchen das irgendwie
korrigieren.
Nun ja, du weißt ja wie es geht: Minimalbeispiel ...
--
Ulrike Fischer
http://www.troubleshooting-tex.de/
Lesen Sie weiter auf narkive:
Loading...