Rhadros
08-09-2009, 16:42
Hallo zusammen,
ich würde gerne die Höhe einer Box ermitteln und versuche es mit folgendem Code:
\documentclass{scrbook}
\begin{document}
\newlength{\tempHeight}
\newsavebox{\tempSavebox}
\sbox{\tempSavebox}{\fbox{\parbox{.10\textwidth}{\ rule{1pt}{100pt}}}}
\settoheight{\tempHeight}{\usebox{\tempSavebox}}
\usebox{\tempSavebox}
\rule[-.5\tempHeight]{1pt}{\tempHeight}
\the\tempHeight
\end{document}
Nach meinem Verständnis des Codes sollte folgendes passieren: Es wird eine sbox mit Inhalt erstellt (hier ein Strich von 100pt Höhe). Dann wird die Höhe dieser Savebox mittels \settoheight ermittelt und als nächstes ein weiterer Strich neben die Box mit dieser Höhe gemalt. Testweise wird dann noch die ermittelte Höhe ausgegeben. Sollten nicht die beiden Striche gleich groß sein (bzw der äußere etwas größer wegen der Abstände und des Rahmens der umgebenen Box)?
Was mache ich falsch? Wie komme ich an die Höhe der sbox?
Vielen Dank für eure Hilfe
ich würde gerne die Höhe einer Box ermitteln und versuche es mit folgendem Code:
\documentclass{scrbook}
\begin{document}
\newlength{\tempHeight}
\newsavebox{\tempSavebox}
\sbox{\tempSavebox}{\fbox{\parbox{.10\textwidth}{\ rule{1pt}{100pt}}}}
\settoheight{\tempHeight}{\usebox{\tempSavebox}}
\usebox{\tempSavebox}
\rule[-.5\tempHeight]{1pt}{\tempHeight}
\the\tempHeight
\end{document}
Nach meinem Verständnis des Codes sollte folgendes passieren: Es wird eine sbox mit Inhalt erstellt (hier ein Strich von 100pt Höhe). Dann wird die Höhe dieser Savebox mittels \settoheight ermittelt und als nächstes ein weiterer Strich neben die Box mit dieser Höhe gemalt. Testweise wird dann noch die ermittelte Höhe ausgegeben. Sollten nicht die beiden Striche gleich groß sein (bzw der äußere etwas größer wegen der Abstände und des Rahmens der umgebenen Box)?
Was mache ich falsch? Wie komme ich an die Höhe der sbox?
Vielen Dank für eure Hilfe