diff options
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/ctable/01b | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/ctable/09b | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/ctable/README | 14 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/ctable/ctable.pdf | bin | 815944 -> 823338 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/ctable/doit | 6 | ||||
-rwxr-xr-x | Master/texmf-dist/doc/latex/ctable/inst | 188 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/ctable/ctable.dtx | 173 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/ctable/ctable.sty | 95 |
8 files changed, 338 insertions, 142 deletions
diff --git a/Master/texmf-dist/doc/latex/ctable/01b b/Master/texmf-dist/doc/latex/ctable/01b index 3ae87b4c718..7bc0415c6fb 100644 --- a/Master/texmf-dist/doc/latex/ctable/01b +++ b/Master/texmf-dist/doc/latex/ctable/01b @@ -9,4 +9,4 @@ ]{H{.4}H{.6}}{}{\FL \F{penguin}& \F{lion}\LL } -$Id: 01b,v 1.3 2009-12-18 16:49:34 wybo Exp $ +$Id: 01b,v 1.3 2009/12/18 16:49:34 wybo Exp $ diff --git a/Master/texmf-dist/doc/latex/ctable/09b b/Master/texmf-dist/doc/latex/ctable/09b index 0ada9052991..0ea2cc41f90 100644 --- a/Master/texmf-dist/doc/latex/ctable/09b +++ b/Master/texmf-dist/doc/latex/ctable/09b @@ -5,4 +5,4 @@ framesep=10pt ]{c}{}{\FL Table's first row\LL} -$Id: 09b,v 1.1 2007-07-22 15:30:56 wybo Exp $ +$Id: 09b,v 1.1 2007/07/22 15:30:56 wybo Exp $ diff --git a/Master/texmf-dist/doc/latex/ctable/README b/Master/texmf-dist/doc/latex/ctable/README index 09d8a1315c3..101ff9a5046 100644 --- a/Master/texmf-dist/doc/latex/ctable/README +++ b/Master/texmf-dist/doc/latex/ctable/README @@ -1,4 +1,4 @@ -This is version 1.23 of the ctable package +This is version 1.24 of the ctable package License: LPPL ctable.sty provides commands to easily typeset centered or left or @@ -8,11 +8,9 @@ first is optional and is used for key,value pairs generating variations on the defaults and offering a route for future extensions. -changes of v1.23 relative to v1.22: -- added the footerwidth option +changes of v1.24 relative to v1.23: +- require xcolor instead of color +- added option bgopacity +- added option sidecap (for memoir only) -changes of v1.22 relative to v1.21: -- allow empty lines in last (tabular) argument -- corrected error from hyperref's nameref calls (thanks Marco Daniel!) - -$Id: README,v 1.13 2012/05/28 12:52:08 wybo Exp $ +$Id: README,v 1.14 2013/04/28 11:59:49 wybo Exp $ diff --git a/Master/texmf-dist/doc/latex/ctable/ctable.pdf b/Master/texmf-dist/doc/latex/ctable/ctable.pdf Binary files differindex 433a00b7d0a..8ce4db996a4 100644 --- a/Master/texmf-dist/doc/latex/ctable/ctable.pdf +++ b/Master/texmf-dist/doc/latex/ctable/ctable.pdf diff --git a/Master/texmf-dist/doc/latex/ctable/doit b/Master/texmf-dist/doc/latex/ctable/doit index b2da791d8a9..341824cb629 100644 --- a/Master/texmf-dist/doc/latex/ctable/doit +++ b/Master/texmf-dist/doc/latex/ctable/doit @@ -1,4 +1,4 @@ -#!/usr/bin/ruby +#!/usr/bin/env ruby require 'erb' require 'scriptingutils' @@ -61,7 +61,7 @@ set.each do |j| sys("pdfcrop #{f}.pdf #{f}.pdf") end end -# $Id: doit,v 1.8 2010-06-26 21:09:37 wybo Exp $ +# $Id: doit,v 1.9 2012/08/17 18:03:20 wybo Exp $ __END__ \documentclass{article} \usepackage[a4paper,margin=20mm,noheadfoot]{geometry} @@ -73,7 +73,7 @@ __END__ \documentclass[twoside]{article} <% if j =~ /[k-z]$/ %> -\usepackage[papersize={65mm,40mm},showframe,margin=5mm,noheadfoot]{geometry} +\usepackage[papersize={65mm,40mm},showframe,margin=1mm,noheadfoot]{geometry} <% end %> \usepackage{ctable} \usepackage{txfonts} diff --git a/Master/texmf-dist/doc/latex/ctable/inst b/Master/texmf-dist/doc/latex/ctable/inst index 01656d9325e..7c5a60a8651 100755 --- a/Master/texmf-dist/doc/latex/ctable/inst +++ b/Master/texmf-dist/doc/latex/ctable/inst @@ -1,6 +1,8 @@ #!/bin/bash NAME=ctable +LOCAL=`kpsewhich --expand-var '$TEXMFLOCAL'`/tex/latex/$NAME + # this script generates NAME's documentation into NAME.pdf # and then installs (unless the environment variable NOINSTALL is not empty) # NAME in TEXMFLOCAL @@ -8,71 +10,143 @@ NAME=ctable # inst with the --Clean option, then run inst without options. function die { - echo -e "$1" - exit 1 + echo -e "$*" + exit 1 } -LOCAL=`kpsewhich --expand-var '$TEXMFLOCAL'`/tex/latex/$NAME -CLEAN={aux,idx,ilg,chk,fls,ind,log,glo,gls,out,tex} -ALLCLEAN={aux,idx,ilg,chk,fls,ind,log,glo,gls,out,tex,sty,cls,pdf} +function help { + cat <<-EOD + Usage: inst [option] + Options: + -h, --help Print this help + -c, --clean Clean up, but keep $NAME.{sty,pdf} + -C, --Clean Clean up all files that can be regenerated + -z, --zip Create zip for CTAN (developer only) + EOD + exit +} function clean { - eval "rm -f $NAME.$CLEAN doc/*.$CLEAN" + rm -f {$NAME,doc/*}.{aux,idx,ilg,chk,fls,ind,log,glo,gls,out,tex} + rm -f doc/*.pdf } function Clean { - eval "rm -f $NAME.$ALLCLEAN doc/*.$ALLCLEAN" + clean + rm -f {$NAME,doc/*}.{sty,cls,pdf} +} + +function makeall { + echo y |tex $NAME.ins >/dev/null + ( # recompile example graphics if any is missing: + cd doc + ln -sf ../$NAME.sty || exit 1 # use the $NAME.sty version to be installed + for i in [0-9][0-9]?; do + if [ ! -f $i.pdf -o ! -f s$i.pdf ]; then + echo Creating example graphics + ./doit || exit 1 + ./doit -c + break + fi + done + rm $NAME.sty + cd .. + + echo Creating documentation + pdflatex --recorder --interaction=batchmode $NAME.dtx || die "`texlog_extract $NAME.log`" + if [ -f $NAME.glo ]; then + makeindex -q -s gglo.ist -o $NAME.gls $NAME.glo || echo makeindex-error + fi + if [ -f $NAME.idx ]; then + makeindex -q -s gind.ist -o $NAME.ind $NAME.idx || exit 1 + fi + pdflatex --recorder --interaction=nonstopmode $NAME.dtx > /dev/null || exit 1 + + # set environment variable NOINSTALL to skip installation in your textree + if [ "$NOINSTALL" = "" ]; then + echo Installing $NAME.{dtx,sty,pdf} + rm -rf $LOCAL + mkdir -p $LOCAL + cp $NAME.{dtx,sty,pdf} $LOCAL || exit 1 + fi + sudo -i mktexlsr $LOCAL + exit 0 + ) + if [ $? != 0 ]; then + echo errors detected, see $NAME.log + else + echo $NAME successfully installed + fi + texlog_extract $NAME } -case "$1" -in --c|--clean) clean; exit;; --C|--Clean) Clean; exit;; --h|--help) echo 'Usage: ./inst [-c|C|h]'; exit;; -?*) echo 'Illegal argument(s): use -c|-C|-h|--clean|--Clean|--help'; exit;; -esac +function mkzip { + # is cvs up to date? + cvs -Q status 2>&1 |grep Status:|grep -v Up-to-date + if [ $? -eq 0 ]; then + echo -n 'Still go on (y/N) ' + read yn + if [[ ! $yn =~ ^[yY] ]]; then echo Quitting...; exit 1; fi + fi + + # create sty and pdf if need so: + NOINSTALL=true ./inst || echo die Problems creating sty and pdf files + + files=( $NAME/{README,inst} $NAME/$NAME.{dtx,ins,sty,pdf} $NAME/doc/{[0-9][0-9][a-z],doit,lion.png,penguin.jpg}) + cd .. + for i in ${files[@]}; do + test -e $i || die File $i does not exist + done + cd ctable + + # check for equal dates and warn if different: + dateexp='[0-9][0-9][0-9][0-9]\/[0-9][0-9]\/[0-9][0-9]' + versexp='[0-9]\+\.[0-9]\+[a-z]*' + read packdate version cvsdate <<<`sed -n " + s/.Id: .*\($dateexp\).*/\1/p + s/.*\($dateexp\) v\($versexp\).*/\1 \2/p + " $NAME.dtx` + cat <<-EOD + packagedate: $packdate + version: $version + cvs-date: $cvsdate + EOD + + # is README updated? + grep "v$version relative to" README >/dev/null || die README not updated - quitting... + + # normally packdate and cvsdate are equal, because I make the zip right after updating CVS: + if [ $packdate != $cvsdate ]; then + echo package and cvs dates differ + echo -n 'Still go on (y/N) ' + read yn + if [[ ! $yn =~ ^[yY] ]]; then echo Quitting...; exit 1; fi + fi + + # make the zip + cd .. + zip=$NAME-$version.zip + zip -Dqr $NAME/$zip ${files[@]} + echo " created: $zip" + +} + +if ! options=$(getopt -o hcCz \ + -l help,clean,Clean,zip -- "$@"); then exit 1; fi +eval set -- "$options" + +while [ $# -gt 0 ]; do + case $1 in + -c|--clean) clean; exit;; + -C|--Clean) Clean; exit;; + -z|--zip) makeall; mkzip; exit;; + -h|--help) help;; + (--) shift; break;; + (*) break;; + esac + shift +done -echo y |tex $NAME.ins >/dev/null -( - # recompile example graphics if any is missing: - cd doc - ln -sf ../$NAME.sty || exit 1 # use the $NAME.sty version to be installed - for i in [0-9][0-9]?; do - if [ ! -f $i.pdf -o ! -f s$i.pdf ]; then - echo Creating example graphics - ./doit || exit 1 - ./doit -c - break - fi - done - rm $NAME.sty - cd .. - - echo Creating documentation - pdflatex --recorder --interaction=batchmode $NAME.dtx || die "`texlog_extract $NAME.log`" - if [ -f $NAME.glo ]; then - makeindex -q -s gglo.ist -o $NAME.gls $NAME.glo || echo makeindex-error - fi - if [ -f $NAME.idx ]; then - makeindex -q -s gind.ist -o $NAME.ind $NAME.idx || exit 1 - fi - pdflatex --recorder --interaction=nonstopmode $NAME.dtx > /dev/null || exit 1 - - # set environment variable NOINSTALL to skip installation in your textree - if [ "$NOINSTALL" = "" ]; then - echo Installing $NAME.{dtx,sty,pdf} - rm -rf $LOCAL - mkdir -p $LOCAL - cp $NAME.{dtx,sty,pdf} $LOCAL || exit 1 - fi - sudo -i mktexlsr $LOCAL - exit 0 -) -if [ $? != 0 ]; then - echo errors detected, see $NAME.log -else - echo $NAME successfully installed -fi -texlog_extract $NAME +makeall -# $Id: inst,v 1.28 2012/05/28 12:53:17 wybo Exp $ +# $Id: inst,v 1.31 2013/04/28 12:25:00 wybo Exp $ diff --git a/Master/texmf-dist/source/latex/ctable/ctable.dtx b/Master/texmf-dist/source/latex/ctable/ctable.dtx index 63883c3942b..d1163616858 100644 --- a/Master/texmf-dist/source/latex/ctable/ctable.dtx +++ b/Master/texmf-dist/source/latex/ctable/ctable.dtx @@ -19,7 +19,7 @@ %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\ProvidesPackage{ctable} %<*package> - [2012/05/28 v1.23 ctable package] + [2013/04/28 v1.24 Easy, key=value directed, option-rich, typesetting of floats] %</package> % %<*driver> @@ -79,7 +79,7 @@ %</driver> % \fi % -% \CheckSum{604} +% \CheckSum{0} % % \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 @@ -178,6 +178,10 @@ % } % \changes{v1.23}{2012/05/28}{footerwidth option added % } +% \changes{v1.23}{2013/04/28}{require xcolor instead of color +% added option bgopacity +% added option sidecap (for memoir only) +% } % % \GetFileInfo{ctable.dtx} % @@ -187,7 +191,7 @@ % \ifx, \setkeys, \end, \label, % \specialrule, \fboxrule, \let, \tabularnewline, % \PackageError, \fboxsep, \newbox, \textit, -% \PackageWarning, \fcolorbox, \newcolumntype, \usebox, +% \PackageWarningNoLine, \fcolorbox, \newcolumntype, \usebox, % \RequirePackage, \fi, \newdimen, \vspace, % \begin, \footnotesize, \normalfont, \wd, % \define@key, @@ -255,9 +259,18 @@ % Currently the following option keys have been defined: % % { \marginparwidth25mm +% \DescribeMacro{bgopacity=...\hfill} +% Sets the opacity of the table's background color, where 1 is 100\% opaque +% (the default), and 0 is completely transparent. One application is with +% watermarking: most watermarking packages print their watermark on the +% background. |ctable|'s background color, which is opaque by default, may +% make the watermark (partially) invisible. You can avoid this by setting +% the |bgopacity| option to a value lower than 1. Note that this works only +% in PDF mode, a warning is issued otherwise. +% % \DescribeMacro{botcap\hfill} % put the caption at the bottom of the float instead of on top of it. -% See also: |topcap|. +% See also: |topcap|, |sidecap|. % % \DescribeMacro{caption=...\hfill} % table caption; the braces are needed only if your caption contains a @@ -266,14 +279,21 @@ % \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. +% given an empty value, \textsl{and you have loaded the |caption| package}, +% no entry in the |\listoftables| will be made. This may be useful, for +% example, with the |continued| option. % % \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 +% captions at their default \LaTeX\ positions. For the standard \LaTeX\ +% classes this means that 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. +% baseline at |4ex| below the bottom rule position. These dimensions may be +% different for other classes or when other packages are included. The +% |memoir| class and the |caption| package, for example, typeset both +% captions differently. Keep in mind that when you use the |caption| package +% in the |memoir| class, |memoir|'s caption commands are suspended and |caption|'s +% commands must be used. % % \DescribeMacro{captionsleft\hfill} This option is defined for % |\setupctable| only, and it is effective only where the |sideways| option @@ -382,6 +402,13 @@ % \DescribeMacro{right\hfill} % right align the table in the available text width. % +% \DescribeMacro{sidecap\hfill} +% put the caption at the side of the float. Currently, this works only if +% you have loaded the |memoir| class, otherwise an error message is +% generated. The parameters for the caption, such as its vertical +% positioning, width and more, must be set with the appropriate |memoir| +% commands. See also: |botcap|, |topcap|. +% % \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 @@ -402,7 +429,7 @@ % 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|. +% put the caption top of the float; this is the default. See also: |botcap|, |sidecap|. % % \DescribeMacro{width=...\hfill} % \REF{tabularx} will be used to typeset the table at the specified @@ -753,10 +780,20 @@ % \StopEventually{} % % \section{Implementation} -% Package etoolbox provides |\expandonce| % \begin{macrocode} -\RequirePackage{color,xkeyval,array,tabularx,booktabs,rotating} -\RequirePackage{etoolbox} +\RequirePackage{ifpdf,xcolor,xkeyval,array,tabularx,booktabs,rotating} +% \end{macrocode} +% The transparency package works only in pdf mode, otherwise define +% a dummy |\transparent| and issue a warning. +% \begin{macrocode} +\ifpdf + \RequirePackage{transparent} +\else + \PackageWarningNoLine{ctable}{\MessageBreak + Transparency disabled: pdfTeX is not running in PDF mode + } + \def\transparent#1{} +\fi \def\NN{\tabularnewline} \def\FL{\toprule} \def\ML{\NN\midrule} @@ -772,9 +809,29 @@ \def\@ctbltextsuperscript#1{% \ifx\@ctblsuper\@ctbltrue\@textsuperscript{#1}\else{\footnotesize#1}\fi } +% \end{macrocode} +% define a true and a false value +% \begin{macrocode} \def\@ctbltrue{1} \def\@ctblfalse{0} +% \end{macrocode} +% normally we do nothing special inside the float, but that can be changed with the doinside option +% \begin{macrocode} \def\@ctbldoinside{\relax} +% \end{macrocode} +% Need three booleans to remember: +% if we use tabularx, +% if we are running in the memoir class, +% if the caption package is loaded +% \begin{macrocode} +\newif\if@ctblusex +\newif\if@ctblinmemoir +\newif\if@ctblhascaption +\@ifclassloaded{memoir}{\@ctblinmemoirtrue}{\@ctblinmemoirfalse} +\@ifpackageloaded{caption}{\@ctblhascaptiontrue}{\@ctblhascaptionfalse} +% \end{macrocode} +% Need lots of dimens and their defaults +% \begin{macrocode} \newdimen\@ctblframesep \newdimen\@defaultctblframesep \newdimen\@ctblframerule \newdimen\@defaultctblframerule \newdimen\@ctblwidth \newdimen\@defaultctblwidth @@ -799,6 +856,7 @@ % |\begin{table}[tbp]| in it. % \begin{macrocode} +\define@key{suctbl}{bgopacity}{\def\@defaultctblbgopacity{#1}} \define@key{suctbl}{botcap}[]{\let\@defaultctblbotcap\@ctbltrue} \define@key{suctbl}{captionsinside}[]{\def\rot@LR{-1} \if@twoside\@rot@twosidetrue @@ -834,26 +892,28 @@ \newcommand{\setupctable}[1]{\setkeys{suctbl}{#1}} \setupctable{ - table, + bgopacity=1, + captionskip=0pt, + center, continued=(continued), - topcap, + doinside={}, + footerwidth=0pt, + framebg=1 1 1, + framefg=0 0 0, framerule=0pt, - captionskip=0pt, framesep=0pt, - width=0pt, maxwidth=0pt, mincapwidth=0pt, - footerwidth=0pt, + nonotespar, nosideways, - center, nostar, super, - nonotespar, - doinside={}, - framebg=1 1 1, - framefg=0 0 0, + table, + topcap, + width=0pt, } +\define@key{ctbl}{bgopacity}{\def\@ctblbgopacity{#1}} \define@key{ctbl}{botcap}[]{\let\@ctblbotcap\@ctbltrue} \define@key{ctbl}{captionskip}{\@ctblcaptionskip=#1} \define@key{ctbl}{caption}{\def\@ctblcaption{#1}} @@ -878,6 +938,7 @@ \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}{sidecap}[]{\let\@ctblbotcap\undefined} \define@key{ctbl}{sideways}[]{\def\@ctblsideways{sideways}} \define@key{ctbl}{star}[]{\def\@ctblstarred{*}} \define@key{ctbl}{super}[]{\let\@ctblsuper\@ctbltrue} @@ -889,22 +950,23 @@ % non-empty value. If so, it goes in the lot/lof, unless the \textsl{cap} option % specified a different (probably shorter) value for it. A \textsl{cap} option with % an empty value inhibits a tof/lof entry. +% The |\ctbl@expandonce| trick below is from Marco Daniel. +% It expands the arguments of |\caption| +% so that the hyperref command |\nameref| works OK. % \begin{macrocode} +\newcommand{\ctbl@expandonce}[1]{\unexpanded\expandafter{#1}} \def\@ctblCaption{ - \ifx\@ctblcap\undefined\let\@ctblcap\@ctblcaption\fi \ifx\@ctblcaption\empty\else \def\@ctblcaptionarg{\ifx\@ctbllabel\empty\else\label{\@ctbllabel}\fi \@ctblcaption\ \@ctblcontinued\strut} - \ifx\@ctblcap\empty \begingroup - \edef\x{\endgroup\noexpand\caption[]{\expandonce\@ctblcaptionarg}} - \x - \else - \begingroup - \edef\x{\endgroup\noexpand\caption[\expandonce\@ctblcap]% - {\expandonce\@ctblcaptionarg}} - \x - \fi + \ifx\@ctblcap\empty + \edef\x{\endgroup\noexpand\caption[]{\ctbl@expandonce\@ctblcaptionarg}} + \else + \edef\x{\endgroup\noexpand\caption[\ctbl@expandonce\@ctblcap]% + {\ctbl@expandonce\@ctblcaptionarg}} + \fi + \x \fi } % \end{macrocode} @@ -920,7 +982,8 @@ \long\def\@ctblframe#1#2#3{% \@ctbloldsep\fboxsep\fboxsep\@ctblframesep% \@ctbloldrule\fboxrule\fboxrule\@ctblframerule% - \fcolorbox{#1}{#2}{\fboxsep\@ctbloldsep\fboxrule\@ctbloldrule #3}% + \transparent{\@ctblbgopacity}% + \fcolorbox{#1}{#2}{\fboxsep\@ctbloldsep\fboxrule\@ctbloldrule\transparent{1}#3}% } \newcommand{\tnote}[2][a]{% \ifx\@ctblnotespar\@ctbltrue% @@ -945,6 +1008,7 @@ \let\@ctblsuper \@defaultctblsuper \let\@ctblnotespar \@defaultctblnotespar \let\@ctbldoinside \@defaultctbldoinside + \let\@ctblbgopacity \@defaultctblbgopacity \@ctblframerule \@defaultctblframerule \@ctblcaptionskip \@defaultctblcaptionskip \@ctblframesep \@defaultctblframesep @@ -959,20 +1023,45 @@ \def\@ctblend {\end{\@ctblsideways\@ctbltaborfig\@ctblstarred}} \setkeys{ctbl}{#1} % \end{macrocode} +% Make the short caption equal to the caption if it has not been defined +% \begin{macrocode} + \ifx\@ctblcap\undefined\let\@ctblcap\@ctblcaption\fi +% \end{macrocode} +% Issue a warning if the short caption is empty and the caption package is not loaded +% \begin{macrocode} + \ifx\@ctblcap\empty + \if@ctblhascaption\else + \PackageWarningNoLine{ctable}{\MessageBreak + An empty cap= option prevents lot/loc entry only\MessageBreak + if the caption package is loaded!} + \fi + \fi +% \end{macrocode} +% Currently, the sidecap option can only be used from within the memoir class; +% here we test if memoir is loaded: +% \begin{macrocode} + \if@ctblinmemoir\else + \ifx\@ctblbotcap\undefined + \PackageError{ctable}{\MessageBreak + You can, currently, use the sidecap option only with memoir documents\MessageBreak + Use topcap or botcap only} + \fi + \fi +% \end{macrocode} % It makes no sense to use \textsl{width} together with \textsl{maxwidth} or % \textsl{pos} together with \textsl{sideways} % \begin{macrocode} \ifdim\@ctblwidth=0pt\else \ifdim\@ctblmaxwidth=0pt\else - \PackageError{ctable}{ - You may not use the width and maxwidth options together}{ + \PackageError{ctable}{\MessageBreak + You may not use the width and maxwidth options together\MessageBreak Use either width or maxwidth} \fi \fi \ifx\@ctblpos\empty \ifx\@ctblsideways\empty\else - \PackageError{ctable}{ - You may not use the pos and sideways options together}{ + \PackageError{ctable}{\MessageBreak + You may not use the pos and sideways options together\MessageBreak Rotated tables and figures are always typeset on a separate page} \fi \fi @@ -982,8 +1071,8 @@ % \begin{macrocode} \ifx\@ctblcaption\empty \ifx\@ctbllabel\empty\else - \PackageError{ctable}{ - You may not label a captionless table}{ + \PackageError{ctable}{\MessageBreak + You may not label a captionless table\MessageBreak Such a label can't be referenced} \fi \fi @@ -1003,7 +1092,7 @@ % \end{macrocode} % then look if we'll need the tabularx environment: % \begin{macrocode} - \newif\if@ctblusex\@ctblusexfalse + \@ctblusexfalse \ifdim\@ctblmaxwidth=0pt \ifdim\@ctblwidth=0pt \else @@ -1052,6 +1141,7 @@ \@ctblalign \begin{minipage}{\@ctblfloatwidth}\parindent0pt \ifx\@ctblbotcap\@ctblfalse\@ctblCaption\vskip\@ctblcaptionskip\fi + \ifx\@ctblbotcap\undefined\begin{sidecaption}[\@ctblcap]{\@ctblcaption}[ label ]\fi \centering{\usebox\ctbl@t} % insert the tabular \def\@ctblfootnotes{#3}% \ifx#3\empty\else{% append footnotes, if any @@ -1079,6 +1169,7 @@ \fi } \fi + \ifx\@ctblbotcap\undefined\end{sidecaption}\fi \ifx\@ctblbotcap\@ctbltrue\vskip\@ctblcaptionskip\@ctblCaption\fi \end{minipage} \@ctblend @@ -1086,4 +1177,4 @@ % \end{macrocode} % \Finale \endinput -$Id: ctable.dtx,v 1.80 2012/05/28 12:51:59 wybo Exp $ +$Id: ctable.dtx,v 1.84 2013/04/28 11:59:32 wybo Exp $ diff --git a/Master/texmf-dist/tex/latex/ctable/ctable.sty b/Master/texmf-dist/tex/latex/ctable/ctable.sty index f5f7304a58e..3049af303c9 100644 --- a/Master/texmf-dist/tex/latex/ctable/ctable.sty +++ b/Master/texmf-dist/tex/latex/ctable/ctable.sty @@ -22,9 +22,16 @@ %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{ctable} - [2012/05/28 v1.23 ctable package] -\RequirePackage{color,xkeyval,array,tabularx,booktabs,rotating} -\RequirePackage{etoolbox} + [2013/04/28 v1.24 Easy, key=value directed, option-rich, typesetting of floats] +\RequirePackage{ifpdf,xcolor,xkeyval,array,tabularx,booktabs,rotating} +\ifpdf + \RequirePackage{transparent} +\else + \PackageWarningNoLine{ctable}{\MessageBreak + Transparency disabled: pdfTeX is not running in PDF mode + } + \def\transparent#1{} +\fi \def\NN{\tabularnewline} \def\FL{\toprule} \def\ML{\NN\midrule} @@ -43,6 +50,11 @@ \def\@ctbltrue{1} \def\@ctblfalse{0} \def\@ctbldoinside{\relax} +\newif\if@ctblusex +\newif\if@ctblinmemoir +\newif\if@ctblhascaption +\@ifclassloaded{memoir}{\@ctblinmemoirtrue}{\@ctblinmemoirfalse} +\@ifpackageloaded{caption}{\@ctblhascaptiontrue}{\@ctblhascaptionfalse} \newdimen\@ctblframesep \newdimen\@defaultctblframesep \newdimen\@ctblframerule \newdimen\@defaultctblframerule \newdimen\@ctblwidth \newdimen\@defaultctblwidth @@ -56,6 +68,7 @@ \newdimen\@ctbloldrule \newbox\ctbl@t % tabular saved and measured here +\define@key{suctbl}{bgopacity}{\def\@defaultctblbgopacity{#1}} \define@key{suctbl}{botcap}[]{\let\@defaultctblbotcap\@ctbltrue} \define@key{suctbl}{captionsinside}[]{\def\rot@LR{-1} \if@twoside\@rot@twosidetrue @@ -91,26 +104,28 @@ \newcommand{\setupctable}[1]{\setkeys{suctbl}{#1}} \setupctable{ - table, + bgopacity=1, + captionskip=0pt, + center, continued=(continued), - topcap, + doinside={}, + footerwidth=0pt, + framebg=1 1 1, + framefg=0 0 0, framerule=0pt, - captionskip=0pt, framesep=0pt, - width=0pt, maxwidth=0pt, mincapwidth=0pt, - footerwidth=0pt, + nonotespar, nosideways, - center, nostar, super, - nonotespar, - doinside={}, - framebg=1 1 1, - framefg=0 0 0, + table, + topcap, + width=0pt, } +\define@key{ctbl}{bgopacity}{\def\@ctblbgopacity{#1}} \define@key{ctbl}{botcap}[]{\let\@ctblbotcap\@ctbltrue} \define@key{ctbl}{captionskip}{\@ctblcaptionskip=#1} \define@key{ctbl}{caption}{\def\@ctblcaption{#1}} @@ -135,27 +150,26 @@ \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}{sidecap}[]{\let\@ctblbotcap\undefined} \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} +\newcommand{\ctbl@expandonce}[1]{\unexpanded\expandafter{#1}} \def\@ctblCaption{ - \ifx\@ctblcap\undefined\let\@ctblcap\@ctblcaption\fi \ifx\@ctblcaption\empty\else \def\@ctblcaptionarg{\ifx\@ctbllabel\empty\else\label{\@ctbllabel}\fi \@ctblcaption\ \@ctblcontinued\strut} - \ifx\@ctblcap\empty \begingroup - \edef\x{\endgroup\noexpand\caption[]{\expandonce\@ctblcaptionarg}} - \x - \else - \begingroup - \edef\x{\endgroup\noexpand\caption[\expandonce\@ctblcap]% - {\expandonce\@ctblcaptionarg}} - \x - \fi + \ifx\@ctblcap\empty + \edef\x{\endgroup\noexpand\caption[]{\ctbl@expandonce\@ctblcaptionarg}} + \else + \edef\x{\endgroup\noexpand\caption[\ctbl@expandonce\@ctblcap]% + {\ctbl@expandonce\@ctblcaptionarg}} + \fi + \x \fi } \newcolumntype{Y}{X} @@ -166,7 +180,8 @@ \long\def\@ctblframe#1#2#3{% \@ctbloldsep\fboxsep\fboxsep\@ctblframesep% \@ctbloldrule\fboxrule\fboxrule\@ctblframerule% - \fcolorbox{#1}{#2}{\fboxsep\@ctbloldsep\fboxrule\@ctbloldrule #3}% + \transparent{\@ctblbgopacity}% + \fcolorbox{#1}{#2}{\fboxsep\@ctbloldsep\fboxrule\@ctbloldrule\transparent{1}#3}% } \newcommand{\tnote}[2][a]{% \ifx\@ctblnotespar\@ctbltrue% @@ -191,6 +206,7 @@ \let\@ctblsuper \@defaultctblsuper \let\@ctblnotespar \@defaultctblnotespar \let\@ctbldoinside \@defaultctbldoinside + \let\@ctblbgopacity \@defaultctblbgopacity \@ctblframerule \@defaultctblframerule \@ctblcaptionskip \@defaultctblcaptionskip \@ctblframesep \@defaultctblframesep @@ -204,24 +220,39 @@ \def\@ctblbegin {\@ctblbeg} \def\@ctblend {\end{\@ctblsideways\@ctbltaborfig\@ctblstarred}} \setkeys{ctbl}{#1} + \ifx\@ctblcap\undefined\let\@ctblcap\@ctblcaption\fi + \ifx\@ctblcap\empty + \if@ctblhascaption\else + \PackageWarningNoLine{ctable}{\MessageBreak + An empty cap= option prevents lot/loc entry only\MessageBreak + if the caption package is loaded!} + \fi + \fi + \if@ctblinmemoir\else + \ifx\@ctblbotcap\undefined + \PackageError{ctable}{\MessageBreak + You can, currently, use the sidecap option only with memoir documents\MessageBreak + Use topcap or botcap only} + \fi + \fi \ifdim\@ctblwidth=0pt\else \ifdim\@ctblmaxwidth=0pt\else - \PackageError{ctable}{ - You may not use the width and maxwidth options together}{ + \PackageError{ctable}{\MessageBreak + You may not use the width and maxwidth options together\MessageBreak Use either width or maxwidth} \fi \fi \ifx\@ctblpos\empty \ifx\@ctblsideways\empty\else - \PackageError{ctable}{ - You may not use the pos and sideways options together}{ + \PackageError{ctable}{\MessageBreak + You may not use the pos and sideways options together\MessageBreak Rotated tables and figures are always typeset on a separate page} \fi \fi \ifx\@ctblcaption\empty \ifx\@ctbllabel\empty\else - \PackageError{ctable}{ - You may not label a captionless table}{ + \PackageError{ctable}{\MessageBreak + You may not label a captionless table\MessageBreak Such a label can't be referenced} \fi \fi @@ -234,7 +265,7 @@ \end{tabular}% }% }% - \newif\if@ctblusex\@ctblusexfalse + \@ctblusexfalse \ifdim\@ctblmaxwidth=0pt \ifdim\@ctblwidth=0pt \else @@ -267,6 +298,7 @@ \@ctblalign \begin{minipage}{\@ctblfloatwidth}\parindent0pt \ifx\@ctblbotcap\@ctblfalse\@ctblCaption\vskip\@ctblcaptionskip\fi + \ifx\@ctblbotcap\undefined\begin{sidecaption}[\@ctblcap]{\@ctblcaption}[ label ]\fi \centering{\usebox\ctbl@t} % insert the tabular \def\@ctblfootnotes{#3}% \ifx#3\empty\else{% append footnotes, if any @@ -287,6 +319,7 @@ \fi } \fi + \ifx\@ctblbotcap\undefined\end{sidecaption}\fi \ifx\@ctblbotcap\@ctbltrue\vskip\@ctblcaptionskip\@ctblCaption\fi \end{minipage} \@ctblend |