summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/oberdiek/settobox.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-08-27 22:38:54 +0000
committerKarl Berry <karl@freefriends.org>2006-08-27 22:38:54 +0000
commit2607d53137ede06e9780342b225218743e100bb4 (patch)
treec6c88c805dd21a5bbb6ad6f26d3d53c517f4b866 /Master/texmf-dist/tex/latex/oberdiek/settobox.sty
parentfb0d58de45c0fc32bab09a839c186de46f75628e (diff)
oberdiek update from tds zip (28aug06)
git-svn-id: svn://tug.org/texlive/trunk@2054 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/oberdiek/settobox.sty')
-rw-r--r--Master/texmf-dist/tex/latex/oberdiek/settobox.sty124
1 files changed, 79 insertions, 45 deletions
diff --git a/Master/texmf-dist/tex/latex/oberdiek/settobox.sty b/Master/texmf-dist/tex/latex/oberdiek/settobox.sty
index 5e46a1941b8..8efa8fa4725 100644
--- a/Master/texmf-dist/tex/latex/oberdiek/settobox.sty
+++ b/Master/texmf-dist/tex/latex/oberdiek/settobox.sty
@@ -1,48 +1,35 @@
-% File: settobox.sty
-% Version: 2000/09/07 v1.1
-% Author: Heiko Oberdiek <oberdiek@ruf.uni-freiburg.de>
-%
-% Function: Command for getting box sizes.
-%
-% Copyright: Copyright (C) 2000 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.
-%
-% Use:
-% For easier reusing of boxes, that can be saved
-% with `\sbox' or environment `lrbox' commands
-% are defined similar to \settowidth ...
-% \settoboxwidth
-% \settoboxheight
-% \settoboxdepth
-% \settoboxtotalheight
-% They all take two arguments:
-% \settobox...{<LaTeX length>}{<LaTeX box name>}
-%
-% Example:
-% \newsavebox{\mybox}
-% \newlength{\mylength}
-% \sbox{\mybox}{Hello World}
-% \settoboxwidth{\mylength}{\mybox}
-%
-% History:
-% 2000/02/11 v1.0:
-% * First public release, written as answer in the
-% newsgroup `de.comp.text.tex' in the thread
-% `Die Hoehe von Minipages und Bild', date: 2000/02/11.
-% 2000/09/07 v1.1:
-% * Documentation added.
-% * CTAN release.
-%
-\NeedsTeXFormat{LaTeX2e}%
-\ProvidesPackage{settobox}[2000/09/07 v1.1 Getting box sizes (HO)]
+%%
+%% This is file `settobox.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% settobox.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2000, 2006 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 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.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Heiko Oberdiek.
+%%
+%% This work consists of the main source file settobox.dtx
+%% and the derived files
+%% settobox.sty, settobox.pdf, settobox.ins, settobox.drv,
+%% settobox-example.tex.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{settobox}%
+ [2006/02/20 v1.2 Getting box sizes (HO)]
\newcommand*{\settoboxwidth}[2]{\setlength{#1}{\wd#2}}
\newcommand*{\settoboxheight}[2]{\setlength{#1}{\ht#2}}
\newcommand*{\settoboxdepth}[2]{\setlength{#1}{\dp#2}}
@@ -50,4 +37,51 @@
\setlength{#1}{\ht#2}%
\addtolength{#1}{\dp#2}%
}
+\newcommand*{\setboxwidth}[2]{%
+ \settobox@length\wd{#1}{#2}%
+}
+\newcommand*{\setboxheight}[2]{%
+ \settobox@length\ht{#1}{#2}%
+}
+\newcommand*{\setboxdepth}[2]{%
+ \settobox@length\dp{#1}{#2}%
+}
+\newcommand*{\setboxmoveleft}[2]{%
+ \settobox@horiz{-}{#1}{#2}%
+}
+\newcommand*{\setboxmoveright}[2]{%
+ \settobox@horiz{}{#1}{#2}%
+}
+\newcommand*{\setboxlower}[2]{%
+ \settobox@vert\lower{#1}{#2}%
+}
+\newcommand*{\setboxraise}[2]{%
+ \settobox@vert\raise{#1}{#2}%
+}
+\def\settobox@length#1#2#3{%
+ \settobox@calc{#2}{#3}{#1#2=##1sp\relax}%
+}
+\def\settobox@horiz#1#2#3{%
+ \settobox@calc{#2}{#3}{\setbox#2=\hbox{\kern#1##1sp\copy#2}}%
+}
+\def\settobox@vert#1#2#3{%
+ \settobox@calc{#2}{#3}{\setbox#2=\hbox{#1##1sp\copy#2}}%
+}
+\def\settobox@calc#1#2#3{%
+ \begingroup
+ \def\width{\wd#1}%
+ \def\height{\ht#1}%
+ \def\depth{\dp#1}%
+ \dimen@\ht#1\relax
+ \advance\dimen@\dp#1\relax
+ \def\totalheight{\dimen@}%
+ \setlength{\dimen@}{#2}%
+ \count@\dimen@
+ \def\x##1{\endgroup
+ #3%
+ }%
+ \expandafter\x\expandafter{\the\count@}%
+}
\endinput
+%%
+%% End of file `settobox.sty'.