summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/ltablex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-04-13 23:02:03 +0000
committerKarl Berry <karl@freefriends.org>2013-04-13 23:02:03 +0000
commitaf6a57780155c9bd961425d0b5c53917ccb1d930 (patch)
tree11b296978cd4d57d5411c735ef0104496e9667ef /Master/texmf-dist/tex/latex/ltablex
parent0193f0a029413b152b005c0a6d6e9e4f8439e85f (diff)
ltablex (12apr13)
git-svn-id: svn://tug.org/texlive/trunk@29903 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/ltablex')
-rw-r--r--Master/texmf-dist/tex/latex/ltablex/ltablex.sty231
1 files changed, 231 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/ltablex/ltablex.sty b/Master/texmf-dist/tex/latex/ltablex/ltablex.sty
new file mode 100644
index 00000000000..0ab32dd38af
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/ltablex/ltablex.sty
@@ -0,0 +1,231 @@
+%%
+%% This is file ltablex.sty (v1.0, November 1995)
+%%
+%%
+%% (C) Author: Anil K. Goel (akgoel@uwaterloo.ca)
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% The file modifies the tabularx environment to
+%% combine the features of the tabularx package
+%% (auto-sized columns in a fixed width table)
+%% with those of the longtable package
+%% (multi-page tables).
+%%
+%% The tables are typeset using the tabularx environment
+%% and the longtable environment is used internally to
+%% handle multi-page tables. The \setlongtables feature
+%% is used, and, therefore, the document should be
+%% run through latex twice.
+%%
+%% Another feature that has been added is to treat the X
+%% columns like 'l' columns if the table contents would allow
+%% that to happen without exceeding the specified width of
+%% the table. In other words, the specified width is
+%% treated as the maximum allowed and not the exact width
+%% of the table. This feature is the default but can be
+%% disabled (or enabled) with \keepXColumns (or \convertXColumns).
+%%
+%% Caveats:
+%% . The document needs to be latexed a couple times in general.
+%% . In general, it is necessary to remove the .aux file before
+%% the first latex run on the document.
+%% . The table should not be larger than TeX's memory capacity
+%%
+%%
+%% Here is a a simple usage example:
+%%
+%%
+%% \documentclass{article}
+%%
+%% \usepackage{ltablex}
+%%
+%% \textheight=4in
+%%
+%% \begin{document}
+%%
+%% % we want a table that is \textwidth long, has 4 columns, columns 1
+%% % and 3 are auto sized with the 3rd columns being 3 times wider than
+%% % the first column.
+%% %
+%%
+%%
+%% \begin{tabularx}{\linewidth}%
+%% {|>{\setlength{\hsize}{.5\hsize}\raggedright\arraybackslash}X| % col 1; auto-sized ragged right
+%% c| % col 2; default centered
+%% >{\setlength{\hsize}{1.5\hsize}\raggedleft\arraybackslash}X|% col 3; auto-sized ragged left
+%% l|} % col 4; default left-justified
+%%
+%% \caption*{The Table Caption}\\
+%% \hline
+%% F-Head1 & F-Head2 & F-Head3 & F-Head4\\
+%% \hline
+%% \hline
+%% \endfirsthead
+%% \hline
+%% Head1 & Head2 & Head3 & Head4\\
+%% \hline
+%% \hline
+%% \endhead
+%%
+%% \hline
+%% \hline
+%% Foot1 & Foot2 & Foot3 & Foot4\\
+%% \hline
+%% \endfoot
+%%
+%%
+%% \hline
+%% \hline
+%% L-Foot1 & L-Foot2 & L-Foot3 & L-Foot4\\
+%% \hline
+%% \endlastfoot
+%%
+%% This is a very long sentence not likely to fit&
+%% not too long&
+%% This is another very long sentence not likely to fit&
+%% not long\\
+%%
+%% \hline
+%% filler & filler & filler & filler\\
+%%
+%% \hline
+%% This is a very long sentence not likely to fit&
+%% not too long&
+%% This is another very long sentence not likely to fit&
+%% not long\\
+%%
+%% \hline
+%% This is a very long sentence not likely to fit&
+%% not too long&
+%% This is another very long sentence not likely to fit&
+%% not long\\
+%%
+%% \hline
+%% This is a very long sentence not likely to fit&
+%% not too long&
+%% This is another very long sentence not likely to fit&
+%% not long\\
+%%
+%% \end{tabularx}
+%%
+%% \begin{tabularx}{\linewidth}{|c|X|c|}
+%% \hline
+%% a &convert X to l & b\\
+%% \hline
+%% \end{tabularx}
+%%
+%% \keepXColumns
+%% \begin{tabularx}{\linewidth}{|c|X|c|}
+%% \hline
+%% a &retain X & b\\
+%% \hline
+%% \end{tabularx}
+%%
+%% \convertXColumns
+%% \begin{tabularx}{\linewidth}{|c|X|c|}
+%% \hline
+%% a &convert X to l & b\\
+%% \hline
+%% \end{tabularx}
+%%
+%%
+%% \end{document}
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{ltablex}[1995/11/06 v1.0 Modified tabularx]
+
+\RequirePackage{longtable}[1994/12/08]
+\RequirePackage{tabularx}[1994/02/03]
+
+\newif\ifTX@convertX@
+\TX@convertX@true
+
+\newcommand\keepXColumns{
+ \TX@convertX@false
+}
+
+\newcommand\convertXColumns{
+ \TX@convertX@true
+}
+
+\renewcommand\TX@endtabularx{%
+ \expandafter\TX@newcol\expandafter{\tabularxcolumn{\TX@col@width}}%
+ \let\verb\TX@verb
+ \def\@elt##1{\global\value{##1}\the\value{##1}\relax}%
+ \edef\TX@ckpt{\cl@@ckpt}%
+ \let\@elt\relax
+ \TX@old@table=\maxdimen
+ \TX@col@width=\TX@target
+ \global\TX@cols=\@ne
+ \TX@typeout@
+ {\@spaces Table Width\@spaces Column Width\@spaces X Columns}%
+
+ %
+ % define \endhead, etc. to be \\ so that in this part
+ % of the process they are just rows
+ %
+ \let\savecaption\caption
+ \def\caption{\\}
+ \let\saveendhead\endhead
+ \def\endhead{\\}
+ \let\saveendfirsthead\endfirsthead
+ \def\endfirsthead{\\}
+ \let\saveendfoot\endfoot
+ \def\endfoot{\\}
+ \let\saveendlastfoot\endlastfoot
+ \def\endlastfoot{\\}
+ %
+ %
+ \ifTX@convertX@
+ \TX@trial{\def\NC@rewrite@X{\NC@find l}}
+ \ifdim\wd\@tempboxa<\TX@target
+ \TX@newcol{l}
+ \else
+ \TX@convertX@false
+ \fi
+ \fi
+
+ \ifTX@convertX@
+ \relax
+ \else
+ \TX@trial{\def\NC@rewrite@X{%
+ \global\advance\TX@cols\@ne\NC@find p{\TX@col@width}}}%
+ \loop
+ \TX@arith
+ \ifTX@
+ \TX@trial{}%
+ \repeat
+ \fi
+ {\let\@footnotetext\TX@ftntext\let\@xfootnotenext\TX@xftntext
+ % we may as well set \LTchunksize to be \maxdimen as the whole
+ % thing is already in memory anyway so we may as well do it in one
+ % chunk. if it is too big for one chunk we are already dead..
+ \LTchunksize\maxdimen
+ %
+ % restore \endhead, etc.
+ %
+ \let\caption\savecaption
+ \let\endhead\saveendhead
+ \let\endfirsthead\saveendfirsthead
+ \let\endfoot\saveendfoot
+ \let\endlastfoot\saveendlastfoot
+ %
+ \expandafter\longtable
+ \the\toks@
+ \endlongtable
+ }%
+ \global\TX@ftn\expandafter{\expandafter}\the\TX@ftn
+ \ifnum0=`{\fi}%
+ \end{tabularx}
+}
+
+
+%
+% activate column width reading from the .aux file
+%
+
+
+\setlongtables