summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/miniplot
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/miniplot
Initial commit
Diffstat (limited to 'macros/latex/contrib/miniplot')
-rw-r--r--macros/latex/contrib/miniplot/disclaimer.txt4
-rw-r--r--macros/latex/contrib/miniplot/miniplot.pdfbin0 -> 160745 bytes
-rw-r--r--macros/latex/contrib/miniplot/miniplot.sty992
-rw-r--r--macros/latex/contrib/miniplot/miniplot.tex1553
4 files changed, 2549 insertions, 0 deletions
diff --git a/macros/latex/contrib/miniplot/disclaimer.txt b/macros/latex/contrib/miniplot/disclaimer.txt
new file mode 100644
index 0000000000..d6802d2e54
--- /dev/null
+++ b/macros/latex/contrib/miniplot/disclaimer.txt
@@ -0,0 +1,4 @@
+
+I hope this file is not necessary but, of course, what ever you do it is entirely up
+to you if you use this package. If it damages anything direct or indirect I take on no
+responsibility.
diff --git a/macros/latex/contrib/miniplot/miniplot.pdf b/macros/latex/contrib/miniplot/miniplot.pdf
new file mode 100644
index 0000000000..324412b8dd
--- /dev/null
+++ b/macros/latex/contrib/miniplot/miniplot.pdf
Binary files differ
diff --git a/macros/latex/contrib/miniplot/miniplot.sty b/macros/latex/contrib/miniplot/miniplot.sty
new file mode 100644
index 0000000000..0429bb91ff
--- /dev/null
+++ b/macros/latex/contrib/miniplot/miniplot.sty
@@ -0,0 +1,992 @@
+% This file supplies Figure Tools: MiniPlot ver 0.0.2
+% (C) Tobias Wahl - 2001
+%
+% Caution: Mind the global variables created!
+%
+
+%------------------------------------------------------------------------
+% Contents of Commands:
+%
+% \includeEps[htpb]{path}{caption}{label}{scale factor for eps} % include if plotFigures = 1
+% \includeEpsNow[htpb]{path}{caption}{label}{scale factor for eps} % includes it even though plotFigures = 0
+%
+% \standardGraphScale % sets scale of standard graphs = 1, can be redefined to change scale
+% \includeStandardGraph[htpb]{path}{caption}{label} % include if plotFigures = 1
+% \includeStandardGraphNow[htpb]{path}{caption} % includes it even though plotFigures = 0
+% with those commands you should include your standard graphs in eps-format
+% which can then be centralized scaled. These could be graphs created by MathsPiC
+%
+% \includePicTeX[htpb]{path}{caption}{label} % include if plotFigures = 1
+% \includePicTeXNow[htpb]{path}{caption}{label} % includes it even though plotFigures = 0
+%
+%
+% \includeEpsWrap[nar. lin.]{position}{path}{caption}{label}{scale factor for eps} % include if plotFigures = 1
+% \includeEpsWrapNow[nar. lin.]{position}{caption}{label}{scale factor for eps} % includes it even though plotFigures = 0
+% % nar. lin. = narrow lines = see wrapfig documentation
+% % position = l,r,... = see wrapfig documentation
+%
+%
+%
+%
+%
+%
+%
+%
+%
+
+%------------------------------------------------------------------------
+% Contents of Environments:
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+
+
+%------------------------------------------------------------------------
+% Global Variables:
+%
+%
+% plotFigures % 0 or 1
+%
+% plotGraphs % 0 or 1
+%
+%
+%
+%
+%
+%
+%
+
+%========================================================================
+% PACKAGE START
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{miniplot}
+
+\RequirePackage{ifthen}
+\RequirePackage{calc}
+\RequirePackage{graphicx}
+\RequirePackage{epsfig}
+
+
+% \RequirePackage{wrapfig} % would be nice to have it
+% \RequirePackage{subfigure} % would be nice to have it
+% \RequirePackage{rotfloat} % would be nice to have it
+
+
+
+
+
+%========================================================================
+% GENERAL
+
+%\newcommand{\miniplot}{MiniPlot\xspace}
+\newcommand{\miniplot}{MiniPlot\hspace{0pt}}
+
+
+%----------------------------------------------
+% \pointless{length in pt} % \myLength = 0.5pt, \pointless{\myLength} -> \mylength = 0.5
+% % creates macro (#1) using length (#2), Provided by Robin Fairbairns
+
+\makeatletter
+\def\pointless#1#2{\edef#1{\strip@pt#2}}
+\makeatother
+
+
+%----------------------------------------------
+% \doextractminiplota{figures/file} -> file
+% extract filename from path, from Peter Schmitt
+
+\def\doextractminiplotpath #1/#2\\{\ifx|#2|#1\else\doextractminiplotpath#2\\\fi}
+\def\extractminiplotpath #1{\doextractminiplotpath#1/\\}
+
+
+
+%----------------------------------------------
+% \begin{centerlineenv}
+% \centerline command for use in environment form, by Dan Luecking
+
+\newenvironment{centerlineenv}%
+ {\par\hbox to \linewidth\bgroup\hss\ignorespaces}%
+ {\unskip\hss\egroup\par\ignorespaces}%
+
+
+
+
+%========================================================================
+% FIGURE SPECIFIC
+
+
+\newlength{\figWidth} % width of eps figure to include
+\newlength{\figHeight} % height of eps figure to include
+
+\newlength{\figTabWidth} % width of table to include in frame as big as the eps figure
+\newlength{\figTabMiddle} % height in the frame where the table middle is placed
+
+
+\newlength{\captionHeight} % measures the height of the caption
+\newlength{\captionSpace} % provides the space available for the caption,
+ % if \captionSpace < \captionHeight then the caption will not be plotted
+ % the calculation of this variable is not very sophisticated and further work needs to be done
+
+\newlength{\extraWrapWidth} % used to give wraped figures extra space on the side
+\setlength{\extraWrapWidth}{2mm} % default value = 2mm, can be redefined in text
+
+\newlength{\aboveWrapFigureSpace} % determines the extra space above the wraped figure to the top
+\setlength{\aboveWrapFigureSpace}{0mm}
+
+
+\newlength{\wrapFigOverhangDefault} % set wrap figures overhang default value
+\setlength{\wrapFigOverhangDefault}{0mm}
+
+
+\newcommand{\standardGraphScale}{1} % This value specifies the scaling factor by which the standard graph is scaled
+
+\newcounter{scaleToStandardFigureWidth} % 1 = scales figure to \myStandardFigureWidth
+\setcounter{scaleToStandardFigureWidth}{1}
+
+\newcounter{isFirstStandardFigure} % used as a counter to determine if the current figure is the first standard figure to set the scaling factor accordingly
+\setcounter{isFirstStandardFigure}{1}
+
+
+\newcounter{scaleFigureIndividual} % whether to use the first figure to scale the remaining ones or to scale each figure individualy
+\setcounter{scaleFigureIndividual}{1}
+
+\newlength{\frameBoxPenalty} % accounts for the extra space needed by drwing the framebox around the picture environment
+\setlength{\frameBoxPenalty}{2.4mm}
+
+
+
+
+% SUBFIGURE
+
+\newlength{\myStandardFigureWidth} % This is suppoded to be width all standard figures should have
+\setlength{\myStandardFigureWidth}{\linewidth} % sets the width of all standard figures, can be redefined
+
+\newlength{\myStandardSubFigureWidth} % This is suppoded to be width all standard sub figures should have
+\setlength{\myStandardSubFigureWidth}{\myStandardFigureWidth} % sets the width of all standard sub figures, is adjusted automatically
+ %
+ % The mySubfigure environment creates columns and subcolumns, This is the length
+ % of the columns.
+
+\newlength{\myStandardSideWaysFigureWidth} % width for standard side ways figure
+\setlength{\myStandardSideWaysFigureWidth}{\textheight}
+
+
+\newlength{\subFigScaleLength} % scale luped sub-figures to achieve width equals \myFigureWidth
+
+\newcommand{\myCaptionText}{no text yet} % used to store the caption when passed on in selfdefined environments
+\newcommand{\myLabel}{no_label_yet} % used to store the label when passed on in selfdefined environments
+
+
+\newcommand{\numSubFigCol}{} % command used to store informnation about the number of columns in lumped sub figure
+\newcommand{\numSubSubFigCol}{} % command used to store informnation about the number of columns in lumped sub sub figure
+
+\newcommand{\isFirstSubFig}{false} % boolean value to calculate the subFigScale only the first time one calls \subFig[]{}
+
+
+\newlength{\subFigPenalty} % This value is used to substract from \myStandardFigureWidth in order to
+\setlength{\subFigPenalty}{0mm} % let subfigure.sty arrage all subfigures in the avaiable space
+ % if one finds the lumped subfigures arranged in 3 columns even though
+ % one asked to have them in 4 then this value needs to be increased.
+ % accounts for rounding errors due to calculation
+
+\newlength{\subSubFigPenalty} % This value is used to substract from \myStandardFigureWidth in order to
+\setlength{\subSubFigPenalty}{0.001mm} % let subfigure.sty arrage all subfigures in the avaiable space
+ % if one finds the lumped subfigures arranged in 3 columns even though
+ % one asked to have them in 4 then this value needs to be increased.
+ % accounts for rounding errors due to calculation
+
+\newlength{\interSubFigSpace} % determines the space bewteen separate subfigures
+\setlength{\interSubFigSpace}{8mm}
+
+\newlength{\interSubSubFigSpace} % determines the space bewteen separate sub subfigures
+\setlength{\interSubSubFigSpace}{2.5mm}
+
+
+\newlength{\subFigureAboveCaptionSpaceDefaultOffset} % used to remove offset from above caption space so that the user can enter more accessible value in \neSubFig[length]{...
+\setlength{\subFigureAboveCaptionSpaceDefaultOffset}{0mm}
+
+\newlength{\subFigureAboveCaptionSpaceDefault} % determines the default space above the separate sub figure captions
+\setlength{\subFigureAboveCaptionSpaceDefault}{0mm} % use this to equal out spaces due to different number of lines of
+ % sub sub captions
+
+\newlength{\subFigureAboveCaptionSpace} % determines the space above the separate sub figure captions
+\setlength{\subFigureAboveCaptionSpace}{\subFigureAboveCaptionSpaceDefault + \subFigureAboveCaptionSpaceDefaultOffset}
+ % use this to equal out spaces due to different number of lines of
+ % sub sub captions
+
+\newlength{\horizontalSubSubFigSpace} % used to equalize space between rows of sub-sub-figures
+\setlength{\horizontalSubSubFigSpace}{-1mm}
+
+\newlength{\subFigureBelowCaptionSpace} % determines the space below the sub figure caption: Figure ...
+\setlength{\subFigureBelowCaptionSpace}{5mm}
+
+\newlength{\subCaptionPenalty} % used to move sub-sub-caption into middle of subsubfigure
+\setlength{\subCaptionPenalty}{0mm}
+
+
+\newcounter{plotFigures}
+\setcounter{plotFigures}{1} % plot figures {1} or not {0}
+
+\newlength{\labelPenalty} % This is a compensator length in order to compensate for the extra
+\setlength{\labelPenalty}{-1.5mm} % space inserted by writing the label if plotFigures == 0 for arranged figures
+ % -1.5mm is good when \printLabel results in a single line in small font
+
+\newlength{\labelHeight} % length used to compensate for the extra space inserted by including
+ % the label for arranged figures when plotFigures == 0
+
+
+\newlength{\captionWidthPenalty} % using thi slength one can increase or decrease the width the caption
+\setlength{\captionWidthPenalty}{0mm} % uses relativ to the width of the figure
+
+
+\newlength{\minimumCaptionWidth} % defines the minimum width of the standard caption, not wrap, not arranged figures
+\setlength{\minimumCaptionWidth}{\linewidth * 4 / 6}
+
+
+\newlength{\minimumSideWaysCaptionWidth} % defines the minimum width of the standard side ways caption, not wrap, not arranged figures
+\setlength{\minimumSideWaysCaptionWidth}{\textheight * 4 / 6}
+
+\newcommand{\labelPrefix}{fig:} % defines the label's prefix
+
+\newcommand{\subLabelSuffix}{-\alph{subfigure}} % defines the sub-sub-figures label suffix
+
+
+
+%========================================================================
+%
+
+%-----------------------------------------------------------
+% \includeEps[htpb]{path}{caption}{label}{scaling} % includes eps figure
+%
+
+
+% \epsContent[placement]{path}{caption}{label}{scaling}{figure width}{figure height}
+\newcommand{\epsContent}[7][htpb]%
+ {%
+ \setlength{\figWidth}{#6 - \frameBoxPenalty}%
+ \setlength{\figHeight}{#7 - \frameBoxPenalty}%
+ %
+ \setlength{\figTabWidth}{\figWidth - 31mm}% % calculate width of table in frame
+ \setlength{\figTabMiddle}{\figHeight / 2}% % calculate middle of figure height
+ %
+ \centerline{\framebox{%
+ %
+ \setlength{\unitlength}{1sp}%% % 1sp = 0.0000152587890625pt = 1/65536pt
+ \begin{picture}(\number\figWidth,\number\figHeight)%%
+ \put(655360,\number\figTabMiddle)%%
+ {%
+ \begin{tabular}{lp{\the\figTabWidth}}%
+ \emph{Source:} & #2.eps \\%%
+ \emph{Scaling:} & #5 \\%%
+ \emph{Label:} & \labelPrefix#4 \\%%
+ \emph{Position:} & #1%%
+ \end{tabular}%
+ }%
+ \end{picture}%%
+ }}%
+ }%
+
+
+\newcommand{\includeEps}[5][htpb]% % idea for code from verbatim manual page 3
+ {%
+ \ifthenelse{\value{plotFigures}>0}%%
+ {%
+ \includeEpsNow[#1]{#2}{#3}{#4}{#5}%%
+ }%
+ {%
+ \settowidth{\figWidth}{\epsfig{file={#2},scale = #5}}% % obtain eps figure width
+ \settoheight{\figHeight}{\epsfig{file={#2},scale = #5}}% % obtain eps figure height
+ %
+ \bigskip\medskip%%
+ \begin{figure}[#1]%%
+ \begin{center}%%
+ \centerline{%
+ \ifthenelse{\lengthtest{\figWidth > \minimumCaptionWidth}}%
+ {\begin{minipage}{\figWidth + \captionWidthPenalty}}%
+ {\begin{minipage}{\minimumCaptionWidth + \captionWidthPenalty}}%
+ %
+ \epsContent[#1]{#2}{#3}{#4}{#5}{\figWidth}{\figHeight}%
+ %
+ \caption{#3}%%
+ \label{\labelPrefix#4}%%
+ %
+ \end{minipage}}%
+ \end{center}%%
+ \end{figure}%%
+ }%
+ }%
+
+
+\newcommand{\includeEpsNow}[5][htpb]% % as \includeEps but plots the figure in any case
+ {%
+ \bigskip\medskip%%
+ \begin{figure}[#1]%%
+ \begin{center}%%
+ \centerline{%
+ \settowidth{\figWidth}{\epsfig{file={#2},scale = #5}}% % obtain eps figure width
+ \ifthenelse{\lengthtest{\figWidth > \minimumCaptionWidth}}%
+ {\begin{minipage}{\figWidth + \captionWidthPenalty}}%
+ {\begin{minipage}{\minimumCaptionWidth + \captionWidthPenalty}}%
+ \centerline{\epsfig{file={#2},scale = #5}}%%
+ \caption{#3}%%
+ \label{\labelPrefix#4}%%
+ \end{minipage}}%
+ \end{center}%%
+ \end{figure}%%
+ }%
+
+%----------------------------------------
+
+
+\newcommand{\includeStandardGraph}[4][htpb]%
+ {%
+ %
+ \ifthenelse{\value{scaleToStandardFigureWidth}=1}%
+ {%
+ \ifthenelse{\value{scaleFigureIndividual}=1}%
+ {%
+ \setSubFigScale{#2}{\myStandardFigureWidth}{1}% % calculate \subFigScale for standard eps figure
+ \renewcommand{\standardGraphScale}{\subFigScale}% % This value specifies the scaling factor by which the standard graph is scaled
+ \setlength{\subFigScaleLength}{0pt}% % reset \subFigScale
+ }%
+ {%
+ \ifthenelse{\value{isFirstStandardFigure}=1}%
+ {%
+ \setSubFigScale{#2}{\myStandardFigureWidth}{1}% % calculate \subFigScale for standard eps figure
+ \renewcommand{\standardGraphScale}{\subFigScale}% % This value specifies the scaling factor by which the standard graph is scaled
+ \setlength{\subFigScaleLength}{0pt}% % reset \subFigScale
+ \setcounter{isFirstStandardFigure}{0}%
+ }{}%
+ }%
+ }{}%
+ %
+ \includeEps[#1]{#2}{#3}{#4}{\standardGraphScale}%
+ }%
+
+\newcommand{\includeStandardGraphNow}[4][htpb]%
+ {%
+ %
+ \ifthenelse{\value{scaleToStandardFigureWidth}=1}%
+ {%
+ \ifthenelse{\value{scaleFigureIndividual}=1}%
+ {%
+ \setSubFigScale{#2}{\myStandardFigureWidth}{1}% % calculate \subFigScale for standard eps figure
+ \renewcommand{\standardGraphScale}{\subFigScale}% % This value specifies the scaling factor by which the standard graph is scaled
+ \setlength{\subFigScaleLength}{0pt}% % reset \subFigScale
+ }%
+ {%
+ \ifthenelse{\value{isFirstStandardFigure}=1}%
+ {%
+ \setSubFigScale{#2}{\myStandardFigureWidth}{1}% % calculate \subFigScale for standard eps figure
+ \renewcommand{\standardGraphScale}{\subFigScale}% % This value specifies the scaling factor by which the standard graph is scaled
+ \setlength{\subFigScaleLength}{0pt}% % reset \subFigScale
+ \setcounter{isFirstStandardFigure}{0}%
+ }{}%
+ }%
+ }{}%
+ %
+ \includeEpsNow[#1]{#2}{#3}{#4}{\standardGraphScale}%
+ }%
+
+
+
+
+%========================================================================
+% INSERT SIDE WAYS EPSFIG AND STANDARD GRAPH
+
+
+
+
+\newcommand{\includeSideWaysEps}[5][htpb]% % idea for code from verbatim manual page 3
+ {%
+ \ifthenelse{\value{plotFigures}>0}%%
+ {%
+ \includeSideWaysEpsNow[#1]{#2}{#3}{#4}{#5}%%
+ }%
+ {%
+ \settowidth{\figWidth}{\epsfig{file={#2},scale = #5}}% % obtain eps figure width
+ \settoheight{\figHeight}{\epsfig{file={#2},scale = #5}}% % obtain eps figure height
+ %\the\figHeight% % used to tune the scaling factor for \captionSpace, also see captionSpace.xls
+ %
+ \setlength{\figTabWidth}{\figWidth - 31mm}% % calculate width of table in frame
+ %
+ \setlength{\figTabMiddle}{\figHeight / 2}% % calculate middle of figure height
+ %
+ \settoheight{\captionHeight}{\parbox{\figTabWidth}{#3}}% % calculate height of caption in table
+ \setlength{\captionSpace}{\figHeight - (\figHeight / 1000 * 198)}% % calculate height for caption available in table
+ % % 25mm for small figures, 44mm for standard 7cm high graphs, 51mm for large figures
+ %
+ \bigskip\medskip%%
+ \begin{sidewaysfigure}[#1]%%
+ \begin{center}%%
+ \centerline{%
+ \ifthenelse{\lengthtest{\figWidth > \minimumSideWaysCaptionWidth}}%
+ {\begin{minipage}{\figWidth + \captionWidthPenalty}}%
+ {\begin{minipage}{\minimumSideWaysCaptionWidth + \captionWidthPenalty}}%
+ %
+ \epsContent[#1]{#2}{#3}{#4}{#5}{\figWidth}{\figHeight}%
+ %
+ \caption{#3}%%
+ \label{\labelPrefix#4}%%
+ %
+ \end{minipage}}%
+ \end{center}%%
+ \end{sidewaysfigure}%%
+ }%
+ }%
+
+
+\newcommand{\includeSideWaysEpsNow}[5][htpb]% % as \includeEps but plots the figure in any case
+ {%
+ \bigskip\medskip%%
+ \begin{sidewaysfigure}[#1]%%
+ \begin{center}%%
+ \centerline{%
+ \settowidth{\figWidth}{\epsfig{file={#2},scale = #5}}% % obtain eps figure width
+ \ifthenelse{\lengthtest{\figWidth > \minimumSideWaysCaptionWidth}}%
+ {\begin{minipage}{\figWidth + \captionWidthPenalty}}%
+ {\begin{minipage}{\minimumSideWaysCaptionWidth + \captionWidthPenalty}}%
+ \centerline{\epsfig{file={#2},scale = #5}}%%
+ \caption{#3}%%
+ \label{\labelPrefix#4}%%
+ \end{minipage}}%
+ \end{center}%%
+ \end{sidewaysfigure}%%
+ }%
+
+%----------------------------------------
+
+
+\newcommand{\includeStandardSideWaysGraph}[4][htpb]%
+ {%
+ %
+ \ifthenelse{\value{scaleToStandardFigureWidth}=1}%
+ {%
+ \ifthenelse{\value{scaleFigureIndividual}=1}%
+ {%
+ \setSubFigScale{#2}{\myStandardSideWaysFigureWidth}{1}% % calculate \subFigScale for standard eps figure
+ \renewcommand{\standardGraphScale}{\subFigScale}% % This value specifies the scaling factor by which the standard graph is scaled
+ \setlength{\subFigScaleLength}{0pt}% % reset \subFigScale
+ }%
+ {%
+ \ifthenelse{\value{isFirstStandardFigure}=1}%
+ {%
+ \setSubFigScale{#2}{\myStandardSideWaysFigureWidth}{1}% % calculate \subFigScale for standard eps figure
+ \renewcommand{\standardGraphScale}{\subFigScale}% % This value specifies the scaling factor by which the standard graph is scaled
+ \setlength{\subFigScaleLength}{0pt}% % reset \subFigScale
+ \setcounter{isFirstStandardFigure}{0}%
+ }{}%
+ }%
+ }{}%
+ %
+ \includeSideWaysEps[#1]{#2}{#3}{#4}{\standardGraphScale}%
+ }%
+
+\newcommand{\includeStandardSideWaysGraphNow}[4][htpb]%
+ {%
+ %
+ \ifthenelse{\value{scaleToStandardFigureWidth}=1}%
+ {%
+ \ifthenelse{\value{scaleFigureIndividual}=1}%
+ {%
+ \setSubFigScale{#2}{\myStandardSideWaysFigureWidth}{1}% % calculate \subFigScale for standard eps figure
+ \renewcommand{\standardGraphScale}{\subFigScale}% % This value specifies the scaling factor by which the standard graph is scaled
+ \setlength{\subFigScaleLength}{0pt}% % reset \subFigScale
+ }%
+ {%
+ \ifthenelse{\value{isFirstStandardFigure}=1}%
+ {%
+ \setSubFigScale{#2}{\myStandardSideWaysFigureWidth}{1}% % calculate \subFigScale for standard eps figure
+ \renewcommand{\standardGraphScale}{\subFigScale}% % This value specifies the scaling factor by which the standard graph is scaled
+ \setlength{\subFigScaleLength}{0pt}% % reset \subFigScale
+ \setcounter{isFirstStandardFigure}{0}%
+ }{}%
+ }%
+ }{}%
+ %
+ \includeSideWaysEpsNow[#1]{#2}{#3}{#4}{\standardGraphScale}%
+ }%
+
+
+
+%========================================================================
+% INSERT LUMPED FIGURES
+
+% \arrangedFigContent[sub-sub-caption]{path}{figure width}{figure height}
+\newcommand{\arrangedFigContent}[4][noParMiniPlot]%
+ {%
+ \setlength{\figWidth}{#3 - \frameBoxPenalty}%
+ \setlength{\figHeight}{#4 - \frameBoxPenalty}%
+ %
+ \setlength{\figTabMiddle}{\figHeight / 2}%
+ %
+ \framebox{%
+ \setlength{\unitlength}{1sp}%
+ \tiny%
+ \begin{picture}(\number\figWidth,\number\figHeight)%
+ \put(0,\number\figTabMiddle)%%
+ {%
+ \begin{tabular}{p{\the\figWidth}}%
+ \extractminiplotpath{#2} \\%%
+ \subFigScale \\%%
+ \subLabelSuffix%%
+ \end{tabular}%
+ }%
+ \end{picture}%
+ }%
+ }%
+
+
+\newcommand{\setSubFigScale}[3]%
+ {%
+ %
+ \settowidth{\figWidth}{\epsfig{file={#1},scale = 1}}% % calculate overall width of one figure
+ \setlength{\figWidth}{\figWidth * #3}% % calculate overall width of all figures
+ \setlength{\subFigScaleLength}{(1pt*\ratio{#2 - \interSubSubFigSpace * #3 + \interSubSubFigSpace - \subSubFigPenalty * #3 + \subSubFigPenalty}{\figWidth})}% % the last term is a correction term to make it slightly smaller
+ \setlength{\subFigScaleLength}{\subFigScaleLength}% % the last term is a correction term to make it slightly smaller
+ \pointless{\subFigScale}{\subFigScaleLength}% % \subFigScale = 0.5pt -> \subFigScale = 0.5
+ %
+ }%
+
+
+\newcommand{\printLabel}[1]{\centerline{\small{\emph{Label}: $\mathtt{\labelPrefix#1}$}}}
+
+
+\newcommand{\aboveCaptionSpace}[1]{\setlength{\subFigureAboveCaptionSpace}{#1 + \subFigureAboveCaptionSpaceDefaultOffset}}
+
+
+\newcommand{\newSubFig}[3][\subFigureAboveCaptionSpaceDefault]%
+ {%
+ \vspace{\subFigureAboveCaptionSpace}%
+ \vspace{-\horizontalSubSubFigSpace}%
+ \caption{\myCaptionText}
+ \label{\labelPrefix\myLabel}%
+ \ifthenelse{\value{plotFigures}>0}{}%
+ {%
+ \printLabel{\myLabel}%
+ \settoheight{\labelHeight}{\printLabel{\myLabel}}%
+ \setlength{\labelHeight}{\labelHeight + \labelPenalty}%
+ \vspace{-\labelHeight}%
+ }%
+ \end{minipage}%
+ \renewcommand{\myCaptionText}{#3}% % assign caption
+ \renewcommand{\myLabel}{#2}% % assign label
+ \vspace{\subFigureBelowCaptionSpace}%
+ \hspace{\interSubFigSpace}%
+ \begin{minipage}{\myStandardSubFigureWidth}%
+ \aboveCaptionSpace{#1}%
+ }%
+
+
+\newcommand{\subFig}[2][noParMiniPlot]%
+ {%
+ %
+ \ifthenelse{\value{scaleFigureIndividual}=1}%
+ {%
+ \setSubFigScale{#2}{\myStandardSubFigureWidth}{\numSubSubFigCol}%
+ }%
+ {%
+ \ifthenelse{\equal{\isFirstSubFig}{true}}%
+ {%
+ \setSubFigScale{#2}{\myStandardSubFigureWidth}{\numSubSubFigCol}%
+ \renewcommand{\isFirstSubFig}{false}%
+ }{}%
+ }%
+ %
+ \ifthenelse{\equal{#1}{}}%
+ {\renewcommand{\subfigcapmargin}{\figTabMiddle}}%
+ {\renewcommand{\subfigcapmargin}{10pt}}% % default value by subfigure.sty
+ \ifthenelse{\value{plotFigures}>0}%%
+ {%
+ \ifthenelse{\equal{#1}{noParMiniPlot}}%
+ {\subfigure{\label{\labelPrefix\myLabel\subLabelSuffix}\epsfig{file={#2},scale=\subFigScale}}}%
+ {\subfigure[#1]{\label{\labelPrefix\myLabel\subLabelSuffix}\epsfig{file={#2},scale=\subFigScale}}}%
+ }%
+ {%
+ \settowidth{\figWidth}{\epsfig{file={#2},scale = \subFigScale}}%
+ \settoheight{\figHeight}{\epsfig{file={#2},scale = \subFigScale}}%
+ %
+ \ifthenelse{\equal{#1}{noParMiniPlot}}%
+ {%
+ \subfigure{%
+ %
+ \label{\labelPrefix\myLabel\subLabelSuffix}% % \alph{subfigure} by Dan Luecking
+ %
+ \arrangedFigContent{#2}{\figWidth}{\figHeight}%
+ }%
+ }%
+ {%
+ \subfigure[#1]{%
+ %
+ \label{\labelPrefix\myLabel\subLabelSuffix}%
+ %
+ \arrangedFigContent[#1]{#2}{\figWidth}{\figHeight}%
+ }%
+ }%
+ }%
+ %
+ \vspace{\horizontalSubSubFigSpace}%
+ \hspace{\interSubSubFigSpace}%
+ %
+ }%
+
+
+
+\newenvironment{arrangedFigure}[5][htpb]%
+ {%
+ \renewcommand{\myCaptionText}{#5}% % assign caption
+ \renewcommand{\myLabel}{#4}% % assign label
+ %
+ \setlength{\myStandardSubFigureWidth}{\myStandardFigureWidth / #2 - \interSubFigSpace + \interSubFigSpace / #2 - \subFigPenalty + \subFigPenalty / #2}%
+ %
+ \renewcommand{\numSubFigCol}{#2}% % assign number of columns to pass on to calculation of width
+ \renewcommand{\numSubSubFigCol}{#3}% % assign number of columns to pass on to calculation of width
+ \renewcommand{\isFirstSubFig}{true}% % initialize variable to calculate figure width for first subfigure listed
+ %
+ \setlength{\figTabMiddle}{\myStandardSubFigureWidth / #3 / 2 - \subSubFigPenalty / 2 + \subSubFigPenalty / #3 / 2 + \subCaptionPenalty}% % calculate middle of figure width to place subCaption in the middle of the subFigure
+ \renewcommand{\subfigcapmargin}{\figTabMiddle}% % assign Value
+ %
+ \begin{figure}[#1]%
+ %\begin{center}%
+ %\centerline{%
+ \begin{minipage}{\myStandardFigureWidth}%
+ \begin{minipage}{\myStandardSubFigureWidth}%
+ }%
+ {%
+ \vspace{\subFigureAboveCaptionSpace}%
+ \vspace{-\horizontalSubSubFigSpace}%
+ \caption{\myCaptionText}
+ \label{\labelPrefix\myLabel}%
+ \ifthenelse{\value{plotFigures}>0}{}%
+ {%
+ \printLabel{\myLabel}%
+ \settoheight{\labelHeight}{\printLabel{\myLabel}}%
+ \setlength{\labelHeight}{\labelHeight + \labelPenalty}%
+ \vspace{-\labelHeight}%
+ }%
+ \end{minipage}%
+ \end{minipage}%
+ %}%
+ %\end{center}%
+ \end{figure}%
+ %
+ %\ifthenelse{\value{plotFigures}>0}%
+ % {}%
+ % {\marginpar{\rotatebox{90}{Figure \ref{\labelPrefix\myLabel}: \printLabel{\myLabel}}}}%
+ %
+ \setlength{\subFigScaleLength}{0pt}%
+ }%
+
+
+
+
+
+\newenvironment{arrangedFigureNow}[5][htpb]%
+ {%
+ \ifthenelse{\value{plotFigures}=0}%
+ {\setcounter{plotFigures}{1}}%
+ {\setcounter{plotFigures}{2}}%
+ \begin{arrangedFigure}[#1]{#2}{#3}{#4}{#5}%
+ }%
+ {%
+ \end{arrangedFigure}%
+ \ifthenelse{\value{plotFigures}=2}%
+ {\setcounter{plotFigures}{1}}%
+ {\setcounter{plotFigures}{0}}%
+ }%
+
+
+%-----------------------------------------------------------
+% SIDE WAYS SUB FIGURE
+
+
+
+\newenvironment{arrangedSideWaysFigure}[5][htpb]%
+ {%
+ \renewcommand{\myCaptionText}{#5}% % assign caption
+ \renewcommand{\myLabel}{#4}% % assign label
+ %
+ \setlength{\myStandardSubFigureWidth}{\myStandardSideWaysFigureWidth / #2 - \interSubFigSpace + \interSubFigSpace / #2 - \subFigPenalty}%
+ %
+ \renewcommand{\numSubFigCol}{#2}% % assign number of columns to pass on to calculation of width
+ \renewcommand{\numSubSubFigCol}{#3}% % assign number of columns to pass on to calculation of width
+ \renewcommand{\isFirstSubFig}{true}% % initialize variable to calculate figure width for first subfigure listed
+ %
+ \setlength{\figTabMiddle}{\myStandardSubFigureWidth / #3 / 2 - \subSubFigPenalty / 2 + \subSubFigPenalty / #3 / 2 + \subCaptionPenalty}% % calculate middle of figure width to place subCaption in the middle of the subFigure
+ \renewcommand{\subfigcapmargin}{\figTabMiddle}% % assign Value
+ %
+ \begin{sidewaysfigure}[#1]%
+ %\begin{center}%
+ %\centerline{%
+ \begin{minipage}{\myStandardSideWaysFigureWidth}%
+ \begin{minipage}{\myStandardSubFigureWidth}%
+ }%
+ {%
+ \vspace{\subFigureAboveCaptionSpace}%
+ \vspace{-\horizontalSubSubFigSpace}%
+ \caption{\myCaptionText}
+ \label{\labelPrefix\myLabel}%
+ \ifthenelse{\value{plotFigures}>0}{}%
+ {%
+ \printLabel{\myLabel}%
+ \settoheight{\labelHeight}{\printLabel{\myLabel}}%
+ \setlength{\labelHeight}{\labelHeight + \labelPenalty}%
+ \vspace{-\labelHeight}%
+ }%
+ \end{minipage}%
+ \end{minipage}%
+ %}%
+ %\end{center}%
+ \end{sidewaysfigure}%
+ %
+ \setlength{\subFigScaleLength}{0pt}%
+ }%
+
+
+
+
+
+\newenvironment{arrangedSideWaysFigureNow}[5][htpb]%
+ {%
+ \ifthenelse{\value{plotFigures}=0}%
+ {\setcounter{plotFigures}{1}}%
+ {\setcounter{plotFigures}{2}}%
+ \begin{arrangedSideWaysFigure}[#1]{#2}{#3}{#4}{#5}%
+ }%
+ {%
+ \end{arrangedSideWaysFigure}%
+ \ifthenelse{\value{plotFigures}=2}%
+ {\setcounter{plotFigures}{1}}%
+ {\setcounter{plotFigures}{0}}%
+ }%
+
+
+
+
+
+
+
+%========================================================================
+% INSERT WRAPED FIGURES
+
+
+\newcommand{\setWrapFigOverhang}[1][\wrapFigOverhangDefault]{\setlength{\wrapoverhang}{#1}}
+
+
+% \wrappedEpsContent[lines]{position}{path}{caption}{label}{scaling}{figure width}{figure height}
+\newcommand{\wrappedEpsContent}[8][noPar]%
+ {%
+ \setlength{\figWidth}{#7 - \frameBoxPenalty}%
+ \setlength{\figHeight}{#8 - \frameBoxPenalty}%
+ %
+ \setlength{\figTabMiddle}{\figWidth / 2 - 6.6mm}% % calculate width of table in frame
+ %
+ \centerline{\framebox{%
+ %
+ \setlength{\unitlength}{1sp}%% % 1sp = 0.0000152587890625pt = 1/65536pt
+ \begin{picture}(\number\figWidth,\number\figHeight)%%
+ \scriptsize%
+ \put(\number\figTabMiddle,65536)%%
+ {%
+ \rotatebox{90}{%
+ \begin{tabular}{p{\the\figHeight}}%
+ \extractminiplotpath{#3}.eps \\%%
+ #6 (scale) \\%%
+ \labelPrefix#5 \\%%
+ \end{tabular}%
+ }%
+ }%
+ \end{picture}%%
+ }}%
+ }%
+
+
+
+\newcommand{\includeEpsWrap}[6][noPar]%
+ {%
+ \ifthenelse{\value{plotFigures}>0}%%
+ {%
+ \includeEpsWrapNow[#1]{#2}{#3}{#4}{#5}{#6}%%
+ }%
+ {%
+ \settowidth{\figWidth}{\epsfig{file={#3},scale = #6}}% % obtain eps figure width
+ \settoheight{\figHeight}{\epsfig{file={#3},scale = #6}}% % obtain eps figure height
+ %
+ \ifthenelse{\equal{#1}{noPar}}%
+ {%
+ \begin{wrapfigure}{#2}{\figWidth+\extraWrapWidth}%%
+ %
+ \vspace{\aboveWrapFigureSpace}%
+ %
+ \wrappedEpsContent{#2}{#3}{#4}{#5}{#6}{\figWidth}{\figHeight}%
+ %
+ \caption{#4}%%
+ \label{\labelPrefix#5}%%
+ \end{wrapfigure}%%
+ }%
+ {%
+ \begin{wrapfigure}[#1]{#2}{\figWidth+\extraWrapWidth}%%
+ %
+ \vspace{\aboveWrapFigureSpace}%
+ %
+ \wrappedEpsContent[#1]{#2}{#3}{#4}{#5}{#6}{\figWidth}{\figHeight}%
+ %
+ \caption{#4}%%
+ \label{\labelPrefix#5}%%
+ \end{wrapfigure}%%
+ }%
+ }%
+ }%
+
+
+\newcommand{\includeEpsWrapNow}[6][noPar]%
+ {%
+ \settowidth{\figWidth}{\epsfig{file={#3},scale = #6}}% % obtain eps figure width
+ \ifthenelse{\equal{#1}{noPar}}%
+ {%
+ \begin{wrapfigure}{#2}{\figWidth+\extraWrapWidth}%
+ \vspace{\aboveWrapFigureSpace}%
+ \epsfig{file=#3,scale=#6}%
+ \caption{#4}%%
+ \label{\labelPrefix#5}%%
+ \end{wrapfigure}%
+ }%
+ {%
+ \begin{wrapfigure}[#1]{#2}{\figWidth+\extraWrapWidth}%
+ \vspace{\aboveWrapFigureSpace}%
+ \epsfig{file=#3,scale=#6}%
+ \caption{#4}%%
+ \label{\labelPrefix#5}%%
+ \end{wrapfigure}%
+ }%
+ }%
+
+
+
+
+
+
+
+
+%========================================================================
+% INSERT WRAPPED-LUMPED FIGURES
+
+
+
+\newenvironment{arrangedWrapFigure}[7][noPar]%
+ {%
+ \renewcommand{\myCaptionText}{#7}% % assign caption
+ \renewcommand{\myLabel}{#6}% % assign label
+ %
+ \setlength{\myStandardSubFigureWidth}{#3 / #4 - \interSubFigSpace + \interSubFigSpace / #4 - \subFigPenalty + \subFigPenalty / #4}%
+ %
+ \renewcommand{\numSubFigCol}{#4}% % assign number of columns to pass on to calculation of width
+ \renewcommand{\numSubSubFigCol}{#5}% % assign number of columns to pass on to calculation of width
+ \renewcommand{\isFirstSubFig}{true}% % initialize variable to calculate figure width for first subfigure listed
+ %
+ \setlength{\figTabMiddle}{\myStandardSubFigureWidth / #5 / 2 - \subSubFigPenalty / 2 + \subSubFigPenalty / #5 / 2 + \subCaptionPenalty}% % calculate middle of figure width to place subCaption in the middle of the subFigure
+ \renewcommand{\subfigcapmargin}{\figTabMiddle}% % assign Value
+ %
+ \begin{wrapfigure}[#1]{#2}{#3+\extraWrapWidth}%
+ \vspace{\aboveWrapFigureSpace}%
+ %\begin{center}%
+ %\centerline{%
+ %\begin{centerlineenv}%
+ \begin{minipage}{#3}%
+ % \begin{minipage}{\myStandardSubFigureWidth}%
+ }%
+ {%
+ \vspace{\subFigureAboveCaptionSpace}%
+ \vspace{-\horizontalSubSubFigSpace}%
+ \caption{\myCaptionText}
+ \label{\labelPrefix\myLabel}%
+ \ifthenelse{\value{plotFigures}>0}{}%
+ {%
+ \printLabel{\myLabel}%
+ \settoheight{\labelHeight}{\printLabel{\myLabel}}%
+ \setlength{\labelHeight}{\labelHeight + \labelPenalty}%
+ \vspace{-\labelHeight}%
+ }%
+ \end{minipage}%
+ % \end{minipage}%
+ %\end{centerlineenv}%
+ %}%
+ %\end{center}%
+ \end{wrapfigure}%
+ %
+ \setlength{\subFigScaleLength}{0pt}%
+ }%
+
+
+
+
+
+\newenvironment{arrangedWrapFigureNow}[7][htpb]%
+ {%
+ \ifthenelse{\value{plotFigures}=0}%
+ {\setcounter{plotFigures}{1}}%
+ {\setcounter{plotFigures}{2}}%
+ \begin{arrangedWrapFigure}[#1]{#2}{#3}{#4}{#5}{#6}{#7}%
+ }%
+ {%
+ \end{arrangedWrapFigure}%
+ \ifthenelse{\value{plotFigures}=2}%
+ {\setcounter{plotFigures}{1}}%
+ {\setcounter{plotFigures}{0}}%
+ }%
+
+
+
+
+
+
+
+
+
+%========================================================================
+% RESET MINI PLOT
+
+
+\newcommand{\resetMiniPlot}%
+ {%
+ \setcounter{printCaption}{1}%
+ \setcounter{scaleToStandardFigureWidth}{1}%
+ \setcounter{isFirstStandardFigure}{1}%
+ \setcounter{scaleFigureIndividual}{1}%
+ %\setcounter{plotFigures}{1}% % plot figures {1} or not {0}
+ \setlength{\extraWrapWidth}{2mm}% % default value = 2mm, can be redefined in text
+ \setlength{\aboveWrapFigureSpace}{0mm}%
+ \setlength{\frameBoxPenalty}{2.4mm}%
+ \setlength{\myStandardFigureWidth}{\linewidth}% % sets the width of all standard figures, can be redefined
+ \setlength{\myStandardSideWaysFigureWidth}{\textheight}%
+ \setlength{\subFigPenalty}{0mm}% % let subfigure.sty arrage all subfigures in the avaiable space
+ \setlength{\subSubFigPenalty}{0.001mm}% % let subfigure.sty arrage all subfigures in the avaiable space
+ \setlength{\interSubFigSpace}{8mm}%
+ \setlength{\interSubSubFigSpace}{2.5mm}%
+ \setlength{\subFigureAboveCaptionSpaceDefaultOffset}{0mm}%
+ \setlength{\subFigureAboveCaptionSpaceDefault}{0mm}% % use this to equal out spaces due to different number of lines of
+ \setlength{\subFigureAboveCaptionSpace}{\subFigureAboveCaptionSpaceDefault + \subFigureAboveCaptionSpaceDefaultOffset}%
+ \setlength{\horizontalSubSubFigSpace}{0mm}%
+ \setlength{\subFigureBelowCaptionSpace}{3mm}%
+ \setlength{\subCaptionPenalty}{0mm}%
+ \setlength{\minimumCaptionWidth}{\linewidth * 4 / 6}%
+ \setlength{\minimumSideWaysCaptionWidth}{\textheight * 4 / 6}%
+ \renewcommand{\standardGraphScale}{1}% % This value specifies the scaling factor by which the standard graph is scaled
+ \renewcommand{\isFirstSubFig}{false}%
+ }
+
+
+
+%=======================================================================================
+% EOF
diff --git a/macros/latex/contrib/miniplot/miniplot.tex b/macros/latex/contrib/miniplot/miniplot.tex
new file mode 100644
index 0000000000..4d3bb73cd7
--- /dev/null
+++ b/macros/latex/contrib/miniplot/miniplot.tex
@@ -0,0 +1,1553 @@
+
+
+
+\documentclass[12pt,a4paper]{article}
+
+% needed packages
+\usepackage{calc}
+\usepackage{ifthen}
+\usepackage{graphics}
+\usepackage{epsfig}
+\usepackage{miniplot}
+
+% supplementary packages
+\usepackage{wrapfig}
+\usepackage{subfigure}
+\usepackage{rotfloat}
+
+%\usepackage{showkeys}
+\usepackage{flafter}
+
+% personal adjustments
+\newcommand{\comm}[1]{\texttt{#1}}
+\renewcommand{\floatpagefraction}{0.8} % default = 0.5, see "The LaTeX Companion, page 142
+\setcounter{plotFigures}{1}
+
+
+\begin{document}
+
+%\pagestyle{myheadings}
+%\markright{Section \thesection}
+
+\title{MiniPlot -- A Package For Easy Figure Arrangements\footnote{Version 0.3}}
+\author{Tobias Wahl\footnote{I'd like to thank all the people helping me in \comm{comp.text.tex}
+for answering my dull questions.}}
+\date{1st July 2001}
+\maketitle
+
+
+\begin{abstract}
+MiniPlot is a package to help \LaTeX's user to typeset eps figures
+using an easy-to-use command-interface.
+
+Figures can easily be arranged as one-figure-only or as a collection of
+figure in columns and rows which can contain itself sub-figures in
+columns and rows. Also wrapped and sideways figures are supported.
+
+This package provides commands to display a framebox instead of
+the figure as the graphics package does already but additionally
+it writes useful information such as the label and scaling factor
+into these boxes. The content of these boxes can be customized.
+\end{abstract}
+
+\tableofcontents
+
+
+%=================================================================
+\section{Motivation}
+
+This section is to show what MiniPlot is about. MiniPlot is a
+strong tool for plotting multiple figures and sub-figure as the
+following figures show. It's easy to use interface allows easy and
+fast access to professional looking figure presentation.
+
+
+\begin{arrangedFigure}{2}{2}{arrangedO521}{left sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[This is a very long sub-sub-caption]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arrangedO522}{right sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\setlength{\subFigureAboveCaptionSpace}{7mm}
+\end{arrangedFigure}
+\setlength{\subFigureAboveCaptionSpace}{0mm}
+
+
+\begin{arrangedFigure}{1}{4}{arrangedO1521}{top sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arrangedO1522}{bottom sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\end{arrangedFigure}
+
+
+\begin{arrangedFigure}{2}{3}{arrangedO31}{top left}
+ \subFig{figures/1}%
+ \subFig{figures/2}%
+ \subFig{figures/3}%
+ \subFig{figures/4}%
+ \subFig{figures/1}%
+ \subFig{figures/2}%
+\newSubFig{arrangedO32}{top right}
+ \subFig{figures/1}%
+ \subFig{figures/2}%
+ \subFig{figures/3}%
+ \subFig{figures/4}%
+ \subFig{figures/1}%
+ \subFig{figures/2}%
+\newSubFig{arrangedO33}{bottom}
+ \subFig{figures/1}%
+ \subFig{figures/2}%
+ \subFig{figures/3}%
+ \subFig{figures/4}%
+ \subFig{figures/1}%
+ \subFig{figures/2}%
+\end{arrangedFigure}
+
+
+
+\clearpage
+
+%=================================================================
+
+
+
+%----------------------------------------------------------------
+\section{Loading the packages}
+
+In order to run MiniPlot the following lines are needed in the \LaTeX
+file
+
+
+\begin{verbatim}
+% needed packages
+\usepackage{calc}
+\usepackage{ifthen}
+\usepackage{graphics}
+\usepackage{epsfig}
+\usepackage{miniplot}
+
+% supplementary packages
+\usepackage{wrapfig}
+\usepackage{subfigure}
+\usepackage{rotfloat}
+
+% personal adjustments
+%\setcounter{plotFigures}{0}
+\renewcommand{\floatpagefraction}{0.8}
+\end{verbatim}
+
+The wrapfigure package is only needed when one uses the wrapfigure
+features of MiniPlot. The subfigure package is certainly something
+one might include since this gives access to the \comm{arrangedFigure}
+environment, the most powerful feature of this package.
+Rotfloat, and rotating which is loaded by rotfloat, is needed when one
+likes to use the side-way-figure capabilities of MiniPlot.
+I recommend to install all packages.
+
+Putting the line \comm{setcounter\{plotFigures\}\{0\}} is not necessary but is
+recomended for editing a document with loads of figures or when one likes
+to obtain the label of figures for refences. Enable this line when you learned
+how to deal with this package.
+
+The last line is very much my own personal style and not needed for using
+MiniPlot.
+
+
+
+%----------------------------------------------------------------
+\section{Including single figures}
+
+The problem is how to arrange your eps figures efficiently in you
+document. The answer is given by MiniPlot. This section is
+included to provide an overview over the capabilities of MiniPlot.
+
+We start with a simple implementation of a single eps figure as
+shown in Figure \ref{fig:singleSimple}, the simple implementation
+is given by
+
+\begin{verbatim} \includeEps{figures/1}{Simple figure included
+with scaling factor equals one.}{singleSimple}{1} \end{verbatim}
+
+\includeEps{figures/1}{Simple figure included with scaling factor
+equals one.}{singleSimple}{1}
+
+Note that the label is given without \comm{fig:}. The general
+parameters are
+
+\begin{verbatim}
+\includeEps[htpb]{path}{label}{caption}{scaling factor}
+\end{verbatim}
+
+Now imagine one has one type of figure which occurs very often in
+the document. Then the user could use the following command
+
+\begin{verbatim} \includeStandardGraph[htpb]{path}{label}{caption}
+\end{verbatim}
+
+where the standard scaling factor can be set generally for all
+the figures included by this command. The default is
+
+\begin{verbatim} \renewcommand{\standardGraphScale}{1}
+\end{verbatim}
+
+\includeStandardGraph{figures/1}{Simple figure included with
+scaling factor calculated to scale figure to meet specified
+width.}{singleStandard}
+
+However, by default this value is not used but the figure is
+scaled to achieve the width equal to the length of the following
+variable.
+
+\begin{verbatim} \setlength{\myStandardFigureWidth}{\linewidth}
+\end{verbatim}
+
+If the figures are scaled to the width above or if a standard
+scaling factor is assumed depends on the following counter
+
+\begin{verbatim} \setcounter{scaleToStandardFigureWidth}{1}
+\end{verbatim}
+
+Set \comm{1} to to scale to standard-figure-width or \comm{0} to
+use standard-graph-scale.
+
+Additionally one can set if each figure is to be scaled
+individually or if the scaling factor is to be calculated at the
+first time the include-standard-graph command is stated
+
+\begin{verbatim} \setcounter{scaleFigureIndividual}{1}
+\end{verbatim}
+
+Set \comm{1} to to scale individually or \comm{0} to use scaling
+factor calculated when inserting the first standard-graph.
+
+When we now include a figure using the command for standard
+figures
+
+\begin{verbatim} \includeStandardGraph{figures/1}{Simple figure
+included with scaling factor calculated to scale figure to meet
+specified width.}{singleStandard}
+\end{verbatim}
+
+we obtain a figure scaled to the specified width in Figure
+\ref{fig:singleStandard}.
+
+To show the use of the counter \comm{plotFigures} we set
+
+\begin{verbatim}
+\setcounter{plotFigures}{0}
+
+\includeStandardGraph{figures/1}{Simple figure included with
+scaling factor calculated to scale figure to meet specified
+width.}{singleStandard2}
+
+\setcounter{plotFigures}{1}
+\end{verbatim}
+
+to obtain Figure \ref{fig:singleStandard2}. We can see that the
+scaling factor is no more equals one. Other usefull information
+is given by the label.
+
+\setcounter{plotFigures}{0}
+\includeStandardGraph{figures/1}{Simple figure included with
+scaling factor calculated to scale figure to meet specified
+width.}{singleStandard2}
+\setcounter{plotFigures}{1}
+
+Of course, there is also a side-ways version of a figure, see
+Figure \ref{fig:singleStandard3}. This figure is implemented using
+the include-standard-side-ways-graph command.
+
+\begin{verbatim}
+\setcounter{plotFigures}{0}
+
+\includeStandardSideWaysGraph{figures/1}{Simple figure included with
+scaling factor calculated to scale figure to meet specified in width
+in side-ways-mode.}{singleStandard3}
+
+\setcounter{plotFigures}{1}
+\end{verbatim}
+
+\setcounter{plotFigures}{0}
+\includeStandardSideWaysGraph{figures/1}{Simple figure included with
+scaling factor calculated to scale figure to meet specified
+width in side-ways-mode.}{singleStandard3}
+\setcounter{plotFigures}{1}
+
+Note that the width of the side-ways-figure is now determined by
+
+\begin{verbatim}
+\setlength{\myStandardSideWaysFigureWidth}{\textheight}
+\end{verbatim}
+
+Note that there is also an include-side-ways-eps command where
+you have to set a scaling factor.
+
+The user can customize the width of the caption relative to the figure's width
+simply by changing the folowing length.
+
+\begin{verbatim}
+\setlength{\captionWidthPenalty}{0mm}
+\end{verbatim}
+
+Setting this length has only an effect to the figures which are introduced as a single
+figure
+
+\begin{itemize}
+ \item \verb+\includeEps+
+ \item \verb+\includeEpsNow+
+ \item \verb+\includeSideWaysEps+
+ \item \verb+\includeSideWaysEpsNow+
+ \item \verb+\includeStandardGraph+
+ \item \verb+\includeStandardGraphNow+
+ \item \verb+\includeStandardSideWaysGraph+
+ \item \verb+\includeStandardSideWaysGraphNow+
+\end{itemize}
+
+It has no effect to the wrapped figure environments and the arranged figure environments.
+
+Normally the captions of the listed figure commands and environments have the
+width of the figure. In case the figure's width is smaller than a specified value
+then it will be set to the defined caption minimum width
+
+\begin{verbatim}
+\setlength{\minimumCaptionWidth}{\linewidth * 4 / 6}
+\setlength{\minimumSideWaysCaptionWidth}{\textheight * 4 / 6}
+\end{verbatim}
+
+
+
+\clearpage
+
+
+
+
+
+
+
+
+%----------------------------------------------------------------
+\section{Including arranged sub-figures and sub-sub-figures}
+
+
+The content of this subsection is the generation of figures which can
+consist of several columns and rows of figures with their own caption
+(Figure ...), I will call these figures sub-figures.
+
+Inside these sub-figures can now be arranged several columns and rows of
+sub-sub-figures. These are placed using the subfigure package.
+
+A simple example might be given by Figure \ref{fig:arranged11} to \ref{fig:arranged12}
+
+\begin{verbatim}
+\begin{arrangedFigure}{2}{2}{arranged11}{This is the left
+ sub-figure of an arranged figure.}
+ \subFig{figures/1}%
+ \subFig{figures/2}%
+ \subFig{figures/3}%
+ \subFig{figures/4}%
+\newSubFig{arranged12}{This is the right sub-figure of an
+ arranged figure.}
+ \subFig{figures/1}%
+ \subFig{figures/2}%
+ \subFig{figures/3}%
+ \subFig{figures/4}%
+\end{arrangedFigure}
+\end{verbatim}
+
+\begin{arrangedFigure}{2}{2}{arranged11}{This is the left sub-figure of an arranged figure.}
+ \subFig{figures/1}%
+ \subFig{figures/2}%
+ \subFig{figures/3}%
+ \subFig{figures/4}%
+\newSubFig{arranged12}{This is the right sub-figure of an arranged figure.}
+ \subFig{figures/1}%
+ \subFig{figures/2}%
+ \subFig{figures/3}%
+ \subFig{figures/4}%
+\end{arrangedFigure}
+
+The first parameter to the \comm{arrangedFigure} environment is the number of
+columns of sub-figures, the second one specifies the number of columns of
+sub-sub-figures. The next parameters is the label and then the caption to the immediate
+following sub-figures.
+
+The command \comm{subFig} should actually be called \comm{subSubFig} since it inserts the
+sub-sub-figure specified by the path of the figure to be included. \emph{It is important to
+enter the \%-signs after the \comm{subFig} command in order to avoid introducing
+undesired horizontal spaces between the sub-sub-figures.}
+
+The command \comm{newSubFig} opens the next que to fill up a sub-figure with sub-sub-figures.
+The parameter is the label and the caption for the immediately following sub-figure.
+
+Another example could be given by Figure \ref{fig:arranged2}
+
+\begin{verbatim}
+\begin{arrangedFigure}{1}{4}{arranged2}{This is the
+ only sub-figure of an arranged figure.}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\end{arrangedFigure}
+\end{verbatim}
+
+
+\begin{arrangedFigure}{1}{4}{arranged2}{This is the only sub-figure of an arranged figure.}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\end{arrangedFigure}
+
+Note that the number of columns of sub-figures changed to one and that we arrange four
+sub-sub-figures in the width of one sub-figure column.
+
+Additionally, the \comm{subFig} command got now an empty optional command leading to the indexing
+of the sub-sub-figures from a to d. This behavior is identically with the one of the
+subfigure package\footnote{The only exception is that if one enters \comm{[noParMiniPlot]} it would be
+as if no optional parameter is given. This shouldn't be a major problem since there might be little
+desire to have a caption like \comm{(a)noParMiniPlot} .}.
+
+To complete a list of examples a last one is given by Figure \ref{fig:arranged31} to
+\ref{fig:arranged33}
+
+
+
+\begin{verbatim}
+\renewcommand{\subfigbottomskip}{0pt}%
+\renewcommand{\subfigcapskip}{0pt}%
+\renewcommand{\subcapsize}{\scriptsize}%
+
+\begin{arrangedFigure}{2}{4}{arranged31}{top left}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+\newSubFig{arranged32}{top right}%
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+\newSubFig{arranged33}{bottom}%
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\end{arrangedFigure}
+
+\renewcommand{\subfigbottomskip}{10pt}%
+\renewcommand{\subfigcapskip}{10pt}%
+\renewcommand{\subcapsize}{\footnotesize}%
+\end{verbatim}
+
+The redefinition of commands introduced by the subfigure package makes the figure
+look nicer but are not necessary to run the code. After the redefinition they are reset to
+their default values.
+
+In this figure we have an odd ratio of sub-figures to sub-figure-columns
+and we see that the remaining sub-figure \ref{fig:arranged33} is shifted
+to the right.
+
+The same happens to the sub-sub-figures included in the bottom row of
+sub-figures \ref{fig:arranged31} and \ref{fig:arranged32}.
+
+
+ \renewcommand{\subfigbottomskip}{0pt}%
+ \renewcommand{\subfigcapskip}{0pt}%
+ \renewcommand{\subcapsize}{\scriptsize}%
+
+\begin{arrangedFigure}{2}{4}{arranged31}{top left}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+\newSubFig{arranged32}{top right}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+\newSubFig{arranged33}{bottom}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\end{arrangedFigure}
+
+ \renewcommand{\subfigbottomskip}{10pt}%
+ \renewcommand{\subfigcapskip}{10pt}%
+ \renewcommand{\subcapsize}{\footnotesize}%
+
+
+The reader certainly notices that it takes longer to load the page when a lot
+of sub-sub-figures are arranged, Figure \ref{fig:arranged41} to \ref{fig:arranged42}.
+This is an important reason to set the counter \comm{plotFigures} to zero to save
+time when browsing through a document on the computer.
+
+As another example an arranged-side-ways-figure is shown, Figure \ref{fig:arranged41}.
+
+\begin{verbatim}
+\setcounter{plotFigures}{0}
+
+\begin{arrangedSideWaysFigure}{2}{2}{arranged41}{left sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arranged42}{right sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\end{arrangedSideWaysFigure}
+
+\setcounter{plotFigures}{1}
+\end{verbatim}
+
+
+
+\setcounter{plotFigures}{0}
+\begin{arrangedSideWaysFigure}{2}{2}{arranged41}{left sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arranged42}{right sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\end{arrangedSideWaysFigure}
+\setcounter{plotFigures}{1}
+
+
+That this page loads faster is not the only difference one can notice. The label for
+reference is now added below the caption in order to be easier accessible. A disadvantage
+is that an extra space might be included and that might influence the document layout. In order to
+compensate for that effect the following length has been introduced
+
+\begin{verbatim}
+\setlength{\labelPenalty}{-1.5mm}
+\end{verbatim}
+
+which is valid if the following command is design to produce a single line in small font.
+
+\begin{verbatim}
+\newcommand{\printLabel}[1]{\centerline{\small{\emph{Label}: \texttt{fig:#1}}}}
+\end{verbatim}
+
+If one redefines \verb+\printLabel+ one has to figure out what value might be appropriate
+for \verb+\labelPenalty+.
+
+Furthermore, only the most basic information is included in the frameboxes. This is
+because the arranged sub-sub-figures can become quiet small. First the basic filename
+without path is contained. In the next row the scaling factor is shown, than the suffix
+to the label shown below the sub-fig caption is included.
+
+So far referencing to sub-sub-figures does not work but as soon as someone tells me how
+to extract \comm{a} fromm \comm{(a)}, which comes from the \verb+\thesubfigure+ command, I
+would like to implement that. :)
+
+
+\clearpage
+
+
+
+
+
+
+
+
+%----------------------------------------------------------------
+\section{Including wrapped figures}
+
+
+The use of the include-Eps-Wrap command is similar to the
+include-Eps command. By writing
+
+\setWrapFigOverhang[2cm]
+\includeEpsWrap[20]{l}{figures/wrapMe}{Example of an wrapped figure}{wrappedFigure1}{1}
+\setWrapFigOverhang
+
+\begin{verbatim}
+\setWrapFigOverhang[2cm]
+\includeEpsWrap[20]{l}{figures/wrapMe}{Example of an
+wrapped figure}{wrappedFigure1}{1}
+\setWrapFigOverhang
+\end{verbatim}
+
+we obtain Figure \ref{fig:wrappedFigure1}.
+
+The general form is given by
+
+\begin{verbatim}
+\includeEpsWrap[lines]{side}{path}
+{caption}{label}{scaling factor}
+\end{verbatim}
+
+where \comm{lines} stands for the number of narrow lines and \comm{side} stands
+for left (\comm{l}) or right (\comm{r}) as specified in the documentation of the
+wrapfig package.
+
+The command \verb+setWrapFigOverhang+ sets the wrap figures overhang to the given optinal
+parameter. Calling this command without a parameter resets the overhang to its default value
+
+\begin{verbatim}
+\setlength{\wrapFigOverhangDefault}{0mm}
+\end{verbatim}
+
+Of course, if the counter \comm{plotFigures} equals 0 then this figure is
+replaced by a framebox containing some useful information:
+
+\begin{verbatim}
+\setcounter{plotFigures}{0}
+\includeEpsWrap[20]{l}{figures/wrapMe}
+{Example of an wrapped figure}
+{wrappedFigure2}{1}
+\setcounter{plotFigures}{1}
+\end{verbatim}
+
+The counter \comm{plotFigures} is inteded to be \comm{0} in
+draft mode to improve browsing speed through the document and
+to provide information for referencing. However, when a figure
+is to be implemented the first time one likes to see the result.
+This can be done without changing the counter \comm{plotFigures}.
+Simply one can add the term \comm{Now} to any command provided
+to include figures. Therefore the following command would show the
+figure and not the framebox:
+%
+\begin{arrangedWrapFigure}[15]{l}{3cm}{1}{2}{arranged511w}{top sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arranged512w}{bottom sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\end{arrangedWrapFigure}
+
+\begin{verbatim}
+\setcounter{plotFigures}{0}
+\includeEpsWrapNow{l}{figures/wrapMe}
+{Example of an wrapped figure}
+{wrappedFigure3}{1}
+\setcounter{plotFigures}{1}
+\end{verbatim}
+
+To customize the figure there is the width which is added to the wrapped figure
+in oder to have some space between figure and text
+
+\begin{verbatim}
+\setlength{\extraWrapWidth}{2mm}
+\end{verbatim}
+
+The space above the wrapped figure is set to be
+
+\begin{verbatim}
+\setlength{\aboveWrapFigureSpace}{0mm}
+\end{verbatim}
+
+The space below the wrapped figure can be set, obviously, by setting
+the number of \comm{linnes} in the optional parameter.
+
+
+
+
+
+
+
+
+%----------------------------------------------------------------
+\section{Including wrapped-arranged figures}
+
+
+To include arranged figures in an wrapped figure environment one has to use the
+following environment, \comm{arrangedWrapFigure}
+
+\begin{verbatim}
+\begin{arrangedWrapFigure}[15]{l}{3cm}{1}{2}
+ {arranged511w}{top sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arranged512w}{bottom sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\end{arrangedWrapFigure}
+\end{verbatim}
+
+The general form is given by
+
+\begin{verbatim}
+\begin{arrangedWrapFigure}[lines]{position}{width}
+ {sub-columns}{sub-sub-columns}
+ {label}{caption}
+\end{arrangedWrapFigure}
+\end{verbatim}
+
+
+
+
+
+
+
+
+
+\clearpage
+
+
+
+
+
+
+
+
+
+%----------------------------------------------------------------
+\section{Customizing arranged figures}
+
+As for the single figures the widths of the arranged-figure and
+arranged-side-ways-figure environments are given by
+
+\begin{verbatim}
+\setlength{\myStandardFigureWidth}{\linewidth}
+\setlength{\myStandardSideWaysFigureWidth}{\textheight}
+\end{verbatim}
+
+For cutomizing purposes one should know that the space between
+each sub-figure is specified by
+
+\begin{verbatim}
+\setlength{\interSubFigSpace}{8mm}
+\end{verbatim}
+
+whereas the space between each sub-sub-figure is specified by
+
+\begin{verbatim}
+\setlength{\interSubSubFigSpace}{2.5mm}
+\end{verbatim}
+
+The horizontal positioning of the numbers of sub-sub-figures,
+\emph{(a)-(..)}, can be changed by changing the following length
+which default value is
+
+\begin{verbatim}
+\setlength{\subCaptionPenalty}{0mm}
+\end{verbatim}
+
+This has only an effect if the \comm{subFig} command is issued with
+an empty optional parameter. Otherwise the subfigure package's default
+value will be assumed: \verb+\renewcommand{\subfigcapmargin}{10pt}+.
+
+If a sub-sub-caption is given as in the following example
+
+\begin{verbatim}
+\begin{arrangedFigure}{2}{2}{arranged511}{left sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[This is a very long sub-sub-caption]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arranged512}{right sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\end{arrangedFigure}
+\end{verbatim}
+
+\begin{arrangedFigure}{2}{2}{arranged511}{left sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[This is a very long sub-sub-caption]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arranged512}{right sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arranged521}{left sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[This is a very long sub-sub-caption]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arranged522}{right sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\setlength{\subFigureAboveCaptionSpace}{7mm}
+\end{arrangedFigure}
+\setlength{\subFigureAboveCaptionSpace}{0mm}
+
+
+then the following length can be set in order to compensate for the extra space
+
+\begin{verbatim}
+\begin{arrangedFigure}{2}{2}{arranged51}{left sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[This is a very long sub-sub-caption]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arranged52}{right sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\setlength{\subFigureAboveCaptionSpace}{7mm} % watch this
+\end{arrangedFigure}
+\setlength{\subFigureAboveCaptionSpace}{0mm} % watch this
+\end{verbatim}
+
+
+with a resulting Figure \ref{fig:arranged521} and \ref{fig:arranged522}.
+
+If the figure looks like Figure \ref{fig:arranged5311} and \ref{fig:arranged5312}
+then one could set
+
+\begin{verbatim}
+\begin{arrangedFigure}{2}{2}{arranged531}{left sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[This is a very long sub-sub-caption]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arranged532}{right sub-figure}
+ \setlength{\horizontalSubSubFigSpace}{4mm} % watch this
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \setlength{\horizontalSubSubFigSpace}{-1mm} % watch this
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\end{arrangedFigure}
+\end{verbatim}
+
+to achieve Figure \ref{fig:arranged531} and \ref{fig:arranged532}.
+
+
+
+\begin{arrangedFigure}{2}{2}{arranged5311}{left sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[This is a very long sub-sub-caption]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arranged5312}{right sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arranged531}{left sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[This is a very long sub-sub-caption]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arranged532}{right sub-figure}
+ \setlength{\horizontalSubSubFigSpace}{4mm}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \setlength{\horizontalSubSubFigSpace}{-1mm}
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\end{arrangedFigure}
+
+
+
+Another parameter for modifying the look is given by
+
+\begin{verbatim}
+\setlength{\subFigureBelowCaptionSpace}{5mm}
+\end{verbatim}
+
+which sets the space below the main sub-figure caption and the next
+main sub-figure below it.
+
+After all, it might be difficult to reset every variable on its
+own and to remenber their default values. Therefore, the
+command \comm{resetMiniPlot} has been introduced. This
+sets variables and commands to their default values. Note
+that the counter \comm{plotFigures} is not reset. A listing
+of the definition is given below.
+
+
+\begin{verbatim}
+\newcommand{\resetMiniPlot}%
+ {%
+ \setcounter{printCaption}{1}%
+ \setcounter{scaleToStandardFigureWidth}{1}%
+ \setcounter{isFirstStandardFigure}{1}%
+ \setcounter{scaleFigureIndividual}{1}%
+ \setlength{\extraWrapWidth}{2mm}%
+ \setlength{\aboveWrapFigureSpace}{0mm}%
+ \setlength{\frameBoxPenalty}{2.4mm}%
+ \setlength{\myStandardFigureWidth}{\linewidth}%
+ \setlength{\myStandardSideWaysFigureWidth}{\textheight}%
+ \setlength{\subFigPenalty}{0mm}%
+ \setlength{\subSubFigPenalty}{0.001mm}%
+ \setlength{\interSubFigSpace}{8mm}%
+ \setlength{\interSubSubFigSpace}{2.5mm}%
+ \setlength{\subFigureAboveCaptionSpaceDefaultOffset}{0mm}%
+ \setlength{\subFigureAboveCaptionSpaceDefault}{0mm}%
+ \setlength{\subFigureAboveCaptionSpace}
+ {\subFigureAboveCaptionSpaceDefault
+ + \subFigureAboveCaptionSpaceDefaultOffset}%
+ \setlength{\horizontalSubSubFigSpace}{0mm}%
+ \setlength{\subFigureBelowCaptionSpace}{3mm}%
+ \setlength{\subCaptionPenalty}{0mm}%
+ \setlength{\minimumCaptionWidth}{\linewidth * 4 / 6}%
+ \setlength{\minimumSideWaysCaptionWidth}{\textheight * 4 / 6}%
+ \renewcommand{\standardGraphScale}{1}%
+ \renewcommand{\isFirstSubFig}{false}%
+ }%
+\end{verbatim}
+
+With this one could define a function to set one's own default values, e.g.
+
+\begin{verbatim}
+\necommand{\myResetMiniPlot}%
+ {%
+ \resetMiniPlot%
+ %
+ % personal settings:
+ \setlength{\myStandardFigureWidth}{\linewidth - 20mm}%
+ }
+\end{verbatim}
+
+\clearpage
+
+
+
+
+
+
+%----------------------------------------------------------------
+\section{Debugging arranged figures}
+
+Normally it shouldn't be necessary to do any debugging but in case there is
+I'd like to mention some tweaks here.
+
+If unluky one might find something as shown in Figure \ref{fig:arranged51d} and
+\ref{fig:arranged52d}.
+
+\setlength{\subSubFigPenalty}{-1mm}
+
+\begin{verbatim}
+\begin{arrangedFigure}{2}{2}{arranged51d}{left sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arranged52d}{right sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\end{arrangedFigure}
+\end{verbatim}
+
+\begin{arrangedFigure}{2}{2}{arranged51d}{left sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arranged52d}{right sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\end{arrangedFigure}
+
+From the coding shown above one would expect to yield two columns of sub-figures and
+inside those again two columns of sub-sub-figures. However, Figure
+\ref{fig:arranged51} to \ref{fig:arranged51} have only one column of
+sub-sub-figures. This is because the sub-sub-figures plus the space
+between them is too wide to fit into the width of the minipage environment
+they are in. So, the figures are shifted down. This effect can be removed
+by changing the following length which default value is
+
+\begin{verbatim}
+\setlength{\subSubFigPenalty}{0.001mm}
+\end{verbatim}
+
+\setlength{\subSubFigPenalty}{0.001mm}
+
+Theoretical this value should be zero but due to numerical inaccuracies the
+sub-sub-figures have to be made a little bit narrower. The above length is to
+compensate for the numerical error.
+
+By increasing the above length one can yield a satisfactory figure layout as
+can be seen in Figure \ref{fig:arranged51dd} and \ref{fig:arranged52dd}.
+
+\begin{arrangedFigure}{2}{2}{arranged51dd}{left sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\newSubFig{arranged52dd}{right sub-figure}
+ \subFig[]{figures/1}%
+ \subFig[]{figures/2}%
+ \subFig[]{figures/3}%
+ \subFig[]{figures/4}%
+\end{arrangedFigure}
+
+
+Another case which is unlikely but not impossible to occur is that one has
+the displacment of the sub-sub-figures as described above but
+only when \comm{plotFigures} is equals zeros. That means the actual figures
+are alright but the frameboxes are shifted down. Then it is that
+the following length needs to be increased from its default value
+
+\begin{verbatim}
+\setlength{\frameBoxPenalty}{2.4mm}
+\end{verbatim}
+
+The reason is that the framebox is drawn around the actual size of the
+eps-figure, this space needs to be substracted again in order to obtain the
+actual figure size.
+
+
+\clearpage
+
+
+
+
+
+
+
+%----------------------------------------------------------------
+\section{Customizing content of substituted framed boxes}
+
+If the counter \comm{plotFigures} is set to be equals \comm{0} then a framed
+box with some information is shown. The commands to show information, however can
+be redefined in order to be more customizable for the user.
+
+Three commands are used to disply the content for the different environments:
+
+\begin{itemize}
+ \item \verb+\epsContent[placement]{path}{caption}{label}{scaling}+\par\verb+{figure width}{figure height}+
+ \item \verb+\arrangedFigContent[sub-sub-caption]{path}{figure width}+\par\verb+{figure height}+
+ \item \verb+\wrappedEpsContent[lines]{position}{path}{caption}+\par\verb+{label}{scaling}{figure width}{figure height}+
+\end{itemize}
+
+The first command prints the content to the single eps figures. First the \verb+\frameBoxPenaly+ is substracted
+from the figures height and width. Then a picture environment is created within a \comm{framebox}. The information
+is contained within a table. More information could be added or the whole structure completely renewed.
+
+\begin{itemize}
+ \item file name with path and extension
+ \item scaling factor for this eps figure
+ \item label of that figure
+ \item position in terms of \comm{htbp}
+\end{itemize}
+
+\begin{verbatim}
+\newcommand{\epsContent}[7][htpb]%
+ {%
+ \setlength{\figWidth}{#6 - \frameBoxPenalty}%
+ \setlength{\figHeight}{#7 - \frameBoxPenalty}%
+ %
+ \setlength{\figTabWidth}{\figWidth - 31mm}%
+ \setlength{\figTabMiddle}{\figHeight / 2}%
+ %
+ \centerline{\framebox{%
+ %
+ \setlength{\unitlength}{1sp}%%
+ \begin{picture}(\number\figWidth,\number\figHeight)%%
+ \put(655360,\number\figTabMiddle)%%
+ {%
+ \begin{tabular}{lp{\the\figTabWidth}}%
+ \emph{Source:} & #2.eps \\%%
+ \emph{Scaling:} & #5 \\%%
+ \emph{Label:} & \labelPrefix#4 \\%%
+ \emph{Position:} & #1%%
+ \end{tabular}%
+ }%
+ \end{picture}%%
+ }}%
+ }%
+\end{verbatim}
+
+The second command is to include the content for arranged figures. The structure is
+the same as in the above command. Because there is less space for arranged figures the
+content had to be shortend. The filename is shown without path and extension. Furthermore,
+there is nor description what the information is. Therefore this is listed here
+
+\begin{itemize}
+ \item base name of file without path and extension
+ \item scaling factor for this eps figure
+ \item suffix to be attached to the base label of that figure to refence this sub-sub-figure
+\end{itemize}
+
+\begin{verbatim}
+\newcommand{\arrangedFigContent}[4][noParMiniPlot]%
+ {%
+ \setlength{\figWidth}{#3 - \frameBoxPenalty}%
+ \setlength{\figHeight}{#4 - \frameBoxPenalty}%
+ %
+ \setlength{\figTabMiddle}{\figHeight / 2}%
+ %
+ \framebox{%
+ \setlength{\unitlength}{1sp}%
+ \tiny%
+ \begin{picture}(\number\figWidth,\number\figHeight)%
+ \put(0,\number\figTabMiddle)%%
+ {%
+ \begin{tabular}{p{\the\figWidth}}%
+ \extractminiplotpath{#2} \\%%
+ \subFigScale \\%%
+ \subLabelSuffix%%
+ \end{tabular}%
+ }%
+ \end{picture}%
+ }%
+ }%
+\end{verbatim}
+
+The third and last command to determine the content of substituted figures is the one which can
+be seen in single-eps wrapped figures. Since I expect a wrapped figure rather high than wide I
+rotate the shown information by \comm{90} degrees. The information is
+
+\begin{itemize}
+ \item base name of file without path but with extension
+ \item scaling factor for this eps figure
+ \item label to this figure
+\end{itemize}
+
+\begin{verbatim}
+\newcommand{\wrappedEpsContent}[8][noPar]%
+ {%
+ \setlength{\figWidth}{#7 - \frameBoxPenalty}%
+ \setlength{\figHeight}{#8 - \frameBoxPenalty}%
+ %
+ \setlength{\figTabMiddle}{\figWidth / 2 - 6.6mm}%
+ %
+ \centerline{\framebox{%
+ %
+ \setlength{\unitlength}{1sp}%%
+ \begin{picture}(\number\figWidth,\number\figHeight)%%
+ \scriptsize%
+ \put(\number\figTabMiddle,65536)%%
+ {%
+ \rotatebox{90}{%
+ \begin{tabular}{p{\the\figHeight}}%
+ \extractminiplotpath{#3}.eps \\%%
+ #6 (scale) \\%%
+ \labelPrefix#5 \\%%
+ \end{tabular}%
+ }%
+ }%
+ \end{picture}%%
+ }}%
+ }%
+\end{verbatim}
+
+
+
+
+
+
+
+%----------------------------------------------------------------
+\section{Referencing to figures}
+
+When passing on a lebal to a MiniPlot-function or environment it is not
+necessary to write \comm{fig:} or something else. When citing the reference,
+however, one needs to write that prefix. The prefix is defined by
+
+\begin{verbatim}
+\newcommand{\labelPrefix}{fig:}
+\end{verbatim}
+
+Suppose the label given to a figure is \comm{arranged51dd} then the actual label
+assign is \comm{fig:arranged51dd} and that is what needs to be referenced to
+
+\begin{verbatim}
+... see Figure \ref{fig:arranged51dd} ...
+\end{verbatim}
+
+... see Figure \ref{fig:arranged51dd}...\smallskip
+
+Referencing to sub-sub-figures is implemented. The subfigures are labeled by, first the
+label prefix, second the base label given by the user and third the position in that specific
+sub-figure given by \comm{-a}, \comm{-b}, ... .
+
+\begin{verbatim}
+\label{\labelPrefix\myLabel-\alph{subfigure}}
+\end{verbatim}
+
+The reference can be called by simply typing
+
+\begin{verbatim}
+... see Figure \ref{fig:arranged51dd-c} ...
+\end{verbatim}
+
+... see Figure \ref{fig:arranged51dd-c}...\smallskip
+
+The format of the above reference can be changed by redefining the subfigure-packages definition.
+
+
+
+
+
+
+
+
+
+%----------------------------------------------------------------
+\section{Recommendations for working with MiniPlot}
+
+The only recommendation there is is only to set
+
+\begin{verbatim}
+\usepackage{miniplot}
+\setcounter{plotFigures}{0}
+\end{verbatim}
+
+This will display only the frameboxes of the figures and this will
+increase browsing speed through the document significantly.
+
+When implementing a figure for the first time one should use the
+\comm{\~Now}-version of the implementation command, for example
+
+\begin{verbatim}
+\includeEpsNow{...
+\end{verbatim}
+
+After the figure is set and everything works fine one should remove the
+\comm{Now} to end up with
+
+\begin{verbatim}
+\includeEps{...
+\end{verbatim}
+
+When the whole document is finished one simply sets
+
+\begin{verbatim}
+\setcounter{plotFigures}{1}
+\end{verbatim}
+
+and all the figures will be shown.
+
+Another subject regarding the subfig package is that I would suggest to use
+the following settings when implementing loads of figures in an arranged figure
+environment like Figure \ref{fig:arranged31} to \ref{fig:arranged33}.
+
+\begin{verbatim}
+\renewcommand{\subfigbottomskip}{0pt}%
+\renewcommand{\subfigcapskip}{0pt}%
+\renewcommand{\subcapsize}{\scriptsize}%
+\end{verbatim}
+
+These settings are not used in this manual.
+
+
+
+
+
+
+
+%----------------------------------------------------------------
+\section{The code}
+
+I'd like to excuse that the code is not pasted in and not explained as
+proper package writers tend to do. I just hope that the comments in
+\comm{miniplot.sty} might give some clue when trying to understand
+pieces of it.
+
+
+
+
+%----------------------------------------------------------------
+\section{Restrictions when using MiniPlot}
+
+One restriction is that the underscore \_ is not desired in the
+labels of the figures.
+
+This is due to to the fact that MiniPlot displays
+the labels and needs to find a proper way of doing this. This is done by the following
+command.
+
+\begin{verbatim}
+\newcommand{\printLabel}[1]{\centerline{
+ \small{\emph{Label}: $\mathtt{fig:#1}$}}}
+\end{verbatim}
+
+
+In mathmode the underscore has a different function and is not displayed as an underscore.
+I could imagine there is a solution like using the \verb+\let+ command
+but this goes beyond my \LaTeX \hspace{0mm} capabilities.
+
+Another restriction is that the path to an arranged figure cannot contain the \verb+\+-sign.
+This might not be a major restriction. If it is let me know.
+
+Finally, when including a \verb+\subFig[sub-sub-caption]{...+ the sub-sub-caption cannot
+be equals \comm{noParMiniPlot}. This shouldn't be too much of a problem.
+
+The number of sub-sub-figures per sub-figure is restriced by the subfigure package to maximum
+26 sub-sub-figures. If one needs to have more sub-sub-figures one can redefine
+
+\begin{verbatim}
+\def\thesubfigure{(\arabic{subfigure})}
+\renewcommand{\subLabelSuffix}{-\arabic{subfigure}}
+\end{verbatim}
+
+Then the sub-sub-figure caption and the sub-label is no more \comm{(a)}, \comm{(b)}, ... but \comm{(1)}, \comm{(2)}, ... .
+This allows for more than 26 sub-sub-figures. If one doesn't like the arabic numbering maybe
+someone can come up with an algorithm which counts up to \comm{(z)} and then starts with \comm{(aa)} and so on.
+
+
+
+%----------------------------------------------------------------
+\section{Known bugs}
+
+There is actually just one real bug known. That is that an overhang for an
+wrapped-arranged-figure cannot be applied properly.
+
+Generally bugs can please be reported to \emph{enxtw1@nottingham.ac.uk} or
+\emph{tobias\_wahl@gmx.de}.
+
+One thing is that one gets a lot of warnings about overfull hboxes. I am
+personally not really bothered but if somebody might come up with an idea
+I would be happy to implement it.
+
+There are just few awkward things about the code and maybe somebody has an idea
+how solve things. One thing is that in the following
+function the first line seemed\footnote{I have to note that this behavior happened at one point and
+does not occur annymore. So that \comm{subFigureAboveCaptionSpaceDefaultOffset}
+is set to zero. However, I decided to leave this in the code in case it might
+occur again??} to introduce a vertical length even if one
+simply writes \comm{vspace\{0pt\}\%}. Due to this strange behavior I had to
+introduce the length \comm{subFigureAboveCaptionSpaceDefaultOffset} equals
+3mm.
+
+
+\begin{verbatim}
+\newcommand{\newSubFig}[3][\subFigureAboveCaptionSpaceDefault]%
+ {%
+ \vspace{\subFigureAboveCaptionSpace}%
+ \ifthenelse{\value{plotFigures}>0}%
+ {\caption{\myCaptionText}}%
+ {\caption{\myCaptionText\printLabel{\myLabel}}}%
+ \label{\myLabel}%
+ \end{minipage}%
+ \renewcommand{\myCaptionText}{#3}%
+ \renewcommand{\myLabel}{#2}%
+ \vspace{\subFigureBelowCaptionSpace}%
+ \hspace{\interSubFigSpace}%
+ \begin{minipage}{\myStandardSubFigureWidth}%
+ \aboveCaptionSpace{#1}%
+ }%
+\end{verbatim}
+
+Furthermore, in the above command the following command is called
+
+\begin{verbatim}
+\newcommand{\aboveCaptionSpace}[1]{\setlength{\subFigureAboveCaptionSpace}
+ {#1 + \subFigureAboveCaptionSpaceDefaultOffset}}
+\end{verbatim}
+
+For some strange reason the length \comm{subFigureAboveCaptionSpace} does not
+keep its value. Maybe I need to have a look at this again.
+
+The command \comm{aboveCaptionSpace} was initially thought to be used instead of setting the
+length \comm{subFigureAboveCaptionSpace} directly.
+
+In the \verb+\subFig+ command above it was thought to be a replacement of
+
+\begin{verbatim}
+ .
+ \setlength{\subFigureAboveCaptionSpace}{2.5mm}
+\newSubFig{arranged553}{bottom}
+ \setlength{\subFigureAboveCaptionSpace}{0mm}
+ .
+\end{verbatim}
+
+by typing
+
+\begin{verbatim}
+ .
+\newSubFig[2.5mm]{arranged553}{bottom}
+ .
+\end{verbatim}
+
+However, maybe it will work one time. Until then one shouldn't use this
+optional parameter.
+
+
+\clearpage
+
+
+
+
+
+
+
+
+
+%----------------------------------------------------------------
+\section{Recources}
+
+One can obtain this and the required package from the following ftp-sites
+
+\begin{itemize}
+ \item ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/miniplot
+ \item ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/subfigure
+ \item ftp://ftp.dante.de/tex-archive/macros/latex/contrib/other/misc/wrapfig.sty
+ \item ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/rotating
+ \item ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/rotfloat
+\end{itemize}
+
+or if only the basic sty-files are needed one can obtain them from
+
+\begin{itemize}
+ \item ftp://miniplot@128.243.122.176
+\end{itemize}
+
+The required username and password is \comm{miniplot}.
+
+
+
+
+
+
+
+%----------------------------------------------------------------
+\section{List of variables, commands and environments}
+
+
+Note that only those variables, commands and environments are cited which
+are useful for the user.
+
+
+\bigskip\bigskip
+
+\underline{Counters:}
+
+\begin{verbatim}
+\setcounter{scaleToStandardFigureWidth}{1}
+\setcounter{isFirstStandardFigure}{1}
+\setcounter{scaleFigureIndividual}{1}
+\setcounter{plotFigures}{1}
+\end{verbatim}
+
+
+
+\bigskip\bigskip
+
+\underline{Lengths:}
+
+\begin{verbatim}
+\setlength{\myStandardFigureWidth}{\linewidth}
+\setlength{\myStandardSideWaysFigureWidth}{\textheight}
+
+\setlength{\captionWidthPenalty}{0mm}
+\setlength{\minimumCaptionWidth}{\linewidth * 4 / 6}
+\setlength{\minimumSideWaysCaptionWidth}{\textheight * 4 / 6}
+
+\setlength{\aboveWrapFigureSpace}{0mm}
+
+\setlength{\interSubFigSpace}{8mm}
+\setlength{\interSubSubFigSpace}{2.5mm}
+
+\setlength{\horizontalSubSubFigSpace}{-1mm}
+\setlength{\subFigureAboveCaptionSpaceDefault}{0mm}
+\setlength{\subFigureAboveCaptionSpace}{0mm}
+\setlength{\subFigureBelowCaptionSpace}{5mm}
+
+\setlength{\subFigPenalty}{0mm}
+\setlength{\subSubFigPenalty}{0.001mm}
+\setlength{\subCaptionPenalty}{0mm}
+\setlength{\frameBoxPenalty}{2.4mm}
+\setlength{\labelPenalty}{-1.5mm}
+\end{verbatim}
+
+
+
+\bigskip\bigskip
+
+\underline{Commands:}
+
+\begin{verbatim}
+\newcommand{\labelPrefix}{fig:}
+\newcommand{\subLabelSuffix}{-\alph{subfigure}}
+
+\newcommand{\isFirstSubFig}{false}
+\newcommand{\standardGraphScale}{1}
+
+\includeEps[htpb]{path}{caption}{label}{scaling}
+\includeEpsNow[htpb]{path}{caption}{label}{scaling}
+\includeSideWaysEps[htpb]{path}{caption}{label}{scaling}
+\includeSideWaysEpsNow[htpb]{path}{caption}{label}{scaling}
+
+\includeStandardGraph[htpb]{path}{caption}{label}
+\includeStandardGraphNow[htpb]{path}{caption}{label}
+\includeStandardSideWaysGraph[htpb]{path}{caption}{label}
+\includeStandardSideWaysGraphNow[htpb]{path}{caption}{label}
+
+\includeEpsWrap[narrow lines]{position}{path}{caption}{label}{scaling}
+\includeEpsWrapNow[narrow lines]{position}{path}{caption}{label}{scaling}
+
+\epsContent[placement]{path}{caption}{label}{scaling}{figure width}
+ {figure height}
+\arrangedFigContent[sub-sub-caption]{path}{figure width}{figure height}
+\wrappedEpsContent[lines]{position}{path}{caption}{label}{scaling}
+ {figure width}{figure height}
+
+\newcommand{\printLabel}[1]{\centerline{
+ \small{\emph{Label}: $\mathtt{fig:#1}$}}}
+\newSubFig[\subFigureAboveCaptionSpace]{label}{caption}
+\subFig[sub-sub-caption]{path}%
+
+\resetMiniPlot
+
+\epsContent[placement]{path}{caption}{label}{scaling}{figure width}
+ {figure height}
+\arrangedFigContent[sub-sub-caption]{path}{figure width}{figure height}
+\wrappedEpsContent[lines]{position}{path}{caption}{label}{scaling}
+ {figure width}{figure height}
+\end{verbatim}
+
+
+\bigskip\bigskip
+
+\underline{Environments:}
+
+\begin{verbatim}
+arrangedFigure[htpb]{sub-fig columns}{sub-sub-fig columns}{label}{caption}
+arrangedFigureNow[htpb]{sub-fig columns}{sub-sub-fig columns}{label}{caption}
+
+arrangedSideWaysFigure[htpb]{sub-fig columns}{sub-sub-fig columns}
+ {label}{caption}
+arrangedSideWaysFigureNow[htpb]{sub-fig columns}{sub-sub-fig columns}
+ {label}{caption}
+\end{verbatim}
+
+
+\end{document}