Auch hier gefragt.


Seitengroße Teiltabellen bei Tabelle über mehrere Seiten.

Ich habe eine Tabelle über mehrere Seiten (dafür verwende ich xltabular, was als Kombination von tabularx und longtable empfohlen wird; und für interne (Zahlen-)Formatierungen pgfplotstable).

Allen Teiltabellen sollen seitenbreit und seitenhoch sein, und zwar derart, dass die Köpfe jeweils ganz oben, die Füße jeweils ganz unten sind.

Wie kann ich das umsetzen?

Beachte: Die Zeilenzahl ist im Original variabel, abhängig von den Werten p1,p2,..., die gewählt wurden (teils lange Berechnungszeit).

Hinweis: Ich habe paperheight=58mm gesetzt, um den Effekt besser zu veranschaulichen.

alt text

\documentclass[paper=a5]{scrreprt}
\usepackage[margin=14mm, showframe=true,
paperheight=58mm,
]{geometry}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.18}
\usepackage{xltabular}
\newcolumntype{Y}{>{\centering\arraybackslash}X@{\hspace{5pt}}}

\begin{document}
% Create some table-data =====================
\def\OutFilename{\jobname-data.csv}
\newwrite\MyFile
\immediate\openout\MyFile=\OutFilename
%
\foreach[count=\No from 0] \n in {1,...,4}{%%
\foreach \k in {0,...,\n}{
\immediate\write\MyFile{\n, \k, 
0.1111, 0.2222, 0.3333, 0.4444, 0.5555, 0.6666, 0.7777, 
\k, \No}
}%%
}
\immediate\closeout\MyFile
% ===================================
\noindent%
\pgfplotstabletypeset[
precision=4, skip 0.,% number format
header=true,
font=\footnotesize,
column type=,
begin table=\begin{xltabular}{\textwidth}{c c | *{7}{Y} | c l},
end table=\end{xltabular},
col sep=comma, 
every head row/.style={%%
output empty row,
before row={%
%% Very first Header ========================
  \hline
  n & k & p1 & p2 & p3 & p4 & p5 & p6 & p7 & k & N  \\ \hline
  \endfirsthead
%% Header for subsequent pages ================
  \hline
  n & k & P1 & P2 & P3 & P4 & P5 & P6 & P7 & k & N  \\ \hline
  \endhead
%% Footer for all pages except last ================
  \hline
  n & k & q1 & q2 & q3 & q4 & q5 & q6 & q7 & k & N  \\ \hline
\endfoot
%% Footer for the very last page ================
  \hline 
  n & k & Q1 & Q2 & Q3 & Q4 & Q5 & Q6 & Q7 & k & N  \\ \hline
  \endlastfoot
},% end of 'before row' %%
},%% end of 'every head row/.style' %%
]{\OutFilename}
\end{document}

gefragt 5 Stunden her

cis's gravatar image

cis
9.6k132473492
Akzeptiert-Rate: 28%

bearbeitet 5 Stunden her

Irgendwie hat es die Frage zweimal reingestellt. Ich weiß nicht warum. Einmal gelöscht.

(2 Stunden her) cis
Deine Antwort auf die Frage: (Bemerkungen bitte oben als Kommentar)
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×259
×41
×40
×33
×1

gestellte Frage: 5 Stunden her

Frage wurde gesehen: 23 Mal

zuletzt geändert: 2 Stunden her