Archiv verlassen und diese Seite im Standarddesign anzeigen : Text ausrichten an horizontaler Achse eines Quadrats
Hallo,
ich möchte in der Linken Hälfte Quadrate verschiedener Kantenlängen setzen, vertikal untereinander. Die vertikalen Symmetrieachsen aller dieser Quadrate liegen auf einer Geraden. Das klappt auch.
Rechts neben jedes Quadrat möchte ich einen kurzen Text unterschiedlicher Schriftgröße schreiben. Dabei kommt es mir darauf an, dass der jeweilige Text auf der waagrechten Symmetrieachse seines links neben ihm stehenden Quadrats ausgerichtet ist. Damit habe ich Probleme.
Anbei mein MB (als "TextQ.txt", bei dem ich sehr viel ausprobiert habe, aber nicht weiterkomme. Interessanterweise ist der Text des ersten Quadrats wie gewünscht auf dessen waagrechter Symmetrieachse, die Texte der anderen Quadrate trotz formal identischer Übereinstimmungen in den Parametern jedoch nicht.
Wer kann mir bitte weiterhelfen und eine Lösung anbieten?
Danke im voraus
Gruss
Dieter
u_fischer
07-07-2009, 10:07
Nun ein Fehler ist schon mal, dass die picture-Umgebungen anders relativ zur Grundlinie liegen:
\documentclass{scrbook}
\setlength{\unitlength}{10mm}
\begin{document}
x1\begin{picture}(4,4)(0,0)
\thinlines
\put(0,0){\line(1,0){4}}
\put(0,4){\line(1,0){4}}
\put(0,4){\line(0,-1){4}}
\put(4,4){\line(0,-1){4}}
\end{picture}
\bigskip
x2\begin{picture}(2,2)(-1,1)
\thinlines
\put(0,0){\line(1,0){2}}
\put(0,2){\line(1,0){2}}
\put(0,2){\line(0,-1){2}}
\put(2,2){\line(0,-1){2}}
\end{picture}
\end{document}
Zweitens übertreibst du es mit den Boxen. Z.B.
\begin{minipage}[t]{\lenTmpC}
\usebox{\tmpBoxC}
\end{minipage}
Was soll die minipage hier? \tmpboxC enthält doch bereits \begin{minipage}{\lenTmpC} und das unterschiedliche Positionsargument kann ja nur dein Leben verkomplizieren.
Drittens schlage ich dir für dein Quadrat sowas vor:
\documentclass{scrbook}
\newcommand\meinQuadrat[1]{%
\begingroup
\fboxsep0pt
\makebox[0.45\textwidth]{%
\raisebox{-0.5\height}{%
\framebox[#1]{\rule{0pt}{#1}}}}%
\endgroup}
\begin{document}
x\meinQuadrat{40mm}
x\meinQuadrat{20mm}
\end{document}
Und viertens: wenn man Boxen schachtelt empfiehlt es sich Buchstaben wie bei mir das x einzustreuen, damit man sieht, wo in der Box jeweils die Grundlinie ist.
Ulrike fischer
Ulrike,
danke für Deinen Lösungsvorschlag. Beim Ausprobieren erhalte ich folgende Fehlermeldung:
! Missing number; treated as zero.
<to be read again>
\color@endgroup
I.10 x\meinQuadrat{40mm}
Ich weiss nicht, an welcher Stelle er eine Zahl (als Parameter) erwartet.
Kannst Du mir bitte einen Tipp geben?
Danke
Gruss
Dieter
u_fischer
07-07-2009, 12:35
Also bei mir funktioniert mein Beispiel tadellos, sowohl mit pdflatex als auch mit latex.
Ersetze mal scrbook mit book. Wenn dann der Fehler verschwindet, füge mal \listfiles ein (und benutze wieder scrbook) und vergleiche deine Versionen mit meinen
*File List*
scrbook.cls 2009/04/03 v3.03a KOMA-Script document class (book)
scrkbase.sty 2009/04/03 v3.03a KOMA-Script package (KOMA-Script-dependent ba
sics and keyval usage)
scrbase.sty 2009/04/03 v3.03a KOMA-Script package (KOMA-Script-independent
basics and keyval usage)
keyval.sty 1999/03/16 v1.13 key=value parser (DPC)
scrlfile.sty 2009/03/25 v3.03 KOMA-Script package (loading files)
tocbasic.sty 2009/01/20 v3.02a(package)
scrsize11pt.clo 2009/04/03 v3.03a KOMA-Script font size class option (11pt)
typearea.sty 2009/04/03 v3.03a KOMA-Script package (type area)
Wenn der Fehler auch mit book auftritt, sende die log-Datei.
Ulrike Fischer
Ulrike,
anbei eine ZIP-Datei mit allen benötigten Dateien.
Danke
Gruss
Dieter
Moin moin,
Du hast Ulrikes Code nicht 1:1 kopiert:
\documentclass{scrbook}
\listfiles
\newcommand\meinQuadrat[1]{%
\begingroup
\fboxsep0pt
\makebox[0.45\textwidth]{%
\raisebox{-0.5\height}{%
\framebox[#1]{\rule{0pt}{#1}}}}%<--
\endgroup}
\begin{document}
x\meinQuadrat{40mm}
x\meinQuadrat{20mm}
\end{document}
MfG
u_fischer
07-07-2009, 13:50
Du hast das zweite Argument von \rule vergessen:
\rule{0pt}{#1}
Ulrike Fischer
Hallo Ulrike,
hallo Rainer,
danke für euren Hinweis. Das Beispiel funktioniert.
Man soll halt ein Beispiel nicht abtippen, sondern über USB-Stick übernehmen. ;)
(Ich darf mit meinem privaten Notebook nicht ins Firmennetz)
Gruss
Dieter
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.