Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

  • dee7cb0
  • /
  • subfigure.sty
Raw File Download

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
content badge Iframe embedding
swh:1:cnt:fc209ad9c860c95ff8949ddbcca4a5d2705c4ab7
directory badge Iframe embedding
swh:1:dir:dee7cb0a72a52de74cac131017fcd0c33f272994

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • content
  • directory
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
subfigure.sty
%%
%% This is file `subfigure.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% subfigure.dtx  (with options: `package')
%% 
%% Copyright (C) 1986-2002 Steven Douglas Cochran.
%% 
%% This file is NOT the source for subfigure, because almost all comments
%% have been stripped from it.  It is NOT the preferred form of subfigure
%% for making modifications to it.
%% 
%% Therefore you can NOT redistribute and/or modify THIS file.  You can
%% however redistribute the complete source (subfigure.dtx and
%% subfigure.ins) and/or modify it under the terms of the LaTeX Project
%% Public License, either version 1.2 of this license or (at your option)
%% any later version. The latest version of this license is in:
%%      http://www.latex-project.org/lppl.txt
%% and version 1.2 or later is part of all distributions of LaTeX version
%% 1999/09/03 or later.
%% 
%% The subfigure package is distributed in the hope that it will be
%% useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the LaTeX
%% Project Public License for more details.
%% 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% @LaTeX-style-file{
%%    author     = "Steven Douglas Cochran",
%%    version    = "2.1.4",
%%    date       = "2002/07/30",
%%    time       = "09:34:13",
%%    filename   = "subfigure.sty",
%%    address    = "Digital Mapping Laboratory, School of Computer Science
%%                  Carnegie-Mellon University, 5000 Forbes Avenue
%%                  Pittsburgh, PA 15213-3890, USA",
%%    telephone  = "+1 412.268.5654",
%%    fax        = "+1 412.268.5576",
%%    email      = "cochran@ieee.org",
%%    codetable  = "ISO/ASCII",
%%    keywords   = "LaTeX, float, figure, table, captcont",
%%    supported  = "yes",
%%    abstract   = "LaTeX package for providing support for the
%%                  inclusion of small, `sub', figures and tables.  It
%%                  simplifies the positioning, captioning and
%%                  labeling of them within a single figure or table
%%                  environment.  In addition, this package allows
%%                  such subcaptions to be written to the List of
%%                  Figures or List of tables if desired."
%% }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
\ProvidesPackage{subfigure}[2002/07/30 v2.1.4 subfigure package]
\newif\ifhyperrefloaded
\AtBeginDocument{%
  \@ifpackageloaded{hyperref}{%
    \hyperrefloadedtrue
    \providecommand\theHsubfigure{\thefigure.\arabic{subfigure}}%
    \providecommand\theHsubtable{\thetable.\arabic{subtable}}%
    \providecommand{\toclevel@subfigure}{1}%
    \providecommand{\toclevel@subtable}{1}}{}}
\newif\ifsubcaphang
\newif\ifsubcapcenter
\newif\ifsubcapcenterlast
\newif\ifsubcapnooneline
\newif\ifsubcapraggedright
\newskip\subfigtopskip     \subfigtopskip    =  5\p@
\newskip\subfigcapskip     \subfigcapskip    =  0\p@
\newdimen\subfigcaptopadj  \subfigcaptopadj  =  3\p@
\newskip\subfigbottomskip  \subfigbottomskip =  5\p@
\newdimen\subfigcapmargin  \subfigcapmargin  =  \z@
\newskip\subfiglabelskip   \subfiglabelskip  =  0.33em plus 0.07em minus 0.03em
\newcommand*{\subcapsize}{}
\newcommand*{\subcaplabelfont}{%
  \subcaplabelfont@f\subcaplabelfont@c\subcaplabelfont@s}
\newcommand*{\subcaplabelfont@f}{\fontfamily{\familydefault}\selectfont}
\newcommand*{\subcaplabelfont@c}{\fontseries{\seriesdefault}\selectfont}
\newcommand*{\subcaplabelfont@s}{\fontshape{\shapedefault}\selectfont}
\newcommand*{\subcapfont}{%
  \subcapfont@f\subcapfont@c\subcapfont@s}
\newcommand*{\subcapfont@f}{\fontfamily{\familydefault}\selectfont}
\newcommand*{\subcapfont@c}{\fontseries{\seriesdefault}\selectfont}
\newcommand*{\subcapfont@s}{\fontshape{\shapedefault}\selectfont}
\newif\ifsf@tight          \sf@tighttrue
\newcounter{subfigure}[figure]
\@ifundefined{figuretopcaptrue}{\newif\iffiguretopcap}{}
\newif\ifsubfiguretopcap
\let\p@subfigure=\thefigure
\providecommand*{\thesubfigure}{(\alph{subfigure})}
\renewcommand*{\thesubfigure}{(\alph{subfigure})}
\newcommand*{\@thesubfigure}{\thesubfigure\hskip\subfiglabelskip}
\newcommand*{\@@thesubfigure}{\thesubfigure}
\let\ext@subfigure=\ext@figure
\newcommand*{\l@subfigure}{%
  \@dottedxxxline{\ext@subfigure}{2}{3.8em}{2.5em}}
\newcounter{lofdepth}
\setcounter{lofdepth}{1}
\newcounter{subtable}[table]
\@ifundefined{tabletopcaptrue}{\newif\iftabletopcap}{}
\newif\ifsubtabletopcap
\let\p@subtable=\thetable
\providecommand*{\thesubtable}{(\alph{subtable})}
\renewcommand*{\thesubtable}{(\alph{subtable})}
\newcommand*{\@thesubtable}{\thesubtable\hskip\subfiglabelskip}
\newcommand*{\@@thesubtable}{\thesubtable}
\let\ext@subtable=\ext@table
\newcommand*{\l@subtable}{%
  \@dottedxxxline{\ext@subtable}{2}{3.8em}{2.5em}}
\newcounter{lotdepth}
\setcounter{lotdepth}{1}
\DeclareOption{normal}{%
  \subcaphangfalse
  \subcapcenterfalse
  \subcapcenterlastfalse
  \subcapnoonelinefalse
  \subcapraggedrightfalse}
\DeclareOption{hang}{\subcaphangtrue}
\DeclareOption{center}{\subcapcentertrue}
\DeclareOption{centerlast}{\subcapcenterlasttrue}
\DeclareOption{nooneline}{\subcapnoonelinetrue}
\DeclareOption{raggedright}{\subcapraggedrighttrue}
\DeclareOption{isu}{\ExecuteOption{hang}}
\DeclareOption{anne}{\ExecuteOption{centerlast}}
\DeclareOption{scriptsize}{\renewcommand*{\subcapsize}{\scriptsize}}
\DeclareOption{footnotesize}{\renewcommand*{\subcapsize}{\footnotesize}}
\DeclareOption{small}{\renewcommand*{\subcapsize}{\small}}
\DeclareOption{normalsize}{\renewcommand*{\subcapsize}{\normalsize}}
\DeclareOption{large}{\renewcommand*{\subcapsize}{\large}}
\DeclareOption{Large}{\renewcommand*{\subcapsize}{\Large}}
\DeclareOption{rm}{\renewcommand*{\subcaplabelfont@f}{\rmfamily}}
\DeclareOption{sf}{\renewcommand*{\subcaplabelfont@f}{\sffamily}}
\DeclareOption{tt}{\renewcommand*{\subcaplabelfont@f}{\ttfamily}}
\DeclareOption{md}{\renewcommand*{\subcaplabelfont@c}{\mdseries}}
\DeclareOption{bf}{\renewcommand*{\subcaplabelfont@c}{\bfseries}}
\DeclareOption{up}{\renewcommand*{\subcaplabelfont@s}{\upshape}}
\DeclareOption{it}{\renewcommand*{\subcaplabelfont@s}{\itshape}}
\DeclareOption{sl}{\renewcommand*{\subcaplabelfont@s}{\slshape}}
\DeclareOption{sc}{\renewcommand*{\subcaplabelfont@s}{\scshape}}
\DeclareOption{RM}{\renewcommand*{\subcapfont@f}{\rmfamily}}
\DeclareOption{SF}{\renewcommand*{\subcapfont@f}{\sffamily}}
\DeclareOption{TT}{\renewcommand*{\subcapfont@f}{\ttfamily}}
\DeclareOption{MD}{\renewcommand*{\subcapfont@c}{\mdseries}}
\DeclareOption{BF}{\renewcommand*{\subcapfont@c}{\bfseries}}
\DeclareOption{IT}{\renewcommand*{\subcapfont@s}{\itshape}}
\DeclareOption{SL}{\renewcommand*{\subcapfont@s}{\slshape}}
\DeclareOption{SC}{\renewcommand*{\subcapfont@s}{\scshape}}
\DeclareOption{UP}{\renewcommand*{\subcapfont@s}{\upshape}}
\DeclareOption{figbotcap}{\figuretopcapfalse}
\DeclareOption{figtopcap}{\figuretopcaptrue}
\DeclareOption{tabbotcap}{\tabletopcapfalse}
\DeclareOption{tabtopcap}{\tabletopcaptrue}
\DeclareOption{FIGBOTCAP}{\ExecuteOptions{figbotcap}\subfiguretopcapfalse}
\DeclareOption{FIGTOPCAP}{\ExecuteOptions{figtopcap}\subfiguretopcaptrue}
\DeclareOption{TABBOTCAP}{\ExecuteOptions{tabbotcap}\subtabletopcapfalse}
\DeclareOption{TABTOPCAP}{\ExecuteOptions{tabtopcap}\subtabletopcaptrue}
\DeclareOption{loose}{%
  \subfigtopskip    = 10\p@
  \subfigcapskip    = 10\p@
  \subfigcaptopadj  =  0\p@
  \subfigbottomskip = 10\p@
  \subfigcapmargin  = 10\p@
  \subfiglabelskip  =  0.33em
  \renewcommand*{\@thesubfigure}{\thesubfigure\space}
  \renewcommand*{\@thesubtable}{\thesubtable\space}
  \sf@tightfalse}
\DeclareOption{tight}{%
  \subfigtopskip    =  5\p@
  \subfigcapskip    =  0\p@
  \subfigcaptopadj  =  3\p@
  \subfigbottomskip =  5\p@
  \subfigcapmargin  =  \z@
  \subfiglabelskip  =  0.33em plus 0.07em minus 0.03em
  \renewcommand*{\@thesubfigure}{\thesubfigure\hskip\subfiglabelskip}
  \renewcommand*{\@thesubtable}{\thesubtable\hskip\subfiglabelskip}
  \sf@tighttrue}
\ExecuteOptions{normal,footnotesize,FIGBOTCAP,TABBOTCAP,loose}
\InputIfFileExists{subfigure.cfg}{%
  \typeout{****************************************^^J%
           * Local config file subfigure.cfg used *^^J%
           ****************************************}}{}
\ProcessOptions
\newcommand*{\subfigure}{%
  \bgroup
    \let\subfig@oldlabel=\label
    \let\label=\subfloat@label
    \@nameuse{if\@captype topcap}\else
      \advance\@nameuse{c@\@captype}\@ne
    \fi
    \refstepcounter{sub\@captype}%
    \@ifnextchar [%
      {\@subfigure}%
      {\@subfigure[\@empty]}}
\let\subtable=\subfigure
\def\@subfigure[#1]{%
    \@ifnextchar [%
      {\@subfloat{sub\@captype}[{#1}]}%
      {\@subfloat{sub\@captype}[\@empty{#1}][{#1}]}}
\newskip\subfig@top
\newskip\subfig@bottom
\long\def\@subfloat#1[#2][#3]#4{%
    \@tempcnta=1
    \ifsf@tight
      \if@minipage
        \@tempcnta=\z@
      \else\ifdim \lastskip=\z@ \else
        \@tempcnta=2
      \fi\fi
    \fi
    \@nameuse{if\@captype topcap}%
      \subfig@top=\subfigbottomskip
      \subfig@bottom=\subfigtopskip
    \else
      \subfig@top=\subfigtopskip
      \subfig@bottom=\subfigbottomskip
    \fi
    \leavevmode
    \setbox\@tempboxa \hbox{#4}%
    \@tempdima=\wd\@tempboxa
    \vtop\bgroup
      \vbox\bgroup
        \ifcase\@tempcnta
          \@minipagefalse
        \or
          \vspace{\subfig@top}%
        \or
          \ifdim \lastskip=\z@ \else
            \@tempskipb\subfig@top\relax\@xaddvskip
          \fi
        \fi
        \@nameuse{if#1topcap}%
          \ifx \@empty#3\relax \else
            \@subcaption{#1}{#2}{#3}%
            \vskip\subfigcapskip
            \vskip\subfigcaptopadj
          \fi\egroup
          \box\@tempboxa
        \else
          \box\@tempboxa\egroup
          \ifx \@empty#3\relax \else
            \vskip\subfigcapskip
            \@subcaption{#1}{#2}{#3}%
          \fi
        \fi
      \vspace{\subfig@bottom}%
    \egroup
    \@nameuse{if\@captype topcap}\else
      \global\advance\@nameuse{c@\@captype}\m@ne
    \fi
  \egroup}
\newcommand*{\@subfigcaptionlist}{}
\newcommand{\@subcaption}[3]{%
  \ifx \relax#2\relax \else
    \bgroup
      \let\label=\@gobble
      \let\protect=\string
      \def\@subcaplabel{\@nameuse{@@the#1}}%
      \xdef\@subfigcaptionlist{%
        \@subfigcaptionlist,%
        {\protect\numberline{\@subcaplabel}\noexpand{\ignorespaces #2}}}%
    \egroup
  \fi
  \@nameuse{@make#1caption}{\@nameuse{@the#1}}{#3}}
\newcommand*{\listsubcaptions}{%
  \@ifstar
    {\gdef\@subfigcaptionlist{}}%
    {\@listsubcaptions{\@captype}}}
\newcommand*{\@listsubcaptions}[1]{%
  \@ifundefined{@captype}{}{%
    \@ifundefined{ext@sub#1}{}{%
      \@for \sf@temp:=\@subfigcaptionlist \do {%
        \ifx \@empty\sf@temp\relax \else
          \addcontentsline
            {\@nameuse{ext@sub#1}}%
            {sub#1}%
            {\sf@temp}%
        \fi}}}%
  \gdef\@subfigcaptionlist{}}
\newcommand{\@makesubfigurecaption}[2]{%
  \setbox\@tempboxa\hbox{%
    \subcapsize
    {\subcaplabelfont #1}%
    {\subcapfont\ignorespaces #2}}%
  \@tempdimb=-\subfigcapmargin
  \multiply\@tempdimb\tw@
  \advance\@tempdimb\@tempdima
  \hbox to\@tempdima{%
    \hss
    \ifdim \wd\@tempboxa >\@tempdimb
      \subfig@caption{#1}{#2}%
    \else\ifsubcapnooneline
      \subfig@caption{#1}{#2}%
    \else
      \box\@tempboxa
    \fi\fi
    \hss}}
\let\@makesubtablecaption=\@makesubfigurecaption
\newcommand{\subfig@caption}[2]{%
  \ifsubcaphang
    \sbox{\@tempboxa}{\subcapsize\subcaplabelfont #1}%
    \addtolength{\@tempdimb}{-\wd\@tempboxa}%
    \usebox{\@tempboxa}%
    \subfig@captionpar{\@tempdimb}{%
      {\subcapfont\ignorespaces #2}}%
  \else
    \subfig@captionpar{\@tempdimb}{%
      {\subcaplabelfont #1}%
      {\subcapfont\ignorespaces #2}}%
  \fi}
\newcommand{\subfig@captionpar}[2]{%
  \parbox[t]{#1}{%
    \subcapsize
    \ifsubcapraggedright
      \setlength{\leftskip}{\z@}%
      \setlength{\@rightskip}{\@flushglue}%
      \setlength{\rightskip}{\@rightskip}%
      \setlength{\parindent}{\z@}%
    \else\ifsubcapcenter
      \setlength{\leftskip}{\@flushglue}%
      \setlength{\rightskip}{\@flushglue}%
      \setlength{\parfillskip}{\z@skip}%
    \else\ifsubcapcenterlast
      \addtolength{\leftskip}{\z@ plus 1fil}%
      \addtolength{\rightskip}{\z@ plus -1fil}%
      \setlength{\parfillskip}{\z@ plus 2fil}%
    \fi\fi\fi
    #2}}
\newcommand*{\@dottedxxxline}[6]{%
  \ifnum #2>\@nameuse{c@#1depth}\else
    \@dottedtocline{0}{#3}{#4}{#5}{#6}
  \fi}
\let\subfig@end@float=\end@float
\renewcommand*{\end@float}{%
  \@listsubcaptions{\@captype}%
  \subfig@end@float}
\let\subfig@end@dblfloat=\end@dblfloat
\renewcommand*{\end@dblfloat}{%
  \@listsubcaptions{\@captype}%
  \subfig@end@dblfloat}
\let\subfig@oldcaption=\@caption
\long\def\@caption#1[#2]#3{%
  \@ifundefined{if#1topcap}%
    {\subfig@oldcaption{#1}[{#2}]{#3}}%
    {\@nameuse{if#1topcap}%
       \@listsubcaptions{#1}%
       \subfig@oldcaption{#1}[{#2}]{#3}%
     \else
       \subfig@oldcaption{#1}[{#2}]{#3}%
       \@listsubcaptions{#1}%
     \fi}}
\let\subfig@oldlabel=\relax
\newcommand*{\subfloat@label}{%
  \@ifnextchar(
    {\sf@sub@label}
    {\sf@sub@label(Sub\@captype\space
                   \@ifundefined{thechapter}{}{%
                     \@nameuse{thechapter}\space}%
                   \@nameuse{p@sub\@captype}%
                   \@nameuse{thesub\@captype}.)}}
\let\sub@label\subfloat@label
\def\sf@sub@label(#1)#2{%
  \ifhyperrefloaded
    \protected@edef\@currentlabelname{%
      \expandafter\strip@period #1\relax.\relax\@@@}%
  \fi
  \sf@@sub@label{#2}}
\newcommand*{\sf@@sub@label}[1]{%
  \@bsphack
  \subfig@oldlabel{#1}%
  \ifhyperrefloaded
    \protected@write\@auxout{}{%
        \string\newlabel{sub@#1}%
            {{\@nameuse{@@thesub\@captype}}%
            {\thepage}%
            {\expandafter\strip@period\@currentlabelname\relax.\relax\@@@}%
            {\@currentHref}%
            {}}}%
  \else
    \protected@write\@auxout{}{%
        \string\newlabel{sub@#1}%
            {{\@nameuse{@@thesub\@captype}}%
            {\thepage}}}%
  \fi
  \@esphack}
\newcommand\subref[1]{%
  \ref{sub@#1}}
\newcommand\Subref[1]{%
  {\subcaplabelfont
   \ref{sub@#1}}}
\endinput
%%
%% End of file `subfigure.sty'.

back to top

Software Heritage — Copyright (C) 2015–2025, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API