Zeilenumbruch bei \framebox in picture-Umgebung

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Zeilenumbruch bei \framebox in picture-Umgebung

von meep.meep » Do 27. Jan 2011, 10:47

Vielen Dank für eure Hilfe! :)

Ich habe jetzt mit Herberts Lösung gearbeitet, da ich ehrlich gesagt, direkt nach unten gescrollt habe und erst später gesehen habe, dass es tatsächlich zwei Vorschläge gab.

Hab jetzt eine richtig schöne Abbildung, also nochmal Danke! :)

von CrazyHorse » Do 27. Jan 2011, 09:44

meep.meep hat geschrieben:Ich denke, ich brauche statt parbox eine Box, die genau der darin enthaltenen Textbreite entspricht und Zeilenumrüche erlaubt?! Oder gibt es weitere Möglichkeiten?
\documentclass[12pt]{scrartcl}      

\begin{document}

\unitlength 5mm
\begin{picture}(5,15)
\put(0,0) {\framebox(6,3){Beispiel}}
\put(8,0){\framebox(6,3){\centering\tabular{@{}l@{}}sehr langes\\ Beispiel\endtabular}}
\put(16,0){\framebox(6,3){Beispiel}}
\put(24,0) {\framebox(6,3){Beispiel}}
\end{picture}

\end{document}
Herbert

von CollmDante » Do 27. Jan 2011, 07:44

In solchen Fällen verwende ich eine Hilfslänge, die ich mit dem Befehl \settowidth auf die Länge der längsten Zeile setze. Sicher könnte man das elegant in einen neuen Befehl umsetzen, dazu fehlte mir aber bisher die Zeit.
\documentclass[ngerman,12pt]{scrartcl}       
\usepackage{babel}
\begin{document} 
\unitlength 5mm
\newlength{\parboxwidthtmp} %Hilfslänge für parbox
\begin{picture}(5,15) 
\put(0,0) {\framebox(6,3){Beispiel}} 
\put(8,0){\framebox(6,3){\settowidth{\parboxwidthtmp}{sehr langes}\parbox{\parboxwidthtmp}{{sehr langes\\ Beispiel}}}} 
\put(16,0){\framebox(6,3){Beispiel}} 
\put(24,0) {\framebox(6,3){Beispiel}} 
\end{picture} 
\end{document} 

Gruß
Jens

von meep.meep » Mi 26. Jan 2011, 23:44

Hallo Herbert,

Danke schonmal für deinen schnellen Lösungsvorschlag.

Ich habe den Code jetzt wie folgt abgewandelt:
\documentclass[12pt]{scrartcl}       

\begin{document} 

\unitlength 5mm 
\begin{picture}(5,15) 
\put(0,0) {\framebox(6,3){Beispiel}} 
\put(8,0){\framebox(6,3){\parbox[c]{30mm}{sehr langes\\ Beispiel}}}
\put(16,0){\framebox(6,3){Beispiel}} 

%\put(8,0){\framebox(6,3){\parbox[c]{20mm}{sehr langes\\ Beispiel}}}
%\put(16,0){\framebox(6,3){\parbox[c]{20mm}{sehr \\ Beispiel}}}

\put(24,0) {\framebox(6,3){Beispiel}} 

\end{picture} 
\end{document}
Jetzt tritt allerdings das Problem auf, das der Text nicht horizontal zentriert ist. Ich hätte den Text gerne so wie er ist, in sich selbst linksbündig, aber im Bezug auf die framebox mittig. Ich kann natürlich am Längenmaß von parbox spielen, aber dann muss ich das wieder für jede Box einzeln nach Textlänge anpassen (siehe auskommentierten Code). Dabei hatte ich das Längenmaß von parbox extra so gewählt, dass es der Breite von framebox entspricht, weil ich dachte, das bringt mir das gewünschte Ergebnis.

Ich denke, ich brauche statt parbox eine Box, die genau der darin enthaltenen Textbreite entspricht und Zeilenumrüche erlaubt?! Oder gibt es weitere Möglichkeiten?

Beste Grüße, Anja

Re: Zeilenumbruch bei \framebox in picture-Umgebung

von CrazyHorse » Mi 26. Jan 2011, 23:08

meep.meep hat geschrieben:
\put(8,0) {\parbox{30mm}{sehr langes Beispiel}}
Befehl arbeite, ist der Text leider nicht vertikal zentriert im Bezug zur framebox. Natürlich kann ich so lange an den Parametern rumspielen, bis es passt, aber da ich das Ganze bei vielen Boxen machen muss, suche ich nach einer allgemeineren Lösung.
\put(8,0){\framebox(6,3){\parbox[c]{30mm}{sehr langes Beispiel}}}

Herbert

Zeilenumbruch bei \framebox in picture-Umgebung

von meep.meep » Mi 26. Jan 2011, 22:23

Hallo zusammen,

ich bastele gerade an einer Abbildung mit Hilfe der picture-Umgebung. Mein Minimalbeispiel lautet wie folgt:
\documentclass[12pt]{scrartcl}		

\begin{document}

\unitlength 5mm
\begin{picture}(5,15)
\put(0,0) {\framebox(6,3){Beispiel}}
\put(8,0) {\framebox(6,3){sehr langes Beispiel}}
\put(16,0){\framebox(6,3){Beispiel}}
\put(24,0) {\framebox(6,3){Beispiel}}

\end{picture}
\end{document}
Nun hätte ich gerne in der zweiten Box einen Zeilenumbruch. Wie mache ich das wohl am elegantesten?

Wenn ich zusätzlich mit einem
\put(8,0) {\parbox{30mm}{sehr langes Beispiel}}
Befehl arbeite, ist der Text leider nicht vertikal zentriert im Bezug zur framebox. Natürlich kann ich so lange an den Parametern rumspielen, bis es passt, aber da ich das Ganze bei vielen Boxen machen muss, suche ich nach einer allgemeineren Lösung.

Besten Dank im voraus,

Anja[/code]

Nach oben