summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/oberdiek/hypcap.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-13 00:01:05 +0000
committerKarl Berry <karl@freefriends.org>2006-01-13 00:01:05 +0000
commit7dc48e4d760aa8e703387e96794effaad3c24a78 (patch)
tree7d99efb2359a56ffe56c80d6c2192ffcc41e2d92 /Master/texmf-dist/tex/latex/oberdiek/hypcap.sty
parentfd257bd5c75a905dfa0ca6e3e507d9ed29338e1f (diff)
oberdiek
git-svn-id: svn://tug.org/texlive/trunk@1150 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/oberdiek/hypcap.sty')
-rw-r--r--Master/texmf-dist/tex/latex/oberdiek/hypcap.sty125
1 files changed, 125 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/oberdiek/hypcap.sty b/Master/texmf-dist/tex/latex/oberdiek/hypcap.sty
new file mode 100644
index 00000000000..641c2dbc349
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/oberdiek/hypcap.sty
@@ -0,0 +1,125 @@
+%%
+%% This is file `hypcap.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hypcap.dtx (with options: `package')
+%%
+%% This file is part of the package `hypcap' for use with LaTeX2e.
+%%
+%% Function: Adjusting anchors of captions.
+%%
+%% Copyright (C) 1999-2001 Heiko Oberdiek.
+%%
+%% This program may be distributed and/or modified under
+%% the conditions 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/12/01 or later.
+%%
+%% Please send error reports and suggestions for improvements to
+%% Heiko Oberdiek <oberdiek@uni-freiburg.de>.
+%%
+\ProvidesPackage{hypcap}
+ [2001/08/27 v1.3 Adjusting anchors of captions (HO)]
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\@ifundefined{hyper@@anchor}{%
+ \PackageError{hypcap}{You have to load 'hyperref' first}\@ehc
+ \endinput
+}{}
+\newcommand*\hc@org@caption{}
+\let\hc@org@caption\caption
+\newif\if@capstart
+\newcommand*\hypcapspace{.5\baselineskip}
+\newcommand*\capstart{%
+ \H@refstepcounter\@captype % first part of caption
+ \hyper@makecurrent\@captype
+ \vspace*{-\hypcapspace}%
+ \begingroup
+ \let\leavevmode\relax
+ \hyper@@anchor\@currentHref\relax
+ \endgroup
+ \vspace*{\hypcapspace}%
+ \let\caption\hc@caption
+ \global\@capstarttrue
+}
+\def\hc@caption{%
+ \@dblarg{\hc@@caption\@captype}%
+}
+\long\def\hc@@caption#1[#2]#3{%
+ \let\caption\hc@org@caption
+ \global\@capstartfalse
+ \hyper@makecurrent\@captype
+ \par\addcontentsline{%
+ \csname ext@#1\endcsname}{#1}{%
+ \protect\numberline{%
+ \csname the#1\endcsname
+ }{\ignorespaces #2}%
+ }%
+ \begingroup
+ \@parboxrestore
+ \normalsize
+ \@makecaption{\csname fnum@#1\endcsname}{%
+ \ignorespaces#3%
+ }%
+ \par
+ \endgroup
+}
+\def\hypcapredef#1{%
+ \expandafter\hc@redef\csname hc@org#1\expandafter\endcsname
+ \csname hc@orgend#1\expandafter\endcsname
+ \expandafter{#1}%
+}
+\def\hc@redef#1#2#3{%
+ \newcommand#1{}%
+ \expandafter\let\expandafter#1\csname#3\endcsname
+ \expandafter\let\expandafter#2\csname end#3\endcsname
+ \renewenvironment*{#3}[1][]{%
+ \ifx\\##1\\%
+ #1\relax
+ \else
+ #1[##1]%
+ \fi
+ \capstart
+ }{%
+ \if@capstart
+ \PackageError{hypcap}{You have forgotten to use \string\caption}%
+ \global\@capstartfalse
+ \else
+ \fi
+ #2%
+ }%
+}
+\DeclareOption{figure}{\hypcapredef{\CurrentOption}}
+\DeclareOption{figure*}{\hypcapredef{\CurrentOption}}
+\DeclareOption{table}{\hypcapredef{\CurrentOption}}
+\DeclareOption{table*}{\hypcapredef{\CurrentOption}}
+\DeclareOption{all}{%
+ \hypcapredef{figure}%
+ \hypcapredef{figure*}%
+ \hypcapredef{table}%
+ \hypcapredef{table*}%
+}
+\ProcessOptions\relax
+\endinput
+%%
+%% End of file `hypcap.sty'.