Quiq::LaTeX::LongTable - Erzeuge LaTeX longtable
Quiq::Hash
Der Code
use Quiq::LaTeX::LongTable; use Quiq::LaTeX::Code; my $tab = Quiq::LaTeX::LongTable->new( alignments => ['l','r','c'], caption => 'Ein Test', titles => ['Links','Rechts','Zentriert'], rows => [ ['A',1,'AB'], ['AB',2,'CD'], ['ABC',3,'EF'], ['ABCD',4,'GH'], ], ); my $l = Quiq::LaTeX::Code->new; my $code = $tab->latex($l);
produziert
\begin{longtable}{|lrc|} \hline Links & Rechts & Zentriert \\ \hline \endfirsthead \multicolumn{3}{r}{\emph{Fortsetzung}} \ \hline Links & Rechts & Zentriert \\ \hline \endhead \hline \multicolumn{3}{r}{\emph{weiter nächste Seite}} \ \endfoot \caption{Ein Test} \endlastfoot A & 1 & AB \\ \hline AB & 2 & CD \\ \hline ABC & 3 & EF \\ \hline ABCD & 4 & GH \\ \hline \end{longtable}
was im LaTeX-Dokument in etwa so aussieht
+--------------------------+ | Links Rechts Zentriert | +--------------------------+ | A 1 AB | +--------------------------+ | AB 12 CD | +--------------------------+ | ABC 123 EF | +--------------------------+ | ABCD 1234 GH | +--------------------------+ Tabelle 1: Ein Test
$tab = $class->new(@keyVal);
Horizontale Ausrichtung der Tabelle auf der Seite. Mögliche Werte: 'l', 'c'.
Liste der Kolumnen-Ausrichtungen. Mögliche Werte je Kolumne: 'l', 'r', 'c'.
Linien in und um die Tabelle. Der Wert ist eine Zeichenkette, die sich aus den Zeichen 't', 'h', 'v', 'H', 'V' zusammensetzt.
Liste von zusätzlichen Argumenten, die an die Funktionen rowCallback und titleCallback übergeben werden.
rowCallback
titleCallback
Unterschrift zur Tabelle.
Einrückung der Tabelle vom linken Rand. Die Option align darf dann nicht gesetzt sein, auch nicht auf 'l'.
align
Label der Tabelle, über welches sie referenziert werden kann.
Die Sprache des LaTeX-Dokuments.
Wende \makecell auf alle Kolumnen an. Diese Option muss aktiviert werden, wenn mehrzeilige Zellen mehrzeilig dargestellt werden sollen, denn dies kann LaTeX nicht. Wird die Option aktiviert, muss das Package makecell geladen werden.
\makecell
makecell
Liste der Tabellenzeilen.
Subroutine, die für jede Zeile in @rows die Zeileninformation liefert, die in den LaTeX-Code eingesetzt wird. Default:
sub { my ($self,$l,$row,$n) = @_; my @row; for my $val (@$row) { push @row,$l->protect($val); } return @row; }
Farbe der Titelzeile.
Zeichenkette, die um jeden Kolumnentitel gelegt wird. Für %s wird der Titel eingesetzt. Auf diesem Weg kann ein Makro auf jeden Titel angewendet werden. Z.B. serifenlosen, fetten Font einstellen:
%s
titleWrapper => '\textsf{\textbf{%s}}'
Liste der Kolumnentitel.
Subroutine, die die Titelinformation liefert, die in den LaTeX-Code eingesetzt wird. Default:
sub { my ($self,$l,$title,$n) = @_; return $l->protect($title); }
LongTable-Objekt
Instantiiere ein LaTeX LongTable-Objekt und liefere eine Referenz auf dieses Objekt zurück.
$code = $tab->latex($l); $code = $class->latex($l,@keyVal);
Generiere den LaTeX-Code des Objekts und liefere diesen zurück. Als Klassenmethode gerufen, wird das Objekt intern erzeugt und mit den Attributen @keyVal instantiiert.
1.184
Frank Seitz, http://fseitz.de/
Copyright (C) 2020 Frank Seitz
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Quiq, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Quiq
CPAN shell
perl -MCPAN -e shell install Quiq
For more information on module installation, please visit the detailed CPAN module installation guide.