; TeX output 1996.03.05:1454soDtGGcmr17The7tGGcmss17captionpacqkage!", cmsy10 XQ cmr12HaraldAxelSommerfeldto cmr9axel@hp1.ang-ph9ysik.uni-kiel.de{HaraldffgTySommerfeldtT@W(MausNet)737 1995/10/091!Kt : cmbx9AbstractэoTheow cmss9captionpac9k|rageprovidesmanywaystocustomisethecaptionsin b oating8en9vironmentssuchߤN cmtt9figure,Btable,sidewaysfigure,andsidewaystable.bThefollo9wingL5Aacmr6A TuAEXc.25" cmmi9"(pack|ragesaresuppAorted:B oat,qlongtable,andsub g-bure. ,Butitw9orks newiththefollowingpack|ragesaswell: oat g,rotating,bsupAertabular,Tandwrap g.$čI"Nff cmbx121aLDos3cumentation?32Whatffdocumentation?IK`y cmr10I'msorrytosaythis,xbutthereisnodoGcumentationprovidedwiththenewversion Iofthispackqage,]yet.CAndit'sstillbGeta.I˼hopeIcaneleminatebGothcircumstancesIinthenearfuture;&2atthemomentmysparetimeisveryveryverylimited,bsoIIdecidedUUtomakethisbGetapublic.IThisWnewversionisnearlycompatiblewiththelastestocialrelease(version1.4b),IsoyoucanusetheolddoGcumentationsofar.CHereiswhatdi ersthisversionfromIversionUU1.4b:X !", cmsy10bIf!thecaptionpackqagewilldetectaloaded oatpackqage,(_itwill#': cmti10notrede nebthebGoxedstyleof oatsanymore.LIfyouwanttohavetheoldbGehaviour,byouUUhavetospGecifythenewoption$youarenotallowedtochange\captionmarginanymore!Instead,>useItheUUnewcommand\setcaptionmargintodothis.ILongtablesCwillstilltakecareof\LTcapwidth,evenifyouaresettingyourownIwidth via\setcaptionwidthor\setcaptionmargin.T*ogetridofthis,usetheIfollowingUUcoGdejustafterloadingthecaption2packqage:b\dummycaptionstyle{longtable}{}IorUUjustspGecifythenewpackqageoptionlongtable.IThisHHpackqagewasdevelopGedandtestedwithfollowingversionsoftheotherpack- Iages:.1hpackqage versionƣdatebfffd oat:1.2cd1995/03/29longtable:3.15d1995/06/15rotating:2.9d1995/04/07sub gure:2.0d1995/03/06IMaybGeUUitwillworkwitholderversions,maybGenot...IBTW:8Ifyouareinterestedinrotatedversions(likesidewaysfigureorsidewaystable)Iof/new oats(de nedwiththe oatpackqage),7:take/aloGokattherot oatpackage,Iwhich2FcomesfromaverytalentedyoungmanwithaverygermanstyleofwritingIenglishUUdoGcs(ifheeverwritesany!)qandaverybigmouth-myself:-)$čI2aLThanksIIwouldliketothankDavidCarlisleforhishelpwritingthelongtablesuppGort;IwithoutUUthechangesinhispackqagethiswouldn'tbGecomepossible.2 so̍I3aLTheff(notwelldos3cumented)cos3deLsٓRcmr71S\NeedsTeXFormat{LaTeX2e}[1994/12/01] Ls2S\ProvidesPackage{caption2}[1995/10/09v2.0captionpackage(AS)]Ls3S\typeout{Package:captionv2.0(BETA)<1995/10/09>(HaraldSommerfeldt)}Ls4S%Ls5S%packagedetectionmessageLs6S\let\caption@message\undefinedLs7S\newcommand*\caption@package[1]{%Ls8]\ifx\caption@message\undefinedLs9f\message{\space\space\space\space\space\space\space\space\spaceI10Lpackagesdetected:}I11f\let\caption@message\emptyI12]\fiI13]\message{#1}}I14S%I15S%`internal'stuffI16S\newlength\realcaptionwidthI17S\newsavebox\captionboxI18S%I19S%Codeinitialisation,`normal'stuffI20S\newcommand*\captionsize{}I21S\newcommand*\captionfont{\captionsize}I22S\newcommand*\captionlabelfont{}I23S\newcommand*\captionlabeldelim{:}I24S\newdimen\captionlabelsepI25]\sbox\captionbox{}I26]\setlength\captionlabelsep{\wd\captionbox}I27S\newdimen\captionmarginI28S\newdimen\captionwidthI29S%onlyusedbycaptionstyle`indent',butcanbeusedinuser-definesstylesI30S\newdimen\captionindentI31S\newif\ifonelinecaptionsI32S\newif\iftakecaptionwidthI33S%I34S%\newcommand*\setcaptionfont[1]{%I35S% s,\def\captionfont{#1}}I36S%\newcommand*\setcaptionlabelfont[1]{%I37S% s,\def\captionlabelfont{#1}}I38S\newcommand*\setcaptionmargin[1]{%I39]\setlength\captionmargin{#1}%I40]\takecaptionwidthfalse}I41S\newcommand*\setcaptionwidth[1]{%I42]\setlength\captionwidth{#1}%I43]\takecaptionwidthtrue}I44S%I45S%\newcaptionstyle,\renewcaptionstyle&\defcaptionstyleI46S\newcommand\newcaptionstyle[2]{%I47]\expandafter\ifx\csnamecaption@@#1\endcsname\relaxI48f\defcaptionstyle{#1}{#2}%I49]\elseI50f\PackageError{caption}{Captionstyle`#1'alreadydefined}{}%I51]\fi}I52S\newcommand\renewcaptionstyle[2]{%3soI53]\expandafter\ifx\csnamecaption@@#1\endcsname\relax I54f\PackageError{caption}{Captionstyle`#1'undefined}{}%I55]\elseI56f\defcaptionstyle{#1}{#2}%I57]\fi}I58S\newcommand\defcaptionstyle[2]{%I59]\@namedef{caption@@#1}{#2}}I60S\newcommand*\dummycaptionstyle[2]{%I61]\defcaptionstyle{#1}{%I62f\expandafter\ifx\csnamecaption@@\caption@style\expandafter\endcsname%I63*f\csnamecaption@@#1\endcsnameI64p2\PackageError{caption}{Youcan'tusethecaptionstyle`#1'directy}{%I65yw^Thecaptionstyle`#1'isonlyadummyanddoesnotreallyexists.%I66yw^\MessageBreakYouhavetoredefineit(with\protect\renewcaptionstyle)I67yw^beforeyoucanselect\MessageBreakitwith\protect\captionstyle.}%I68f\elseI69p2#2\usecaptionstyle{\caption@style}%I70f\fi}}I71S%I72S%preimplementedtypesofcaptions,allwithalabelandtext,I73S%separatedby\captionlabeldelimI74S\newcaptionstyle{normal}{\caption@make{normal}}I75S\newcaptionstyle{center}{\caption@make{center}}I76S\newcaptionstyle{flushleft}{\caption@make{flushleft}}I77S\newcaptionstyle{flushright}{\caption@make{flushright}}I78S\newcaptionstyle{centerlast}{\caption@make{centerlast}}I79S\newcaptionstyle{hang}{\caption@make{hang}}I80S\newcaptionstyle{indent}{\caption@make{indent}}I81S%I82S%\captionstyleI83S\newcommand*\captionstyle[1]{%I84]\expandafter\ifx\csnamecaption@@#1\endcsname\relaxI85f\PackageError{caption}{Undefinedcaptionstyle`#1'}{}%I86]\elseI87f\def\caption@style{#1}%I88]\fi}I89S%I90S%OptionsI91S\DeclareOption{normal}{\captionstyle{normal}}I92S\DeclareOption{center}{\captionstyle{center}}I93S\DeclareOption{flushleft}{\captionstyle{flushleft}}I94S\DeclareOption{flushright}{\captionstyle{flushright}}I95S\DeclareOption{centerlast}{\captionstyle{centerlast}}I96S\DeclareOption{anne}{\ExecuteOptions{centerlast}}I97S\DeclareOption{hang}{\captionstyle{hang}}I98S\DeclareOption{isu}{\ExecuteOptions{hang}}I99S\DeclareOption{indent}{\captionstyle{indent}}E100S%E101S\DeclareOption{oneline}{\onelinecaptionstrue}E102S\DeclareOption{nooneline}{\onelinecaptionsfalse}E103S%E104S\DeclareOption{scriptsize}{\renewcommand*\captionsize{\scriptsize}}E105S\DeclareOption{footnotesize}{\renewcommand*\captionsize{\footnotesize}}E106S\DeclareOption{small}{\renewcommand*\captionsize{\small}}4 soE107S\DeclareOption{normalsize}{\renewcommand*\captionsize{\normalsize}} E108S\DeclareOption{large}{\renewcommand*\captionsize{\large}}E109S\DeclareOption{Large}{\renewcommand*\captionsize{\Large}}E110S%E111S\DeclareOption{up}{\renewcommand*\captionlabelfont{\upshape}}E112S\DeclareOption{it}{\renewcommand*\captionlabelfont{\itshape}}E113S\DeclareOption{sl}{\renewcommand*\captionlabelfont{\slshape}}E114S\DeclareOption{sc}{\renewcommand*\captionlabelfont{\scshape}}E115S\DeclareOption{md}{\renewcommand*\captionlabelfont{\mdseries}}E116S\DeclareOption{bf}{\renewcommand*\captionlabelfont{\bfseries}}E117S\DeclareOption{rm}{\renewcommand*\captionlabelfont{\rmfamily}}E118S\DeclareOption{sf}{\renewcommand*\captionlabelfont{\sffamily}}E119S\DeclareOption{tt}{\renewcommand*\captionlabelfont{\ttfamily}}E120S%E121S\DeclareOption{boxed}{\AtEndOfPackage{%E122]\ifx\caption@@ruled\undefinedE123f\PackageWarningNoLine{caption}{%E124p2Option`boxed'issetbutthereisno`float'package\MessageBreakE125p2aroundhere,sothisoptionwillbetotallyignored}E126]\elseE127f\dummycaptionstyle{boxed}{}%E128]\fi}}E129S\DeclareOption{ruled}{\AtEndOfPackage{%E130]\ifx\caption@@ruled\undefinedE131f\PackageWarningNoLine{caption}{%E132p2Option`ruled'issetbutthereisno`float'package\MessageBreakE133p2aroundhere,sothisoptionwillbetotallyignored}E134]\elseE135f\dummycaptionstyle{ruled}{\onelinecaptionsfalse\setcaptionmargin{0pt}}%E136]\fi}}E137S%E138S\DeclareOption{longtable}{\AtEndOfPackage{%E139]\ifx\caption@@longtable\undefinedE140f\PackageWarningNoLine{caption}{%E141p2Option`longtable'issetbutthereisno`longtable'package\MessageBreakE142p2aroundhere,sothisoptionwillbetotallyignored}E143]\elseE144f\dummycaptionstyle{longtable}{}%E145]\fi}}E146S%E147S\DeclareOption*{\AtEndOfPackage{%E148]\InputIfFileExists{\CurrentOption.caption}{}{%E149f\PackageError{caption}{File`\CurrentOption.caption'notfound}{%E150fYouselectedtheunknownpackageoption`\CurrentOption',soIE151fthoughtyouwantto\MessageBreakE152finputthedefinitionfile`\CurrentOption.caption'hereE153f--butthereisnoone!}}}}E154S%E155S\ExecuteOptions{normal,oneline}E156S\ProcessOptionsE157S%E158S%\@makecaptionE159S\renewcommand\@makecaption[2]{%E160]\vskip\abovecaptionskip5, soE161]\realcaptionwidth\linewidth E162]\def\captionlabel{#1}%E163]\def\captiontext{#2}%E164]\usecaptionstyle{\caption@style}%E165]\vskip\belowcaptionskip}E166S%E167S%HelpersforcaptionstyleauthorsE168S\newcommand*\caption@canterr[1]{%E169]\PackageError{caption}{Youcan'tuse\protect#1E170finnormaltext}{Theusageof\protect#1isonlyE171fallowedinsidecodedeclaredwith\MessageBreak\protect\defcaptionstyle,E172f\protect\newcaptionstyle\spaceor\protect\renewcaptionstyle.}}E173S\newcommand\onelinecaption[2]{%E174]\ifx\captiontext\undefinedE175f\caption@canterr{\onelinecaption}%E176]\elseE177f\def\caption@temp{#2}%E178f\ifonelinecaptionsE179p2\sbox\captionbox{#1}%E180p2\ifdim\wd\captionbox>\realcaptionwidthE181yw^\caption@tempE182p2\elseE183yw^{\centering\usebox{\captionbox}\par}%E184p2\fiE185f\elseE186p2\caption@tempE187f\fiE188f\let\caption@temp\undefinedE189]\fi}E190S\newcommand*\usecaptionmargin{%E191]\ifx\captiontext\undefinedE192f\caption@canterr{\usecaptionmargin}%E193]\elseE194f\iftakecaptionwidthE195p2\leftskip\realcaptionwidthE196p2\advance\leftskipby-\captionwidthE197p2\divide\leftskipby2E198p2\rightskip\leftskipE199p2\realcaptionwidth\captionwidthE200f\elseE201p2\leftskip\captionmarginE202p2\rightskip\captionmarginE203p2\advance\realcaptionwidthby-2\captionmarginE204f\fiE205]\fi}E206S\newcommand*\usecaptionstyle[1]{%E207]\ifx\captiontext\undefinedE208f\caption@canterr{\usecaptionstyle}%E209]\elseE210f\@ifundefined{caption@@#1}%E211p2{\PackageError{caption}{Captionstyle`#1'undefined}{}}%E212p2{\@nameuse{caption@@#1}}E213]\fi}E214S%68'soE215S%equalcodefornormal,center,centerlast,hang,andindent E216S\newcommand*\caption@make[1]{%E217]\usecaptionmargin\captionfontE218]\def\caption@label{%E219f{\captionlabelfont\captionlabel\captionlabeldelim}%E220f\hskip\captionlabelsep}%E221]\onelinecaption{\caption@label\captiontext}%E222f{\@nameuse{caption@@@#1}}}E223S%E224S%thepreimplementedcaptionstylesE225S\newcommand*\caption@@@normal{%E226]\caption@label\captiontext\par}E227S\newcommand*\caption@@@center{%E228]\parbox[t]{\realcaptionwidth}{\centeringE229]\caption@label\captiontext\par}}%E230S\newcommand*\caption@@@flushleft{%E231]\parbox[t]{\realcaptionwidth}{\raggedrightE232]\caption@label\captiontext\par}}%E233S\newcommand*\caption@@@flushright{%E234]\parbox[t]{\realcaptionwidth}{\raggedleftE235]\caption@label\captiontext\par}}%E236S\newcommand*\caption@@@centerlast{%E237]\advance\leftskipby0ptplus1fil%E238]\advance\rightskipby0ptplus-1fil%E239]\parfillskip0ptplus2fil%E240]\caption@label\captiontext\par}E241S\newcommand*\caption@@@hang{%E242]\sbox\captionbox{\caption@label}%E243]\hangindent\wd\captionbox\noindentE244]\usebox\captionbox\captiontext\par}E245S\newcommand*\caption@@@indent{%E246]\hangindent\captionindent\noindentE247]\caption@label\captiontext\par}6ISupp`ortofthe oatpack@ageuTE248S\ifx\floatc@plain\undefinedE249S\elseE250]\caption@package{float}E251S%E252S%interfacefloatpackage->captionpackageE253]\newcommand\caption@floatc[3]{%E254f\realcaptionwidth\linewidthE255f\def\captionlabel{#2}%E256f\def\captiontext{#3}%E257f\usecaptionstyle{#1}}E258S%E259S%floatstyleplainverwendetjetztdengesetztencaptionstyleE260]\renewcommand\floatc@plain{\caption@floatc{\caption@style}}E261S%E262S%floatstyleboxedauch(kannabermit\renewcaptionstylegeaendertwerden)E263]\dummycaptionstyle{boxed}{\def\captionlabelfont{\bfseries}}E264]\newcommand\floatc@boxed{\caption@floatc{boxed}}E265S%jetztmuessenwirnurnochdafuersorgen,dassesauch(stattfloatc@plain)7AvsoE266S%in\fs@boxedverwendetwird... E267]\let\caption@boxed\fs@boxedE268]\renewcommand\fs@boxed{\let\floatc@plain\floatc@boxed\caption@boxed}E269S%E270S%floatstyleruled,diesgehtzumGlueckwiedergeradeausE271]\newcaptionstyle{ruled}{{\bfseries\captionlabel}\captiontext\par}E272]\renewcommand*\floatc@ruled{\caption@floatc{ruled}}E273S%E274S\fiISupp`ortofthelongtablepack@ageuTE275S\ifx\LT@makecaption\undefinedE276S\elseE277]\caption@package{longtable}E278]\dummycaptionstyle{longtable}{\setcaptionwidth\LTcapwidth}E279]\renewcommand\LT@makecaption[3]{%E280f\LT@mcol\LT@colsc{\hboxto\z@{\hss\parbox[t]\linewidth{%E281f\realcaptionwidth\linewidthE282f\ifx#1\@gobbleE283p2\def\captionlabel{}%E284p2\def\captionlabeldelim{}%E285p2\captionlabelsep\z@E286f\elseE287p2\def\captionlabel{#2}%E288f\fiE289f\def\captiontext{#3}%E290f\usecaptionstyle{longtable}%E291f\endgraf\vskip\baselineskip}%E292f\hss}}}E293S\fiISupp`ortofthesub gurepack@ageuTE294S\newcommand*\addtosubcaption[1]{}E295S\@ifundefined{@makesubfigurecaption}{}{%E296]\caption@package{subfigure}i L\subcapsize 捍E297]\newcommand*\subcapstyle[1]{%E298f\expandafter\ifx\csnamecaption@@#1\endcsname\relaxE299p2\PackageError{caption}{Undefinedcaptionstyle`#1'}{}%E300f\elseE301p2\def\caption@substyle{#1}%E302f\fi}IDetectionUUof\caption@substyle. 捍E303]\subcapstyle{normal}E304]\ifsubcaphangE305f\subcapstyle{hang}E306]\fiE307]\ifsubcapcenterE308f\subcapstyle{center}E309]\fi8 LUsoE310]\ifsubcapcenterlast E311f\subcapstyle{centerlast}E312]\fiINOTE:\subfigcapmarginisnotalength,it'sacommand. Sowemake I\subfigcapwidthUUalsoacommand!E313]\newif\iftakesubfigcapwidthE314]\newcommand*\subfigcapwidth{0pt}E315S%onlyusedbycaptionstyle`indent',butcanbeusedinuser-definesstylesE316]\newlength\subcapindent \setsubcapmarginf\setsubcapwidthE317]\newcommand*\setsubcapmargin[1]{%E318f\renewcommand*\subcapfigmargin{#1}%E319f\takesubfigcapwidthfalse}E320]\newcommand*\setsubcapwidth[1]{%E321f\renewcommand*\subcapfigwidth{#1}%E322f\takesubfigcapwidthtrue}E323]\renewcommand\@makesubfigurecaption[2]{%E324f\realcaptionwidth\@tempdimaE325f\def\captionlabel{#1}%E326f\def\captiontext{#2}%E327f\let\captionfont\subcapsizeE328f\let\captionlabelfont\relaxE329f\let\captionlabeldelim\emptyE330f\captionlabelsep0ptE331f\ifsubcapnooneline\onelinecaptionsfalse\else\onelinecaptionstrue\fiE332f\iftakesubfigcapwidth\takecaptionwidthtrue\else\takecaptionwidthfalse\fiE333f\setlength\captionmargin{\subfigcapmargin}%E334f\setlength\captionwidth{\subfigcapwidth}%E335f\captionindent\subcapindentE336f\hbox{\parbox[t]\@tempdima{\strut\usecaptionstyle{\caption@substyle}}}}E337]\renewcommand*\addtosubcaption[1]{%E338f\let\caption@makesubfigurecaption\@makesubfigurecaptionE339f\renewcommand\@makesubfigurecaption[2]{%E340p2#1\caption@makesubfigurecaption}E341f\let\@makesubtablecaption\@makesubfigurecaption}}6ICleaningupuTE342S\ifx\caption@message\undefinedE343S\else\message{^^J}\let\caption@message\undefined\fiE344S\let\caption@package\undefinedE345S\let\caption@subcapsize\undefined9 TߠsoIReferencesI[1]X;AnselmUULingnau:q&p0J cmsl10AnImprovedUUEnvironmentforFloats,1995/03/25I[2]X;SebastianVRahtzandLeonorBarroGca:t*AVDstyleoptionforrotatedob8jectsin X;L4ff'8)cmsl8AxTU>'ExX,UU1994/10/02I[3]X;HaraldUUAxelSommerfeldt:qTherot oatpackqage,1995/03/30I[4]X;StevenUUDouglasCoGchran:qThesub gurepackqage,1995/03/06I[5]X;MichelGGoGossens,}F*rankMittelbachandAlexanderSamarin:*"TheL4ffAxTU>'ExXCom-X;panion,nAddison-W*esley,UUReading,Massachusetts,UU1994.I[6]X;AnneBrGuggemann-Klein:EinfuhrungindieDokumentverarbGeitung,pB.G.X;T*eubner,UUStuttgart,1989I[7]X;HelmutKopkqa: L4ffAxTU>'ExX{Erweiterungsmoglichkeiten,;3.ubGerarbeiteteAuflage,X;Addison-W*esley,UUBonn,199110]; '8)cmsl8&p0J cmsl10%N cmbx12$