📄 ltablex.sty
字号:
%%%% This is file ltablex.sty (v1.0, November 1995)%%%%%% Author: Anil K. Goel (akgoel@uwaterloo.ca)%%%%%% Copyright (C) QNX Software Systems Ltd. 1995%% All rights reserved. %% Please send any comments/suggetions to: latex@qnx.com%%%% This system is distributed in the hope that it will be useful%% to others, but WITHOUT ANY WARRANTY; without even the implied%% warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. %%%%%% 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -