Re: Breite von Satzobjekten bestimmen
"Uwe Ziegenhagen" (via tex-d-l Mailing List) <[email protected]> Sun, 5 Apr 2026 17:41:59 +0200
| Newsgroups | gmane.comp.tex.german |
|---|---|
| Message-ID | <CAML7JCgGFLaHYmUSyUsbAuO0K8og4Wf6GNPUK49jwxrAtDp_cw@mail.gmail.com> |
This is a multi-part message in MIME format... ------------=_1775403821-65811-22 Content-Type: multipart/alternative; boundary="000000000000311eca064eb8665b" --000000000000311eca064eb8665b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hilft dir das vielleicht? https://tex.stackexchange.com/questions/359585/what-unit-of-measurement-is-= widthof-using \widthof klingt irgendwie danach. Uwe Am So., 5. Apr. 2026 um 12:39 Uhr schrieb Dirk H=C3=BCnniger < [email protected]>: > Hallo Jakob, > > Vielen Dank f=C3=BCr deinen Hinweis auf das Wort umbrechen. Davon hatte i= ch > noch nie geh=C3=B6rt. Bei der Sache mit tabularx bin ich leider nicht wei= ter > gekommen. So wie ich das verstehe werden zuerst die Breiten aller > Spalten, die kein X haben, berechnet und diese Summe wird dann von der > vorgegebenen Maximalbreite abgezogen und das Ergebnis durch die Anzahl > Spalten mit X geteilt und dann wird dieser Wert als Spaltenbreite der > Spalten mit X festgelegt. Leider kann ich aber dadurch auch nicht die > unten erkl=C3=A4rte Minimalbreite eines Satzobjekts bestimmen. Folgendes > Minimalbeispiel > > \documentclass{article} > \usepackage{tabularx} > \begin{document} > \newsavebox{\mybox}\sbox{\mybox}{\begin{tabularx}{13pt}{|X|} > $\begin{array}{cc}a&b\end{array}$ > \end{tabularx}}\the\wd\mybox{} > \end{document} > > Liefert immer noch die Ausgabe 13.0 pt. Ich will halt herausfinden wie > breit ein Satzobjekt minimal seien muss egal wie h=C3=A4ufig es umbrochen= wird. > > Viele Gr=C3=BC=C3=9Fe Dirk > > On 4/4/26 21:42, Jakob Mendel (via tex-d-l Mailing List) wrote: > > Hallo Dirk, > > > > sieh Dir mal das Paket tabularx an. Es stellt den Spaltentyp X > > bereit, der eine Erweiterung des Spaltentyps p ist und tun sollte, was > > Dir vorschwebt. > > > > Viel Erfolg > > Jakob > > > > P. S. M. W. hei=C3=9Ft das Verb zu "Umbruch" "umbrechen" (Betonung auf = der > > zweiten Silbe) mit den Formen "zu umbrechen" und "umbrochen werden". > > Man will ja keinen Zaun umbrechen (Betonung auf der ersten Silbe), > > damit er flach auf der Erde liegt. > > > > > > Am 04.04.26 um 13:07 schrieb Dirk H=C3=BCnniger (via tex-d-l Mailing Li= st): > >> Hallo, > >> > >> ich mache mir derzeit wieder Gedanken zum Tabellensatz in LaTeX. Ziel > >> ist es die optimalen Breiten der Spalten einer Tabelle algorithmisch > >> zu bestimmen. Hierzu kann es erforderlich sein den Text innerhalb > >> einer Tabellenzelle umzubrechen. Hierf=C3=BCr kenne ich nur die > >> M=C3=B6glichkeit das mit einer Direktive der Form p{1cm} o.=C3=A4. im > >> Tabellenkopf zu fordern. Zu bestimmen ist also was ich anstelle von > >> 1cm hinschreiben soll. Mir ist aufgefallen das bestimmte Satzobjekte > >> nicht umgebrochen werden k=C3=B6nnen. Beispiel (a) hierzu: > >> > >> $\begin{array}{cc}a&b\end{array}$ > >> > >> Andere jedoch schon. Beispiel (b) hierzu: > >> > >> a b c d > >> > >> Mein Ziel ist nun in einem Programm diese beiden F=C3=A4lle erkennen u= nd > >> unterscheiden zu k=C3=B6nnen. Konkret will ich f=C3=BCr jedes Satzobje= kt > >> bestimmen wie breit es minimal sein muss. Minimal bedeutet dabei das > >> es so h=C3=A4ufig als m=C3=B6glich umgebrochen wird um eine m=C3=B6gli= chst geringe > >> Breite zu erhalten. In Beispiel (b) erreiche ich diese mit folgendem > >> Code: > >> > >> \documentclass{article} > >> \begin{document} > >> \newsavebox{\mybox}\sbox{\mybox}{\begin{tabular}{|p{1pt}|} > >> a b c d > >> \end{tabular}}\the\wd\mybox{} > >> \end{document} > >> > >> Die Ausgabe ist 13.0pt > >> > >> Die analoge Konstruktion f=C3=BCr Beispiel (a) w=C3=A4re dann: > >> > >> \documentclass{article} > >> \begin{document} > >> \newsavebox{\mybox}\sbox{\mybox}{\begin{tabular}{|p{1pt}|} > >> $\begin{array}{cc}a&b\end{array}$ > >> \end{tabular}}\the\wd\mybox{} > >> \end{document} > >> > >> Die Ausgabe ist wiederum 13.0pt. Hier schreibt LaTeX nach rechts =C3= =BCber > >> den Rand hinaus, so dass die Ausgabe kleiner ist als der tats=C3=A4chl= ich > >> ben=C3=B6tigt Platz. Gibt eine M=C3=B6glichkeit um die oben erkl=C3=A4= rte minimale > >> Breite eines Satzobjektes zu bestimmen? > >> > >> Viele Gr=C3=BC=C3=9Fe Dirk > >> > >> > >> > > > > > > > > -- > FAQ: http://texfragen.de/ > Durchsuchbares Archiv: https://www.listserv.dfn.de/sympa/arc/tex-d-l > Unsubscribe/Verwaltung: https://www.listserv.dfn.de/sympa/info/tex-d-l --=20 Dr. Uwe Ziegenhagen 0179-7476050 <http://www.uweziegenhagen.de> --000000000000311eca064eb8665b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:times ne= w roman,serif">Hilft dir das vielleicht?</div><div class=3D"gmail_default" = style=3D"font-family:times new roman,serif"><br></div><div class=3D"gmail_d= efault" style=3D"font-family:times new roman,serif"><a href=3D"https://tex.= stackexchange.com/questions/359585/what-unit-of-measurement-is-widthof-usin= g">https://tex.stackexchange.com/questions/359585/what-unit-of-measurement-= is-widthof-using</a></div><div class=3D"gmail_default" style=3D"font-family= :times new roman,serif"><br></div><div class=3D"gmail_default" style=3D"fon= t-family:times new roman,serif">\widthof klingt irgendwie danach.</div><div= class=3D"gmail_default" style=3D"font-family:times new roman,serif"><br></= div><div class=3D"gmail_default" style=3D"font-family:times new roman,serif= ">Uwe</div></div><br><div class=3D"gmail_quote gmail_quote_container"><div = dir=3D"ltr" class=3D"gmail_attr">Am So., 5. Apr. 2026 um 12:39=C2=A0Uhr sch= rieb Dirk H=C3=BCnniger <<a href=3D"mailto:[email protected]">tex-= [email protected]</a>>:<br></div><blockquote class=3D"gmail_quote" sty= le=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);paddi= ng-left:1ex">Hallo Jakob,<br> <br> Vielen Dank f=C3=BCr deinen Hinweis auf das Wort umbrechen. Davon hatte ich= <br> noch nie geh=C3=B6rt. Bei der Sache mit tabularx bin ich leider nicht weite= r <br> gekommen. So wie ich das verstehe werden zuerst die Breiten aller <br> Spalten, die kein X haben,=C2=A0 berechnet und diese Summe wird dann von de= r <br> vorgegebenen Maximalbreite abgezogen und das Ergebnis durch die Anzahl <br> Spalten mit X geteilt und dann wird dieser Wert als Spaltenbreite der <br> Spalten mit X festgelegt. Leider kann ich aber dadurch auch nicht die <br> unten erkl=C3=A4rte Minimalbreite eines Satzobjekts bestimmen. Folgendes <b= r> Minimalbeispiel<br> <br> \documentclass{article}<br> \usepackage{tabularx}<br> \begin{document}<br> \newsavebox{\mybox}\sbox{\mybox}{\begin{tabularx}{13pt}{|X|}<br> $\begin{array}{cc}a&b\end{array}$<br> \end{tabularx}}\the\wd\mybox{}<br> \end{document}<br> <br> Liefert immer noch die Ausgabe 13.0 pt. Ich will halt herausfinden wie <br> breit ein Satzobjekt minimal seien muss egal wie h=C3=A4ufig es umbrochen w= ird.<br> <br> Viele Gr=C3=BC=C3=9Fe Dirk<br> <br> On 4/4/26 21:42, Jakob Mendel (via tex-d-l Mailing List) wrote:<br> > Hallo Dirk,<br> ><br> > sieh Dir mal das Paket tabularx an.=C2=A0 Es stellt den Spaltentyp X <= br> > bereit, der eine Erweiterung des Spaltentyps p ist und tun sollte, was= <br> > Dir vorschwebt.<br> ><br> > Viel Erfolg<br> > Jakob<br> ><br> > P. S. M. W. hei=C3=9Ft das Verb zu "Umbruch" "umbrechen= " (Betonung auf der <br> > zweiten Silbe) mit den Formen "zu umbrechen" und "umbro= chen werden". <br> > Man will ja keinen Zaun umbrechen (Betonung auf der ersten Silbe), <br> > damit er flach auf der Erde liegt.<br> ><br> ><br> > Am 04.04.26 um 13:07 schrieb Dirk H=C3=BCnniger (via tex-d-l Mailing L= ist):<br> >> Hallo,<br> >><br> >> ich mache mir derzeit wieder Gedanken zum Tabellensatz in LaTeX. Z= iel <br> >> ist es die optimalen Breiten der Spalten einer Tabelle algorithmis= ch <br> >> zu bestimmen. Hierzu kann es erforderlich sein den Text innerhalb = <br> >> einer Tabellenzelle umzubrechen. Hierf=C3=BCr kenne ich nur die <b= r> >> M=C3=B6glichkeit das mit einer Direktive der Form p{1cm} o.=C3=A4.= im <br> >> Tabellenkopf zu fordern. Zu bestimmen ist also was ich anstelle vo= n <br> >> 1cm hinschreiben soll. Mir ist aufgefallen das bestimmte Satzobjek= te <br> >> nicht umgebrochen werden k=C3=B6nnen. Beispiel (a) hierzu:<br> >><br> >> =C2=A0=C2=A0$\begin{array}{cc}a&b\end{array}$<br> >><br> >> Andere jedoch schon. Beispiel (b) hierzu:<br> >><br> >> a b c d<br> >><br> >> Mein Ziel ist nun in einem Programm diese beiden F=C3=A4lle erkenn= en und <br> >> unterscheiden zu k=C3=B6nnen. Konkret will ich f=C3=BCr jedes Satz= objekt <br> >> bestimmen wie breit es minimal sein muss. Minimal bedeutet dabei d= as <br> >> es so h=C3=A4ufig als m=C3=B6glich umgebrochen wird um eine m=C3= =B6glichst geringe <br> >> Breite zu erhalten. In Beispiel (b) erreiche ich diese mit folgend= em <br> >> Code:<br> >><br> >> \documentclass{article}<br> >> \begin{document}<br> >> \newsavebox{\mybox}\sbox{\mybox}{\begin{tabular}{|p{1pt}|}<br> >> a b c d<br> >> \end{tabular}}\the\wd\mybox{}<br> >> \end{document}<br> >><br> >> Die Ausgabe ist 13.0pt<br> >><br> >> Die analoge Konstruktion f=C3=BCr Beispiel (a) w=C3=A4re dann:<br> >><br> >> \documentclass{article}<br> >> \begin{document}<br> >> \newsavebox{\mybox}\sbox{\mybox}{\begin{tabular}{|p{1pt}|}<br> >> $\begin{array}{cc}a&b\end{array}$<br> >> \end{tabular}}\the\wd\mybox{}<br> >> \end{document}<br> >><br> >> Die Ausgabe ist wiederum 13.0pt. Hier schreibt LaTeX nach rechts = =C3=BCber <br> >> den Rand hinaus, so dass die Ausgabe kleiner ist als der tats=C3= =A4chlich <br> >> ben=C3=B6tigt Platz. Gibt eine M=C3=B6glichkeit um die oben erkl= =C3=A4rte minimale <br> >> Breite eines Satzobjektes zu bestimmen?<br> >><br> >> Viele Gr=C3=BC=C3=9Fe Dirk<br> >><br> >><br> >><br> ><br> ><br> ><br> <br> -- <br> FAQ: <a href=3D"http://texfragen.de/" rel=3D"noreferrer" target=3D"_blank">= http://texfragen.de/</a><br> Durchsuchbares Archiv: <a href=3D"https://www.listserv.dfn.de/sympa/arc/tex= -d-l" rel=3D"noreferrer" target=3D"_blank">https://www.listserv.dfn.de/symp= a/arc/tex-d-l</a> <br> Unsubscribe/Verwaltung: <a href=3D"https://www.listserv.dfn.de/sympa/info/t= ex-d-l" rel=3D"noreferrer" target=3D"_blank">https://www.listserv.dfn.de/sy= mpa/info/tex-d-l</a></blockquote></div><div><br clear=3D"all"></div><br><sp= an class=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D= "gmail_signature"><div dir=3D"ltr"><div>Dr. Uwe Ziegenhagen</div><div>0179-= 7476050<br><<a href=3D"http://www.uweziegenhagen.de" target=3D"_blank">h= ttp://www.uweziegenhagen.de</a>></div></div></div> --000000000000311eca064eb8665b-- ------------=_1775403821-65811-22 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- FAQ: http://texfragen.de/ Durchsuchbares Archiv: https://www.listserv.dfn.de/sympa/arc/tex-d-l Unsubscribe/Verwaltung: https://www.listserv.dfn.de/sympa/info/tex-d-l ------------=_1775403821-65811-22--