blob: aa1d500b17783cd4ef970df8b3178e1092057ead (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
% sidefig.sty
\RequirePackage{ifthen}
\RequirePackage{calc}
\newsavebox{\figbox}
\newlength{\leftnegwidth}
\setlength{\leftnegwidth}
{\marginparwidth+\marginparsep}
\newcommand{\@lab}{}
\newcommand{\@cap}{}
\newcommand{\@captp}{}
% \begin{sidefig}[type]{caption}{label}
% <figure> or <table>
% \end{sidefig}
\newenvironment{sidefig}[3][figure]
{ \renewcommand{\@lab}{\pageref{#3}}
\renewcommand{\@captp}{#1}
\renewcommand{\@makecaption}[2]
{\raggedright\textbf{##1}\\##2}
\renewcommand{\@cap}{\caption{#2\label{#3}}}
\begin{lrbox}{\figbox}
\begin{minipage}{\textwidth}\centering
}
% schliessender Teil
{ \end{minipage}\end{lrbox}
\@float{\@captp}
% Label schon im Hilfsfile?
\ifthenelse{\equal{\@lab}{}}
% nein, dann einfach Bild drucken
{\usebox{\figbox}}
% ja, dann gerade-ungerade-Test durchfuehren
{\ifthenelse{\isodd{\@lab}}
% ungerade Seite: Legende rechts
{\parbox{\textwidth+\leftnegwidth}
{\usebox{\figbox}
\hfil
\begin{minipage}[c]{\marginparwidth}
\@cap
\end{minipage}
}
}
% gerade Seite: Legende links
{\hspace*{-\leftnegwidth}%
\parbox{\textwidth+\leftnegwidth}
{\begin{minipage}[c]{\marginparwidth}
\@cap
\end{minipage}
\hfil
\usebox{\figbox}
}
}
}
\end@float}
|