e94b78b6cebc907099709945f6995ab48b561e0a
[platform/upstream/doxygen.git] / templates / latex / longtable_doxygen.sty
1 %%
2 %% This is file `longtable.sty',
3 %% generated with the docstrip utility.
4 %%
5 %% The original source files were:
6 %%
7 %% longtable.dtx  (with options: `package')
8 %% 
9 %% This is a generated file.
10 %% 
11 %% The source is maintained by the LaTeX Project team and bug
12 %% reports for it can be opened at http://latex-project.org/bugs.html
13 %% (but please observe conditions on bug reports sent to that address!)
14 %% 
15 %% Copyright 1993-2016
16 %% The LaTeX3 Project and any individual authors listed elsewhere
17 %% in this file.
18 %% 
19 %% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
20 %% --------------------------------------------------------------------------
21 %% 
22 %% It may be distributed and/or modified under the
23 %% conditions of the LaTeX Project Public License, either version 1.3c
24 %% of this license or (at your option) any later version.
25 %% The latest version of this license is in
26 %%    http://www.latex-project.org/lppl.txt
27 %% and version 1.3c or later is part of all distributions of LaTeX
28 %% version 2005/12/01 or later.
29 %% 
30 %% This file may only be distributed together with a copy of the LaTeX
31 %% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
32 %% without such generated files.
33 %% 
34 %% The list of all files belonging to the LaTeX `Tools Bundle' is
35 %% given in the file `manifest.txt'.
36 %% 
37 %% File: longtable.dtx Copyright (C) 1990-2001 David Carlisle
38 \NeedsTeXFormat{LaTeX2e}[1995/06/01]
39 \ProvidesPackage{longtable_doxygen}
40           [2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen]
41 \def\LT@err{\PackageError{longtable}}
42 \def\LT@warn{\PackageWarning{longtable}}
43 \def\LT@final@warn{%
44   \AtEndDocument{%
45     \LT@warn{Table \@width s have changed. Rerun LaTeX.\@gobbletwo}}%
46   \global\let\LT@final@warn\relax}
47 \DeclareOption{errorshow}{%
48   \def\LT@warn{\PackageInfo{longtable}}}
49 \DeclareOption{pausing}{%
50   \def\LT@warn#1{%
51     \LT@err{#1}{This is not really an error}}}
52 \DeclareOption{set}{}
53 \DeclareOption{final}{}
54 \ProcessOptions
55 \newskip\LTleft       \LTleft=\fill
56 \newskip\LTright      \LTright=\fill
57 \newskip\LTpre        \LTpre=\bigskipamount
58 \newskip\LTpost       \LTpost=\bigskipamount
59 \newcount\LTchunksize \LTchunksize=20
60 \let\c@LTchunksize\LTchunksize
61 \newdimen\LTcapwidth  \LTcapwidth=4in
62 \newbox\LT@head
63 \newbox\LT@firsthead
64 \newbox\LT@foot
65 \newbox\LT@lastfoot
66 \newcount\LT@cols
67 \newcount\LT@rows
68 \newcounter{LT@tables}
69 \newcounter{LT@chunks}[LT@tables]
70 \ifx\c@table\undefined
71   \newcounter{table}
72   \def\fnum@table{\tablename~\thetable}
73 \fi
74 \ifx\tablename\undefined
75   \def\tablename{Table}
76 \fi
77 \newtoks\LT@p@ftn
78 \mathchardef\LT@end@pen=30000
79 \def\longtable{%
80   \par
81   \ifx\multicols\@undefined
82   \else
83      \ifnum\col@number>\@ne
84        \@twocolumntrue
85      \fi
86   \fi
87   \if@twocolumn
88     \LT@err{longtable not in 1-column mode}\@ehc
89   \fi
90   \begingroup
91   \@ifnextchar[\LT@array{\LT@array[x]}}
92 \def\LT@array[#1]#2{%
93   \refstepcounter{table}\stepcounter{LT@tables}%
94   \if l#1%
95     \LTleft\z@ \LTright\fill
96   \else\if r#1%
97     \LTleft\fill \LTright\z@
98   \else\if c#1%
99     \LTleft\fill \LTright\fill
100   \fi\fi\fi
101   \let\LT@mcol\multicolumn
102   \let\LT@@tabarray\@tabarray
103   \let\LT@@hl\hline
104   \def\@tabarray{%
105     \let\hline\LT@@hl
106     \LT@@tabarray}%
107   \let\\\LT@tabularcr\let\tabularnewline\\%
108   \def\newpage{\noalign{\break}}%
109   \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}%
110   \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}%
111   \let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption
112   \@tempdima\ht\strutbox
113   \let\@endpbox\LT@endpbox
114   \ifx\extrarowheight\@undefined
115     \let\@acol\@tabacol
116     \let\@classz\@tabclassz \let\@classiv\@tabclassiv
117     \def\@startpbox{\vtop\LT@startpbox}%
118     \let\@@startpbox\@startpbox
119     \let\@@endpbox\@endpbox
120     \let\LT@LL@FM@cr\@tabularcr
121   \else
122     \advance\@tempdima\extrarowheight
123     \col@sep\tabcolsep
124     \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr
125   \fi
126   \setbox\@arstrutbox\hbox{\vrule
127     \@height \arraystretch \@tempdima
128     \@depth \arraystretch \dp \strutbox
129     \@width \z@}%
130   \let\@sharp##\let\protect\relax
131    \begingroup
132     \@mkpream{#2}%
133     \xdef\LT@bchunk{%
134        \global\advance\c@LT@chunks\@ne
135        \global\LT@rows\z@\setbox\z@\vbox\bgroup
136        \LT@setprevdepth
137        \tabskip\LTleft \noexpand\halign to\hsize\bgroup
138       \tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}%
139   \endgroup
140   \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols
141   \LT@make@row
142   \m@th\let\par\@empty
143   \everycr{}\lineskip\z@\baselineskip\z@
144   \LT@bchunk}
145 \def\LT@no@pgbk#1[#2]{\penalty #1\@getpen{#2}\ifnum`{=0\fi}}
146 \def\LT@start{%
147   \let\LT@start\endgraf
148   \endgraf\penalty\z@\vskip\LTpre
149   \dimen@\pagetotal
150   \advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
151   \advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
152   \advance\dimen@ \ht\LT@foot
153   \dimen@ii\vfuzz
154   \vfuzz\maxdimen
155     \setbox\tw@\copy\z@
156     \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox
157     \setbox\tw@\vbox{\unvbox\tw@}%
158   \vfuzz\dimen@ii
159   \advance\dimen@ \ht
160         \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi
161   \advance\dimen@\dp
162         \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi
163   \advance\dimen@ -\pagegoal
164   \ifdim \dimen@>\z@\vfil\break\fi
165       \global\@colroom\@colht
166   \ifvoid\LT@foot\else
167     \advance\vsize-\ht\LT@foot
168     \global\advance\@colroom-\ht\LT@foot
169     \dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@
170     \maxdepth\z@
171   \fi
172   \ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak
173   \output{\LT@output}}
174 \def\endlongtable{%
175   \crcr
176   \noalign{%
177     \let\LT@entry\LT@entry@chop
178     \xdef\LT@save@row{\LT@save@row}}%
179   \LT@echunk
180   \LT@start
181   \unvbox\z@
182   \LT@get@widths
183   \if@filesw
184     {\let\LT@entry\LT@entry@write\immediate\write\@auxout{%
185       \gdef\expandafter\noexpand
186         \csname LT@\romannumeral\c@LT@tables\endcsname
187           {\LT@save@row}}}%
188   \fi
189   \ifx\LT@save@row\LT@@save@row
190   \else
191     \LT@warn{Column \@width s have changed\MessageBreak
192              in table \thetable}%
193     \LT@final@warn
194   \fi
195   \endgraf\penalty -\LT@end@pen
196   \endgroup
197   \global\@mparbottom\z@
198   \pagegoal\vsize
199   \endgraf\penalty\z@\addvspace\LTpost
200   \ifvoid\footins\else\insert\footins{}\fi}
201 \def\LT@nofcols#1&{%
202   \futurelet\@let@token\LT@n@fcols}
203 \def\LT@n@fcols{%
204   \advance\LT@cols\@ne
205   \ifx\@let@token\LT@nofcols
206     \expandafter\@gobble
207   \else
208     \expandafter\LT@nofcols
209   \fi}
210 \def\LT@tabularcr{%
211   \relax\iffalse{\fi\ifnum0=`}\fi
212   \@ifstar
213     {\def\crcr{\LT@crcr\noalign{\nobreak}}\let\cr\crcr
214      \LT@t@bularcr}%
215     {\LT@t@bularcr}}
216 \let\LT@crcr\crcr
217 \let\LT@setprevdepth\relax
218 \def\LT@t@bularcr{%
219   \global\advance\LT@rows\@ne
220   \ifnum\LT@rows=\LTchunksize
221     \gdef\LT@setprevdepth{%
222       \prevdepth\z@\global
223       \global\let\LT@setprevdepth\relax}%
224     \expandafter\LT@xtabularcr
225   \else
226     \ifnum0=`{}\fi
227     \expandafter\LT@LL@FM@cr
228   \fi}
229 \def\LT@xtabularcr{%
230   \@ifnextchar[\LT@argtabularcr\LT@ntabularcr}
231 \def\LT@ntabularcr{%
232   \ifnum0=`{}\fi
233   \LT@echunk
234   \LT@start
235   \unvbox\z@
236   \LT@get@widths
237   \LT@bchunk}
238 \def\LT@argtabularcr[#1]{%
239   \ifnum0=`{}\fi
240   \ifdim #1>\z@
241     \unskip\@xargarraycr{#1}%
242   \else
243     \@yargarraycr{#1}%
244   \fi
245   \LT@echunk
246   \LT@start
247   \unvbox\z@
248   \LT@get@widths
249   \LT@bchunk}
250 \def\LT@echunk{%
251   \crcr\LT@save@row\cr\egroup
252   \global\setbox\@ne\lastbox
253     \unskip
254   \egroup}
255 \def\LT@entry#1#2{%
256   \ifhmode\@firstofone{&}\fi\omit
257   \ifnum#1=\c@LT@chunks
258   \else
259     \kern#2\relax
260   \fi}
261 \def\LT@entry@chop#1#2{%
262   \noexpand\LT@entry
263     {\ifnum#1>\c@LT@chunks
264        1}{0pt%
265      \else
266        #1}{#2%
267      \fi}}
268 \def\LT@entry@write{%
269   \noexpand\LT@entry^^J%
270   \@spaces}
271 \def\LT@kill{%
272   \LT@echunk
273   \LT@get@widths
274   \expandafter\LT@rebox\LT@bchunk}
275 \def\LT@rebox#1\bgroup{%
276   #1\bgroup
277   \unvbox\z@
278   \unskip
279   \setbox\z@\lastbox}
280 \def\LT@blank@row{%
281   \xdef\LT@save@row{\expandafter\LT@build@blank
282     \romannumeral\number\LT@cols 001 }}
283 \def\LT@build@blank#1{%
284   \if#1m%
285     \noexpand\LT@entry{1}{0pt}%
286     \expandafter\LT@build@blank
287   \fi}
288 \def\LT@make@row{%
289   \global\expandafter\let\expandafter\LT@save@row
290     \csname LT@\romannumeral\c@LT@tables\endcsname
291   \ifx\LT@save@row\relax
292     \LT@blank@row
293   \else
294     {\let\LT@entry\or
295      \if!%
296          \ifcase\expandafter\expandafter\expandafter\LT@cols
297          \expandafter\@gobble\LT@save@row
298          \or
299          \else
300            \relax
301          \fi
302         !%
303      \else
304        \aftergroup\LT@blank@row
305      \fi}%
306   \fi}
307 \let\setlongtables\relax
308 \def\LT@get@widths{%
309   \setbox\tw@\hbox{%
310     \unhbox\@ne
311     \let\LT@old@row\LT@save@row
312     \global\let\LT@save@row\@empty
313     \count@\LT@cols
314     \loop
315       \unskip
316       \setbox\tw@\lastbox
317     \ifhbox\tw@
318       \LT@def@row
319       \advance\count@\m@ne
320     \repeat}%
321   \ifx\LT@@save@row\@undefined
322     \let\LT@@save@row\LT@save@row
323   \fi}
324 \def\LT@def@row{%
325   \let\LT@entry\or
326   \edef\@tempa{%
327     \ifcase\expandafter\count@\LT@old@row
328     \else
329       {1}{0pt}%
330     \fi}%
331   \let\LT@entry\relax
332   \xdef\LT@save@row{%
333     \LT@entry
334     \expandafter\LT@max@sel\@tempa
335     \LT@save@row}}
336 \def\LT@max@sel#1#2{%
337   {\ifdim#2=\wd\tw@
338      #1%
339    \else
340      \number\c@LT@chunks
341    \fi}%
342   {\the\wd\tw@}}
343 \def\LT@hline{%
344   \noalign{\ifnum0=`}\fi
345     \penalty\@M
346     \futurelet\@let@token\LT@@hline}
347 \def\LT@@hline{%
348   \ifx\@let@token\hline
349     \global\let\@gtempa\@gobble
350     \gdef\LT@sep{\penalty-\@medpenalty\vskip\doublerulesep}%
351   \else
352     \global\let\@gtempa\@empty
353     \gdef\LT@sep{\penalty-\@lowpenalty\vskip-\arrayrulewidth}%
354   \fi
355   \ifnum0=`{\fi}%
356   \multispan\LT@cols
357      \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
358   \noalign{\LT@sep}%
359   \multispan\LT@cols
360      \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
361   \noalign{\penalty\@M}%
362   \@gtempa}
363 \def\LT@caption{%
364   \noalign\bgroup
365     \@ifnextchar[{\egroup\LT@c@ption\@firstofone}\LT@capti@n}
366 \def\LT@c@ption#1[#2]#3{%
367   \LT@makecaption#1\fnum@table{#3}%
368   \def\@tempa{#2}%
369   \ifx\@tempa\@empty\else
370      {\let\\\space
371      \addcontentsline{lot}{table}{\protect\numberline{\thetable}{#2}}}%
372   \fi}
373 \def\LT@capti@n{%
374   \@ifstar
375     {\egroup\LT@c@ption\@gobble[]}%
376     {\egroup\@xdblarg{\LT@c@ption\@firstofone}}}
377 \def\LT@makecaption#1#2#3{%
378   \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{%
379     \sbox\@tempboxa{#1{#2: }#3}%
380     \ifdim\wd\@tempboxa>\hsize
381       #1{#2: }#3%
382     \else
383       \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
384     \fi
385     \endgraf\vskip\baselineskip}%
386   \hss}}}
387 \def\LT@output{%
388   \ifnum\outputpenalty <-\@Mi
389     \ifnum\outputpenalty > -\LT@end@pen
390       \LT@err{floats and marginpars not allowed in a longtable}\@ehc
391     \else
392       \setbox\z@\vbox{\unvbox\@cclv}%
393       \ifdim \ht\LT@lastfoot>\ht\LT@foot
394         \dimen@\pagegoal
395         \advance\dimen@-\ht\LT@lastfoot
396         \ifdim\dimen@<\ht\z@
397           \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}%
398           \@makecol
399           \@outputpage
400           \setbox\z@\vbox{\box\LT@head}%
401         \fi
402       \fi
403       \global\@colroom\@colht
404       \global\vsize\@colht
405       \vbox
406         {\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi}%
407     \fi
408   \else
409     \setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}%
410     \@makecol
411     \@outputpage
412       \global\vsize\@colroom
413     \copy\LT@head\nobreak
414   \fi}
415 \def\LT@end@hd@ft#1{%
416   \LT@echunk
417   \ifx\LT@start\endgraf
418     \LT@err
419      {Longtable head or foot not at start of table}%
420      {Increase LTchunksize}%
421   \fi
422   \setbox#1\box\z@
423   \LT@get@widths
424   \LT@bchunk}
425 \def\endfirsthead{\LT@end@hd@ft\LT@firsthead}
426 \def\endhead{\LT@end@hd@ft\LT@head}
427 \def\endfoot{\LT@end@hd@ft\LT@foot}
428 \def\endlastfoot{\LT@end@hd@ft\LT@lastfoot}
429 \def\LT@startpbox#1{%
430   \bgroup
431     \let\@footnotetext\LT@p@ftntext
432     \setlength\hsize{#1}%
433     \@arrayparboxrestore
434     \vrule \@height \ht\@arstrutbox \@width \z@}
435 \def\LT@endpbox{%
436   \@finalstrut\@arstrutbox
437   \egroup
438   \the\LT@p@ftn
439   \global\LT@p@ftn{}%
440   \hfil}
441 %% added \long to prevent:
442 % LaTeX Warning: Command \LT@p@ftntext  has changed.
443 %
444 % from the original repository (https://github.com/latex3/latex2e/blob/develop/required/tools/longtable.dtx):
445 % \changes{v4.15}{2021/03/28}
446 %      {make long for gh/364}
447 % Inside the `p' column, just save up the footnote text in a token
448 % register.
449 \long\def\LT@p@ftntext#1{%
450   \edef\@tempa{\the\LT@p@ftn\noexpand\footnotetext[\the\c@footnote]}%
451   \global\LT@p@ftn\expandafter{\@tempa{#1}}}%
452
453 \@namedef{ver@longtable.sty}{2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen}
454 \endinput
455 %%
456 %% End of file `longtable.sty'.