diff --git a/.resources/screenshot.png b/.resources/screenshot.png new file mode 100644 index 0000000..e851ad9 Binary files /dev/null and b/.resources/screenshot.png differ diff --git a/README.md b/README.md index e4bea25..47c67e1 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,40 @@ -# poor-mans-subfigure +# A Poor Man's Subfigure for REVTeX -A subfigure package that works with REVTeX. \ No newline at end of file +A subfigure package that works with REVTeX. + +## Installation + +To use, simply put the +`.sty` file somewhere where `TeX` will find it, such as next to you +`.tex` file. + +## Usage + +```TeX +\begin{figure*} + \begin{multifig} + \begin{subfigure}{\columnwidth}{\label{subfig:descriptive-label}Some + text label.} + \begin{center} + \includegraphics[width=.8\columnwidth]{example-image-a} + \end{center} + \end{subfigure} + \begin{subfigure}{\columnwidth}{\label{subfig:another-descriptive-label}Another + text label.} + \begin{center} + \includegraphics[width=.8\columnwidth]{example-image-b} + \end{center} + \end{subfigure} + \end{multifig} + \caption{\label{fig:beautiful-figures}As the discerning eye may have + spied, the figures \subref{subfig:descriptive-label} and + \subref{subfig:another-descriptive-label} have the potential to + rock the foundations of society.} +\end{figure*} +Total nonsense, but I couldn't think of anything better to demonstrate +Figure \ref{subfig:descriptive-label} and \ref{subfig:another-descriptive-label}. + +This produces the below result... +``` + +![The resulting figure](.resources/screenshot.png) diff --git a/poormanssubfig.sty b/poormanssubfig.sty new file mode 100644 index 0000000..7f5e32d --- /dev/null +++ b/poormanssubfig.sty @@ -0,0 +1,42 @@ +\newcounter{subfigure} + +\newcommand{\subfiglabelformat}[1]{\raggedright{#1}} +\newcommand{\subfiglabelstyle}[1]{\alph{#1}} +\newcommand{\subfiglabelsize}{\small} +\newenvironment{multifig}% +{\addtocounter{figure}{1}% + \setcounter{subfigure}{0}% + \renewcommand\thesubfigure{\thefigure~(\subfiglabelstyle{subfigure})}% +} +{\addtocounter{figure}{-1}} + +\makeatletter +\ExplSyntaxOn +\newif\if@insubfig +\NewDocumentEnvironment{subfigure}{mO{}}{% + \@insubfigtrue% + \refstepcounter{subfigure}% + \begin{minipage}{#1}% + \subfiglabelformat{{\subfiglabelsize (\subfiglabelstyle{subfigure})~#2}}% + } + {\end{minipage}% + \@insubfigfalse% +} +\ExplSyntaxOff + +\let\multifig@old@label\label% +\def\label#1{% + \multifig@old@label{#1}% + \if@insubfig% + \@bsphack% + \protected@write\@auxout{}% + {\string\newlabel{#1@multifig}{{(\subfiglabelstyle{subfigure})}% + {\thepage}% + {\@currentlabelname}% + {\@currentHref}{}% + }}% + \@esphack% + \fi +}% +\def\subref#1{\ref{#1@multifig}} +\makeatother