diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/oberdiek/settobox.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/oberdiek/settobox.sty | 124 |
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'. |