diff options
author | Karl Berry <karl@freefriends.org> | 2011-04-17 00:43:39 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-04-17 00:43:39 +0000 |
commit | 3bbdf087e56eebafc9a0f30d12afb24f612ab775 (patch) | |
tree | 4bd6e6b7dec9dd7abb05a25482efc972d910752c /Master/texmf-dist/source | |
parent | 017d7edcd26d81f68ed094c2ecfaaec9dbe584ab (diff) |
ctable (16apr11)
git-svn-id: svn://tug.org/texlive/trunk@22095 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/ctable/ctable.dtx | 534 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/ctable/ctable.ins | 6 |
2 files changed, 336 insertions, 204 deletions
diff --git a/Master/texmf-dist/source/latex/ctable/ctable.dtx b/Master/texmf-dist/source/latex/ctable/ctable.dtx index a7b98282303..d5bc7c5751e 100644 --- a/Master/texmf-dist/source/latex/ctable/ctable.dtx +++ b/Master/texmf-dist/source/latex/ctable/ctable.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 2005 by Wybo Dekker <wybo@servalys.nl> +% Copyright (C) 2005 by Wybo Dekker <wybo@dekkerdocumenten.nl> % ------------------------------------------------------- % % This file may be distributed and/or modified under the @@ -19,12 +19,12 @@ %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\ProvidesPackage{ctable} %<*package> - [2010/10/30 v1.17 ctable package] + [2011/04/15 v1.18 ctable package] %</package> % %<*driver> \documentclass{ltxdoc} -\usepackage{ctable,txfonts,paralist} +\usepackage{ctable,txfonts,paralist,desclist} \usepackage[l2tabu,orthodox]{nag} \usepackage[ verbose, @@ -79,7 +79,7 @@ %</driver> % \fi % -% \CheckSum{398} +% \CheckSum{551} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -161,6 +161,9 @@ % \changes{v1.17}{2010/10/30}{option cap={} did not suppress lot/lof entry % notespar option now generates fully justified notes % } +% \changes{v1.18}{2011/04/15}{added setupctable for option defaults +% added complement for several options (topcap, nosideways, et cetera +% } % % \GetFileInfo{ctable.dtx} % @@ -178,7 +181,7 @@ % % \title{The \textsf{ctable} package\thanks{This document % corresponds to \textsf{ctable}~\fileversion, dated \filedate.}} -% \author{Wybo Dekker \\ \texttt{wybo@servalys.nl}} +% \author{Wybo Dekker \\ \texttt{wybo@dekkerdocumenten.nl}} % % \maketitle % \begin{abstract}\noindent @@ -228,115 +231,194 @@ % Extra comma's, including one behind the last pair, don't hurt. % Arguments to option should be put between braces if they contain % comma's or equals signs. +% \section{Options} % Currently the following option keys have been defined: -% \\[2ex] -% \begin{tabularx}{\hsize}{@{}lX@{}} -% |caption={...}|& table caption; the braces are needed only if your -% caption contains a comma or an equals sign.\NN[1ex] -% -% |cap={...}| & for a short caption to go to the |\listoftables|. -% Without the |cap| option, the full caption will go -% into the |\listoftables|. If |cap| is given an empty -% value, no entry in the |\listoftables| will be made. -% This may be useful, for example, with the |continued| -% option.\NN[1ex] -% -% |continued[=...]| & if used, the table will be numbered the same as the -% previous table. If used without an argument, the caption -% will be suffixed with ` (continued)', if used with an -% argument, the suffix will be the argument.\NN[1ex] -% -% |captionskip=...| & moves the caption relative to the table; -% the default is |0ex|, which puts captions at -% their default \LaTeX\ positions: a top -% caption's baseline at |1ex| above the top rule -% position of the table and a bottom caption's -% baseline at |4ex| below the bottom rule -% position.\NN[1ex] -% -% |mincapwidth=...| & sets the minimum width of the float. Without -% this option, the width is set to that of the -% tabular, and the caption and footnotes are -% typeset within that width. This may be a -% problem with very narrow tables; |mincapwidth| -% can then be used to give the float a minimum -% width. The tabular will be centered in it.\NN[1ex] -% -% |doinside=...| & command to be run inside, just before the tabular -% or tabularx environment. You can use this, for example, -% for the adjustment of the font size with |\small|.\NN[1ex] -% -% |pos=...| & float position, default: |tbp|.\NN[1ex] -% -% |label=...| & for |\label|\NN[1ex] -% -% |width=...| & \REF{tabularx} will be used to typeset the table at the -% specified width\,---\,one or more |X| column -% specifiers must be provided.\NN[1ex] -% -% |maxwidth=...| & like the \textsl{width} option, but any |X| column -% specifiers will be replaced with |l| if the resulting -% table width would thus stay within the specified -% maximum width. This is especially useful where the -% \LaTeX\ source is generated by a script.\NN[1ex] -% -% |center| & center the table in the available text width; this is -% the default.\NN[1ex] -% -% |left| & left align the table in the available text width.\NN[1ex] -% -% |right| & right align the table in the available text width.\NN[1ex] -% -% |figure| & produce a figure float instead of a table float.\NN[1ex] -% -% |botcap| & put the caption at the bottom of the float instead -% of on top of it.\NN[1ex] -% -% |sideways| & rotate table or figure by 90 degrees anticlockwise -% and put it on a separate page. With the twoside option -% for the standard \LaTeX\ document classes, rotation -% will be -90 on even pages. If you use this option, -% the |pos| option is not allowed.\NN[1ex] -% -% |star| & use the starred versions of the |table| and |figure| -% environments, which place the float over two columns -% when the |twocolumn| option or the |\twocolumn| -% command is active.\NN[1ex] -% -% |nosuper| & in the footnote table, typeset footnote markers on -% the line, instead of superscripted.\NN[1ex] -% -% |notespar| & typeset footnotes in a parapgraph instead of in a table.\NN[1ex] -% -% |framerule=...|& draw a frame around the table with the given rule -% thickness. The default is |0pt|, so that no frame -% will be seen.\NN[1ex] -% -% |framesep=...| & set the distance between the frame and the table -% to the given dimension. The default is |0pt|.\NN[1ex] -% -% |framefg=|\slshape r g b & set the foreground color of the frame (the -% rule color) to the given triplet of -% \textsl{rgb}-values. The values should be numbers -% between 0 and 1. The default is |0 0 0| (black).\NN[1ex] -% -% |framebg=|\slshape r g b & set the background color of the frame (the -% color inside the frame) to the given triplet of -% \textsl{rgb}-values. The values should be numbers -% between 0 and 1. The default is |1 1 1| (white).\NN[1ex] -% \end{tabularx} -% \\[2ex] -% The footnotes are placed under the table, without a rule. -% You therefore probably will want to use the |\LL| (last line) -% command if you use footnotes. +% +% { \marginparwidth25mm +% \DescribeMacro{botcap\hfill} +% put the caption at the bottom of the float instead of on top of it. +% See also: |topcap|. +% +% \DescribeMacro{captionskip=...\hfill} +% moves the caption relative to the table; the default is |0ex|, which puts +% captions at their default \LaTeX\ positions: a top caption's baseline at +% |1ex| above the top rule position of the table and a bottom caption's +% baseline at |4ex| below the bottom rule position. +% +% \DescribeMacro{caption=...\hfill} +% table caption; the braces are needed only if your caption contains a +% comma or an equals sign. +% +% \DescribeMacro{cap=...\hfill} +% for a short caption to go to the |\listoftables|. Without the |cap| +% option, the full caption will go into the |\listoftables|. If |cap| is +% given an empty value, no entry in the |\listoftables| will be made. This +% may be useful, for example, with the |continued| option. +% +% \DescribeMacro{center\hfill} +% center the table in the available text width; this is the default. +% See also: |left|, |right|. +% +% \DescribeMacro{continued=...\hfill} +% if used, the table will be numbered the same as the previous table. If +% used without an argument, the caption will be suffixed with ` +% (continued)', if used with an argument, the suffix will be the argument. +% +% \DescribeMacro{doinside=...\hfill} +% command to be run inside, just before the tabular or tabularx +% environment. You can use this, for example, for the adjustment of the +% font size with |\small|. +% +% \DescribeMacro{figure\hfill} +% produce a figure float instead of a table float. See also: |table|. +% +% \DescribeMacro{framebg={\slshape r g b}\hfill} +% set the background color of the frame (the color inside the frame) to the +% given triplet of \textsl{rgb}-values. The values should be numbers +% between 0 and 1. The default is |1 1 1| (white). +% +% +% \DescribeMacro{framefg={\slshape r g b}\hfill} +% set the foreground color of the frame (the rule color) to the given +% triplet of \textsl{rgb}-values. The values should be numbers between 0 +% and 1. The default is |0 0 0| (black). +% +% +% \DescribeMacro{framerule=...\hfill} +% draw a frame around the table with the given rule thickness. The default +% is |0pt|, so that no frame will be seen. +% +% +% \DescribeMacro{framesep=...\hfill} +% set the distance between the frame and the table to the given dimension. +% The default is |0pt|. +% +% +% \DescribeMacro{label=...\hfill} +% labels the float with |\label|. +% +% \DescribeMacro{left\hfill} +% left align the table in the available text width. See also: |center|, |right|. +% +% \DescribeMacro{maxwidth=...\hfill} +% like the \textsl{width} option, but any |X| column specifiers will be +% replaced with |l| if the resulting table width would thus stay within the +% specified maximum width. This is especially useful where the \LaTeX\ +% source is generated by a script. +% +% \DescribeMacro{mincapwidth=...\hfill} +% sets the minimum width of the float. Without this option, the width is +% set to that of the tabular, and the caption and footnotes are typeset +% within that width. This may be a problem with very narrow tables; +% |mincapwidth| can then be used to give the float a minimum width. The +% tabular will be centered in it. +% +% \DescribeMacro{nonotespar\hfill} +% typeset footnotes in a table; this is the default. See also: |notespar|. +% +% \DescribeMacro{nosideways\hfill} +% undo the sideways option. See also: |sideways|. +% +% \DescribeMacro{nostar\hfill} +% use the un-starred versions of the |table| and |figure| environments; +% this is the default +% +% \DescribeMacro{nosuper\hfill} +% in the footnote table, typeset footnote markers on the line, instead of +% superscripted. +% +% \DescribeMacro{notespar\hfill} +% typeset footnotes in a paragraph instead of in a table. +% +% \DescribeMacro{pos=...\hfill} +% float position, default: |tbp|. +% +% \DescribeMacro{right\hfill} +% right align the table in the available text width. +% +% \DescribeMacro{sideways\hfill} +% rotate table or figure by 90 degrees anticlockwise and put it on a +% separate page. With the twoside option for the standard \LaTeX\ document +% classes, rotation will be -90 on even pages. If you use this option, the +% |pos| option is not allowed. See also: |nosideways|. +% +% \DescribeMacro{star\hfill} +% use the starred versions of the |table| and |figure| environments, which +% place the float over two columns when the |twocolumn| option or the +% |\twocolumn| command is active. See also: |nostar|. +% +% \DescribeMacro{super\hfill} +% in the footnote table, typeset footnote markers as superscripts; this is +% the default. See also: |nosuper|. +% +% \DescribeMacro{table\hfill} +% produce a table float (this is the default). See also: |figure|. +% +% \DescribeMacro{topcap\hfill} +% put the caption top of the float; this is the default. See also: |botcap|. +% +% \DescribeMacro{width=...\hfill} +% \REF{tabularx} will be used to typeset the table at the specified +% width\,---\,one or more |X| column specifiers must be provided. +% +% } +% +% \section{The width and maxwidth options} +% When \LaTeX-sources containing tables are generated automatically by a +% script, it is often not known in advance what the maximum size of an +% |l|~column will be. A good solution for this is to use an |X|~specifier, +% typesetting the table at the text width with the \REF{tabularx} package. +% However, this will result in too much white space in cases where the +% column contains small texts only. This problem can be solved by using +% the maxwidth option instead of the width option. The |X|~specifiers will +% then be replaced with |l| as long as the width of the resulting table +% stays with the specified maximum width. +% +% \section{Tables wider than the text width} +% When you make a table wider than |\textwidth|, it will extend in the right margin. +% If it is a large table, occupying a whole page, you can use the geometry package +% and surround your ctable call with |\newgeometry{width=...,margin=...}| and |\restoregeometry|. +% However, both geometry commands imply |\clearpage|, so your table will appear on an otherwise +% empty page. +% +% Alternatively, you can center the table on the paper, extending in both margins, by using the +% option |doinside=\hspace*{<dimen>}| with an appropriate negative |dimen>|. +% +% \section{Setting option defaults: setupctable} +% Every call of |\ctable| resets the options to their defaults before evaluating the +% first (optional) argument. So if you make two ctables: |\ctable[left,...| and +% |\ctable[...|, the first will be left-aligned on the page, but the second, lacking +% the |left| option, will be centered, because that is the default. If you want all +% your tables left-aligned, it's more practical to change the default by calling +% \DescribeMacro{\setupctable} +% |\setupctable{left}|, either in the preamble or somewhere in the body. In latter +% case only tables following the call will have their defaults changed. \par +% |\setupctable| can set the defaults for all options except (of course) |caption|, +% |cap|, and |label|. Actually, the initial option defaults are set by +% calling |\setupctable| as follows: +% \begin{verbatim} +% \setupctable{ +% captionskip=0pt, framerule=0pt, nostar, +% center, framesep=0pt, pos=tbp, +% continued=(continued), maxwidth=0pt, super, +% doinside={}, mincapwidth=0pt, table, +% framebg=1 1 1, nonotespar, topcap, +% framefg=0 0 0, nosideways, width=0pt +% } +% \end{verbatim} +% \section{Other commands} % \DescribeMacro{\tnote} % |\tnote[label]{footnote text}| places {\footnotesize % \textsuperscript{\normalfont\textit{label}}\,footnote text} % under the table. -% Can only be used in the foottable parameter described above. The +% This command can only be used in |\ctable|'s third argument, i.e.\ the foottable +% argument described above. The % label is optional, the default label is a single $a$. For more % detailed control, you can also replace this command with something % like |labeltext&footnotetext\NN|. +% The footnotes are placed under the table, without a rule. +% You therefore probably will want to use the |\LL| (last line) +% command if you use footnotes. % \par % \DescribeMacro{\tmark} % |\tmark[label]| this command places the superscripted label in the @@ -351,19 +433,22 @@ % \par % \DescribeMacro{\NN} Normal Newline, generates just a normal new line. % An optional dimen parameter inserts extra vertical space under the -% line. +% line. Is an alias for |\tabularnewline| % \par % \DescribeMacro{\FL} First Line, generates a new line and a thick % rule with some extra space under it. % An optional dimen parameter sets the line width; the default is 0.08em. +% Is an alias for |\toprule| % \par % \DescribeMacro{\ML} Middle Line: generates a new line and a thin % rule with some extra space over and under it. % An optional dimen parameter sets the line width; the default is 0.05em. +% Is an alias for |\tabularnewline\midrule| % \par % \DescribeMacro{\LL} Last Line: generates a new line and a thick % rule with some extra space over it. % An optional dimen parameter sets the line width; the default is 0.08em. +% Is an alias for |\tabularnewline\bottomrule| % \par % These macros can be used outside |\ctable| constructs. % \par @@ -391,23 +476,7 @@ % |\specialrule{<wd>}{<abovespace>}{<belowspace>}|. % \par % See the \REF{booktabs} documentation for details. -% -% \subsection{The width and maxwidth options} -% When \LaTeX-sources containing tables are generated automatically by a -% script, it is often not known in advance what the maximum size of an -% |l|~column will be. A good solution for this is to use an |X|~specifier, -% typesetteing the table at the text width with the \REF{tabularx} package. -% However, this will result in too much white space in cases where the -% column contains small texts only. This problem can be solved by using -% the maxwidth option instead of the width option. The |X|~specifiers will -% then be replaced with |l| as long as the width of the resulting table -% stays with the specified maximum width. -% -% \section{Tips} -% \begin{compactitem} -% \item When you a table wider than |\textwidth|, use the geometry package -% and surround your ctable call with |\newgeometry{width=...,margin=...}| and |\restoregeometry|. -% \end{compactitem} +% \newpage % \section{Examples} % Table~\ref{nowidth} is an example taken from the related package % \REF{threeparttable} by Donald Arseneau, with an extra footnote. @@ -419,6 +488,7 @@ % caption = The Skewing Angles ($\beta$) for % $\fam0 Mu(H)+X_2$ and $\fam0 Mu(H)+HX$~\tmark, % label = nowidth, +% pos = h % ]{rlcc}{ % \tnote{for the abstraction reaction, % $\fam0 Mu+HX \rightarrow MuH+X$.} @@ -438,6 +508,7 @@ % caption = The Skewing Angles ($\beta$) for % $\fam0 Mu(H)+X_2$ and $\fam0 Mu(H)+HX$~\tmark, % label = nowidth, +% pos = h % ]{rlcc}{ % \tnote{for the abstraction reaction, % $\fam0 Mu+HX \rightarrow MuH+X$.} @@ -471,11 +542,9 @@ % \multicolumn{2}{c}{Multicolumn entry!} & THREE & FOUR \NN % \cmidrule(r){1-2}\cmidrule(rl){3-3}\cmidrule(l){4-4} % one& -% The width of this column depends on the width of the -% table.\tmark & +% The width of this column depends on the width of the table.\tmark & % three& -% Column four will act in the same way as -% column two, with the same width. \LL +% Column four will act in the same way as column two, with the same width. \LL % } % \end{verbatim} % \color{black} @@ -521,15 +590,17 @@ % \ROW{B}{s02l}{02l} % \ROW{B}{s02m}{02m} % -% \subsection{\ttfamily\bfseries nosuper} +% \subsection{\ttfamily\bfseries super, nosuper} % Footnote markers in |ctable| are typeset superscripted by default. Use the % |nosuper| option to place them on the base line: % \medskip\\ % \ROW{Y}{s07a}{07a} % \ROW{B}{s07b}{07b} % -% \subsection{\ttfamily\bfseries notespar} -% Footnotes in |ctable| are typeset in a paragraph, instead of a table: +% \subsection{\ttfamily\bfseries notespar, nonotespar} +% By default, footnotes in |ctable| are typeset in a table, one line per note. +% This corresponds with the |nonotespar| option.You can also typeset them in a paragraph, +% one after the other, by using the |notespar| option: % \medskip\\ % \ROW{Y}{s12a}{12a} % \ROW{B}{s12b}{12b} @@ -643,20 +714,26 @@ \def\FL{\toprule} \def\ML{\NN\midrule} \def\LL{\NN\bottomrule} -\definecolor{@ctblframefg}{rgb}{0,0,0}% -\definecolor{@ctblframebg}{rgb}{1,1,1}% -\def\@ctblfgcolor#1 #2 #3={\definecolor{@ctblframefg}{rgb}{#1,#2,#3}} -\def\@ctblbgcolor#1 #2 #3={\definecolor{@ctblframebg}{rgb}{#1,#2,#3}} +\def\@defaultctblfgcolor#1 #2 #3={\definecolor{@defaultctblframefg}{rgb}{#1,#2,#3}} +\def\@defaultctblbgcolor#1 #2 #3={\definecolor{@defaultctblframebg}{rgb}{#1,#2,#3}} +\def\@ctblfgcolor#1 #2 #3={% + \definecolor{@ctblframefg}{rgb}{#1,#2,#3} + \def\@ctblfgactual{@ctblframefg}} +\def\@ctblbgcolor#1 #2 #3={% + \definecolor{@ctblframebg}{rgb}{#1,#2,#3} + \def\@ctblbgactual{@ctblframebg}} \def\@ctbltextsuperscript#1{% - \ifx\@ctblnosuper\empty\@textsuperscript{#1}\else{\footnotesize#1}\fi + \ifx\@ctblsuper\@ctbltrue\@textsuperscript{#1}\else{\footnotesize#1}\fi } +\def\@ctbltrue{1} +\def\@ctblfalse{0} \def\@ctbldoinside{\relax} -\newdimen\@ctblframesep -\newdimen\@ctblframerule -\newdimen\@ctblwidth -\newdimen\@ctblcaptionskip -\newdimen\@ctblmaxwidth -\newdimen\@ctblmincapwidth +\newdimen\@ctblframesep \newdimen\@defaultctblframesep +\newdimen\@ctblframerule \newdimen\@defaultctblframerule +\newdimen\@ctblwidth \newdimen\@defaultctblwidth +\newdimen\@ctblcaptionskip \newdimen\@defaultctblcaptionskip +\newdimen\@ctblmaxwidth \newdimen\@defaultctblmaxwidth +\newdimen\@ctblmincapwidth \newdimen\@defaultctblmincapwidth \newdimen\@ctblw % the final width \newdimen\@ctblfloatwidth \newdimen\@ctbloldsep @@ -673,33 +750,85 @@ % command like |\@ctblbegin| we put % |\begin{table}[tbp]| in it. % \begin{macrocode} + +\define@key{suctbl}{botcap}[]{\let\@defaultctblbotcap\@ctbltrue} +\define@key{suctbl}{captionskip}{\@defaultctblcaptionskip=#1} +\define@key{suctbl}{center}[]{\let\@defaultctblalign\centering} +\define@key{suctbl}{continued}{\def\@defaulttextcontinued{#1}} +\define@key{suctbl}{doinside}{\def\@defaultctbldoinside{#1}} +\define@key{suctbl}{figure}[]{\def\@defaultctbltaborfig{figure}} +\define@key{suctbl}{framebg}{\@defaultctblbgcolor#1=} +\define@key{suctbl}{framefg}{\@defaultctblfgcolor#1=} +\define@key{suctbl}{framerule}{\@defaultctblframerule=#1} +\define@key{suctbl}{framesep}{\@defaultctblframesep=#1} +\define@key{suctbl}{left}[]{\let\@defaultctblalign\raggedright} +\define@key{suctbl}{maxwidth}{\@defaultctblmaxwidth=#1} +\define@key{suctbl}{mincapwidth}{\@defaultctblmincapwidth=#1} +\define@key{suctbl}{nonotespar}[]{\let\@defaultctblnotespar\@ctblfalse} +\define@key{suctbl}{nosideways}[]{\let\@defaultctblsideways\empty} +\define@key{suctbl}{nostar}[]{\def\@defaultctblstarred{}} +\define@key{suctbl}{nosuper}[]{\let\@defaultctblsuper\@ctblfalse} +\define@key{suctbl}{notespar}[]{\let\@defaultctblnotespar\@ctbltrue} +\define@key{suctbl}{pos}{\def\@defaultctblpos{#1}} +\define@key{suctbl}{right}[]{\let\@defaultctblalign\raggedleft} +\define@key{suctbl}{sideways}[]{\def\@defaultctblsideways{sideways}} +\define@key{suctbl}{star}[]{\def\@defaultctblstarred{*}} +\define@key{suctbl}{super}[]{\let\@defaultctblsuper\@ctbltrue} +\define@key{suctbl}{table}[]{\def\@defaultctbltaborfig{table}} +\define@key{suctbl}{topcap}[]{\let\@defaultctblbotcap\@ctblfalse} +\define@key{suctbl}{width}{\@defaultctblwidth=#1} + +\newcommand{\setupctable}[1]{\setkeys{suctbl}{#1}} +\setupctable{ + table, + continued=(continued), + topcap, + pos=, + framerule=0pt, + captionskip=0pt, + framesep=0pt, + width=0pt, + maxwidth=0pt, + mincapwidth=0pt, + nosideways, + center, + nostar, + super, + nonotespar, + doinside={}, + framebg=1 1 1, + framefg=0 0 0, +} + +\define@key{ctbl}{botcap}[]{\let\@ctblbotcap\@ctbltrue} +\define@key{ctbl}{captionskip}{\@ctblcaptionskip=#1} \define@key{ctbl}{caption}{\def\@ctblcaption{#1}} \define@key{ctbl}{cap}{\def\@ctblcap{#1}} +\define@key{ctbl}{center}[]{\let\@ctblalign\centering} +\define@key{ctbl}{continued}[\@defaulttextcontinued]{\def\@ctblcontinued{#1}} +\define@key{ctbl}{doinside}{\def\@ctbldoinside{#1}} +\define@key{ctbl}{figure}[]{\def\@ctbltaborfig{figure}} +\define@key{ctbl}{framebg}{\@ctblbgcolor#1=} +\define@key{ctbl}{framefg}{\@ctblfgcolor#1=} +\define@key{ctbl}{framerule}{\@ctblframerule=#1} +\define@key{ctbl}{framesep}{\@ctblframesep=#1} \define@key{ctbl}{label}{\def\@ctbllabel{#1}} -\define@key{ctbl}{continued}[(continued)]{\def\@ctblcontinued{#1}} -\define@key{ctbl}{pos}{\def\@ctblpos{#1}\def\@ctblbegin{\@ctblbeg[#1]}} -\define@key{ctbl}{width}{\@ctblwidth=#1} +\define@key{ctbl}{left}[]{\let\@ctblalign\raggedright} \define@key{ctbl}{maxwidth}{\@ctblmaxwidth=#1} \define@key{ctbl}{mincapwidth}{\@ctblmincapwidth=#1} -\define@key{ctbl}{botcap}[]{\def\@ctblbotcap{1}} -\define@key{ctbl}{sideways}[]{\def\@ctblsideways{sideways}} -\define@key{ctbl}{rotate}[]{\def\@ctblsideways{sideways} - \PackageWarning{ctable}{ - using obsolete option 'rotate', use 'sideways' instead} - } -\define@key{ctbl}{figure}[]{\def\@ctbltaborfig{figure}} -\define@key{ctbl}{center}[]{\let\@ctblalign\centering} +\define@key{ctbl}{nonotespar}[]{\let\@ctblnotespar\@ctblfalse} +\define@key{ctbl}{nosideways}[]{\let\@ctblsideways\empty} +\define@key{ctbl}{nostar}[]{\def\@ctblstarred{}} +\define@key{ctbl}{nosuper}[]{\let\@ctblsuper\@ctblfalse} +\define@key{ctbl}{notespar}[]{\let\@ctblnotespar\@ctbltrue} +\define@key{ctbl}{pos}{\def\@ctblpos{#1}\def\@ctblbegin{\@ctblbeg[#1]}} \define@key{ctbl}{right}[]{\let\@ctblalign\raggedleft} -\define@key{ctbl}{left}[]{\let\@ctblalign\raggedright} -\define@key{ctbl}{star}[]{\def\@ctblstarred {*}} -\define@key{ctbl}{framerule}{\@ctblframerule=#1} -\define@key{ctbl}{framesep}{\@ctblframesep=#1} -\define@key{ctbl}{framefg}{\@ctblfgcolor#1=} -\define@key{ctbl}{framebg}{\@ctblbgcolor#1=} -\define@key{ctbl}{captionskip}{\@ctblcaptionskip=#1} -\define@key{ctbl}{nosuper}[]{\def\@ctblnosuper{1}} -\define@key{ctbl}{notespar}[]{\def\@ctblnotespar{1}} -\define@key{ctbl}{doinside}{\def\@ctbldoinside{#1}} +\define@key{ctbl}{sideways}[]{\def\@ctblsideways{sideways}} +\define@key{ctbl}{star}[]{\def\@ctblstarred{*}} +\define@key{ctbl}{super}[]{\let\@ctblsuper\@ctbltrue} +\define@key{ctbl}{table}[]{\def\@ctbltaborfig{table}} +\define@key{ctbl}{topcap}[]{\let\@ctblbotcap\@ctblfalse} +\define@key{ctbl}{width}{\@ctblwidth=#1} % \end{macrocode} % A caption will only be generated if the \textsl{caption} option was used, with a % non-empty value. If so, it goes in the lot/lof, unless the \textsl{cap} option @@ -734,38 +863,40 @@ \fcolorbox{#1}{#2}{\fboxsep\@ctbloldsep\fboxrule\@ctbloldrule #3}% } \newcommand{\tnote}[2][a]{% - \ifx\@ctblnotespar\empty% - \hbox{\@ctbltextsuperscript{\normalfont\textit{#1}}}\NN - \else% + \ifx\@ctblnotespar\@ctbltrue% \@ctbltextsuperscript{\normalfont\textit{#1}}\,#2 + \else% + \hbox{\@ctbltextsuperscript{\normalfont\textit{#1}}}\NN \fi } \newcommand{\tmark}[1][a]{% \hbox{\textsuperscript{\normalfont\textit{#1}}}} \newcommand{\ctable}[4][]{% - \def\@ctbltaborfig{table}% - \let\@ctblalign\centering% - \def\@ctblsideways{}% - \def\@ctblcontinued{}% - \def\@ctblpos {}% - \def\@ctblcaption {}% - \let\@ctblcap\undefined% - \def\@ctbllabel {}% - \def\@ctblbeg {\begin{\@ctblsideways\@ctbltaborfig\@ctblstarred}}% - \def\@ctblbegin {\@ctblbeg}% - \def\@ctblend {\end{\@ctblsideways\@ctbltaborfig\@ctblstarred}}% - \def\@ctblbotcap {}% - \def\@ctblstarred {}% - \def\@ctblnosuper {}% - \def\@ctblnotespar{}% - \def\@ctbldoinside{}% - \@ctblframerule0pt - \@ctblcaptionskip=0ex - \@ctblframesep0pt - \@ctblwidth=0pt - \@ctblmaxwidth=0pt - \@ctblmincapwidth=0pt - \setkeys{ctbl}{#1}% + \let\@ctbltaborfig \@defaultctbltaborfig + \let\@ctblalign \@defaultctblalign + \let\@ctblsideways \@defaultctblsideways + \let\@ctblcontinued \empty + \let\@ctblpos \@defaultctblpos + \let\@ctblcaption \empty + \let\@ctblcap \undefined + \let\@ctbllabel \empty + \let\@ctblbotcap \@defaultctblbotcap + \let\@ctblstarred \@defaultctblstarred + \let\@ctblsuper \@defaultctblsuper + \let\@ctblnotespar \@defaultctblnotespar + \let\@ctbldoinside \@defaultctbldoinside + \@ctblframerule \@defaultctblframerule + \@ctblcaptionskip \@defaultctblcaptionskip + \@ctblframesep \@defaultctblframesep + \@ctblwidth \@defaultctblwidth + \@ctblmaxwidth \@defaultctblmaxwidth + \@ctblmincapwidth \@defaultctblmincapwidth + \def\@ctblfgactual {@defaultctblframefg} + \def\@ctblbgactual {@defaultctblframebg} + \def\@ctblbeg {\begin{\@ctblsideways\@ctbltaborfig\@ctblstarred}} + \def\@ctblbegin {\@ctblbeg} + \def\@ctblend {\end{\@ctblsideways\@ctbltaborfig\@ctblstarred}} + \setkeys{ctbl}{#1} % \end{macrocode} % It makes no sense to use \textsl{width} together with \textsl{maxwidth} or % \textsl{pos} together with \textsl{sideways} @@ -777,7 +908,7 @@ Use either width or maxwidth} \fi \fi - \ifx\@ctblpos\empty\else + \ifx\@ctblpos\empty \ifx\@ctblsideways\empty\else \PackageError{ctable}{ You may not use the pos and sideways options together}{ @@ -801,7 +932,7 @@ % \begin{macrocode} \sbox\ctbl@t{% \@ctblXcolumntype{l}% temporarily make type X = l - \@ctblframe{@ctblframefg}{@ctblframebg}{% + \@ctblframe{\@ctblfgactual}{\@ctblbgactual}{% \@ctbldoinside \begin{tabular}{#2} #4% @@ -828,7 +959,7 @@ \if@ctblusex \sbox\ctbl@t{% \@ctblXcolumntype{Y}% restore X - \@ctblframe{@ctblframefg}{@ctblframebg}{% + \@ctblframe{\@ctblfgactual}{\@ctblbgactual}{% \@ctbldoinside \begin{tabularx}{\ifdim\@ctblwidth>0pt\@ctblwidth\else\@ctblmaxwidth\fi}{#2} #4% @@ -859,29 +990,30 @@ \ifx\@ctblcontinued\empty\else\addtocounter{\@ctbltaborfig}{-1}\fi \@ctblalign \begin{minipage}{\@ctblfloatwidth}\parindent0pt - \ifx\@ctblbotcap\empty\@ctblCaption\vskip\@ctblcaptionskip\fi + \ifx\@ctblbotcap\@ctblfalse\@ctblCaption\vskip\@ctblcaptionskip\fi \centering{\usebox\ctbl@t} % insert the tabular \def\@ctblfootnotes{#3}% \ifx#3\empty\else{% append footnotes, if any \footnotesize - \ifx\@ctblnotespar\empty% - \\ - \begin{tabularx}{\hsize}{r@{\,}>{\raggedright}X} - #3% - \end{tabularx}% - \else% + \ifx\@ctblnotespar\@ctbltrue% \\[.2ex] \begin{minipage}{\hsize}% #3% \end{minipage}% + \else% + \\ + \begin{tabularx}{\hsize}{r@{\,}>{\raggedright}X} + #3% + \end{tabularx}% \fi + } \fi - \ifx\@ctblbotcap\empty\else\vskip\@ctblcaptionskip\@ctblCaption\fi + \ifx\@ctblbotcap\@ctbltrue\vskip\@ctblcaptionskip\@ctblCaption\fi \end{minipage} \@ctblend } % \end{macrocode} % \Finale \endinput -$Id: ctable.dtx,v 1.69 2010-10-29 21:54:38 wybo Exp $ +$Id: ctable.dtx,v 1.72 2011-04-15 20:35:11 wybo Exp $ diff --git a/Master/texmf-dist/source/latex/ctable/ctable.ins b/Master/texmf-dist/source/latex/ctable/ctable.ins index d6868d9ab74..6a1b19247bd 100644 --- a/Master/texmf-dist/source/latex/ctable/ctable.ins +++ b/Master/texmf-dist/source/latex/ctable/ctable.ins @@ -1,5 +1,5 @@ %% -%% Copyright (C) 2005 by Wybo Dekker <wybo@servalys.nl> +%% Copyright (C) 2005 by Wybo Dekker <wybo@dekkerdocumenten.nl> %% %% This file may be distributed and/or modified under the conditions of %% the LaTeX Project Public License, either version 1.2 of this license @@ -21,7 +21,7 @@ This is a generated file. -Copyright (C) 2005 by Wybo Dekker <wybo@servalys.nl> +Copyright (C) 2005 by Wybo Dekker <wybo@dekkerdocumenten.nl> This file may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.2 of this license @@ -61,4 +61,4 @@ and version 1.2 or later is part of all distributions of LaTeX version \Msg{**************************************************************} \endbatchfile -$Id: ctable.ins,v 1.6 2007-08-18 12:14:49 wybo Exp $ +$Id: ctable.ins,v 1.8 2011-03-16 15:56:11 wybo Exp $ |