Re: Breite von Satzobjekten bestimmen

"Uwe Ziegenhagen" (via tex-d-l Mailing List) <[email protected]> Mon, 6 Apr 2026 13:31:32 +0200
Newsgroups gmane.comp.tex.german
Message-ID <CAML7JCj0en-SMbg7YS5i62jGZ3fDYkBJQzfzOCfZ4eZ_MQq8pQ@mail.gmail.com>
This is a multi-part message in MIME format...

------------=_1775475196-61472-52
Content-Type: multipart/alternative; boundary="0000000000004249b3064ec904c0"

--0000000000004249b3064ec904c0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Ich bin mir nicht sicher, ob es das nicht mitbekommt. Im Log deines
Beispiels steht:

Overfull \hbox (28.57755pt too wide) in paragraph at lines 6--6

[]$[]$|


Passe ich das entsprechend an, dann gibt es diese Meldung nicht mehr:


\documentclass{article}

\newlength{\ml}

\begin{document}

\settowidth{\ml}{\begin{tabular}{|p{30pt}|}

$\begin{array}{cc}a&b\end{array}$

\end{tabular}}\the\ml

\end{document}


Aber viel Ahnung hab ich nicht davon.


Uwe


Am Mo., 6. Apr. 2026 um 12:39 Uhr schrieb Dirk H=C3=BCnniger <
[email protected]>:

> Hallo Uwe,
>
> ich habe deine Idee mal ausprobiert und folgendes Minimalbeispiel
> konstruiert:
>
> \documentclass{article}
> \newlength{\ml}
> \begin{document}
> \settowidth{\ml}{\begin{tabular}{|p{1pt}|}
> $\begin{array}{cc}a&b\end{array}$
> \end{tabular}}\the\ml
> \end{document}
>
> Ausgabe ist immer noch 13pt. Das Problem scheint zu sein das LaTeX =C3=BC=
ber
> den rechten Rand hinaus schreibt und es irgendwie selbst nicht mitbekommt,
> dass es das getan hat.
>
> Viele Gr=C3=BC=C3=9Fe Dirk
> On 4/5/26 17:41, Uwe Ziegenhagen (via tex-d-l Mailing List) wrote:
>
> Hilft dir das vielleicht?
>
>
> https://tex.stackexchange.com/questions/359585/what-unit-of-measurement-i=
s-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 =
ich
>> noch nie geh=C3=B6rt. Bei der Sache mit tabularx bin ich leider nicht we=
iter
>> 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 umbroche=
n 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 L=
ist):
>> >> 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 =
und
>> >> unterscheiden zu k=C3=B6nnen. Konkret will ich f=C3=BCr jedes Satzobj=
ekt
>> >> 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=B6gl=
ichst 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=A4ch=
lich
>> >> ben=C3=B6tigt Platz. Gibt eine M=C3=B6glichkeit um die oben erkl=C3=
=A4rte 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
>
>
>
> --
> Dr. Uwe Ziegenhagen
> 0179-7476050
> <http://www.uweziegenhagen.de>
>
> --
> 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>

--0000000000004249b3064ec904c0
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">Ich bin mir nicht sicher, ob es das nicht mitbekommt. Im Log=
 deines Beispiels steht:</div><div class=3D"gmail_default" style=3D"font-fa=
mily:times new roman,serif"><br></div><div class=3D"gmail_default" style=3D=
"font-family:times new roman,serif">

<p style=3D"margin:0px;text-indent:0px;white-space:pre-wrap">Overfull \hbox=
 (28.57755pt too wide) in paragraph at lines 6--6</p>
<p style=3D"margin:0px;text-indent:0px;white-space:pre-wrap">[]$[]$| </p><p=
 style=3D"margin:0px;text-indent:0px;white-space:pre-wrap"><br></p><p style=
=3D"margin:0px;text-indent:0px;white-space:pre-wrap">Passe ich das entsprec=
hend an, dann gibt es diese Meldung nicht mehr:</p><p style=3D"margin:0px;t=
ext-indent:0px;white-space:pre-wrap"><br></p><p style=3D"margin:0px;text-in=
dent:0px;white-space:pre-wrap">
</p><p style=3D"margin:0px;text-indent:0px;white-space:pre-wrap">\documentc=
lass{article}</p>
<p style=3D"margin:0px;text-indent:0px;white-space:pre-wrap">\newlength{\ml=
}</p>
<p style=3D"margin:0px;text-indent:0px;white-space:pre-wrap">\begin{documen=
t}</p>
<p style=3D"margin:0px;text-indent:0px;white-space:pre-wrap">\settowidth{\m=
l}{\begin{tabular}{|p{30pt}|}</p>
<p style=3D"margin:0px;text-indent:0px;white-space:pre-wrap">$\begin{array}=
{cc}a&amp;b\end{array}$</p>
<p style=3D"margin:0px;text-indent:0px;white-space:pre-wrap">\end{tabular}}=
\the\ml</p>
<p style=3D"margin:0px;text-indent:0px;white-space:pre-wrap">\end{document}=
</p><p style=3D"margin:0px;text-indent:0px;white-space:pre-wrap"><br></p><p=
 style=3D"margin:0px;text-indent:0px;white-space:pre-wrap">Aber viel Ahnung=
 hab ich nicht davon.</p><p style=3D"margin:0px;text-indent:0px;white-space=
:pre-wrap"><br></p>Uwe</div><div class=3D"gmail_default" style=3D"font-fami=
ly:times new roman,serif"><br></div></div><br><div class=3D"gmail_quote gma=
il_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">Am Mo., 6. Apr. 2=
026 um 12:39=C2=A0Uhr schrieb Dirk H=C3=BCnniger &lt;<a href=3D"mailto:tex-=
[email protected]">[email protected]</a>&gt;:<br></div><blockquote =
class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px sol=
id rgb(204,204,204);padding-left:1ex"><u></u>

=20=20
=20=20=20=20
=20=20
  <div>
    <p>Hallo Uwe,</p>
    <p>ich habe deine Idee mal ausprobiert und folgendes Minimalbeispiel
      konstruiert:</p>
    <p>\documentclass{article}<br>
      \newlength{\ml}<br>
      \begin{document}<br>
      \settowidth{\ml}{\begin{tabular}{|p{1pt}|}<br>
      $\begin{array}{cc}a&amp;b\end{array}$<br>
      \end{tabular}}\the\ml<br>
      \end{document}</p>
    <p>Ausgabe ist immer noch 13pt. Das Problem scheint zu sein das
      LaTeX =C3=BCber den rechten Rand hinaus schreibt und es irgendwie
      selbst nicht mitbekommt, dass es das getan hat.</p>
    <p>Viele Gr=C3=BC=C3=9Fe Dirk</p>
    <div>On 4/5/26 17:41, Uwe Ziegenhagen (via
      tex-d-l Mailing List) wrote:<br>
    </div>
    <blockquote type=3D"cite">
=20=20=20=20=20=20
      <div dir=3D"ltr">
        <div class=3D"gmail_default" style=3D"font-family:times new roman,s=
erif">Hilft dir das
          vielleicht?</div>
        <div class=3D"gmail_default" style=3D"font-family:times new roman,s=
erif"><br>
        </div>
        <div class=3D"gmail_default" style=3D"font-family:times new roman,s=
erif"><a href=3D"https://tex.stackexchange.com/questions/359585/what-unit-o=
f-measurement-is-widthof-using" target=3D"_blank">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,s=
erif"><br>
        </div>
        <div class=3D"gmail_default" style=3D"font-family:times new roman,s=
erif">\widthof klingt
          irgendwie danach.</div>
        <div class=3D"gmail_default" style=3D"font-family:times new roman,s=
erif"><br>
        </div>
        <div class=3D"gmail_default" style=3D"font-family:times new roman,s=
erif">Uwe</div>
      </div>
      <br>
      <div class=3D"gmail_quote">
        <div dir=3D"ltr" class=3D"gmail_attr">Am So., 5. Apr. 2026 um
          12:39=C2=A0Uhr schrieb Dirk H=C3=BCnniger &lt;<a href=3D"mailto:t=
[email protected]" target=3D"_blank">[email protected]</a>&gt;:<=
br>
        </div>
        <blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex=
;border-left:1px solid rgb(204,204,204);padding-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 weiter <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 der <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 <br>
          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&amp;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 wird.<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>
          &gt; Hallo Dirk,<br>
          &gt;<br>
          &gt; sieh Dir mal das Paket tabularx an.=C2=A0 Es stellt den
          Spaltentyp X <br>
          &gt; bereit, der eine Erweiterung des Spaltentyps p ist und
          tun sollte, was <br>
          &gt; Dir vorschwebt.<br>
          &gt;<br>
          &gt; Viel Erfolg<br>
          &gt; Jakob<br>
          &gt;<br>
          &gt; P. S. M. W. hei=C3=9Ft das Verb zu &quot;Umbruch&quot; &quot=
;umbrechen&quot;
          (Betonung auf der <br>
          &gt; zweiten Silbe) mit den Formen &quot;zu umbrechen&quot; und
          &quot;umbrochen werden&quot;. <br>
          &gt; Man will ja keinen Zaun umbrechen (Betonung auf der
          ersten Silbe), <br>
          &gt; damit er flach auf der Erde liegt.<br>
          &gt;<br>
          &gt;<br>
          &gt; Am 04.04.26 um 13:07 schrieb Dirk H=C3=BCnniger (via tex-d-l
          Mailing List):<br>
          &gt;&gt; Hallo,<br>
          &gt;&gt;<br>
          &gt;&gt; ich mache mir derzeit wieder Gedanken zum
          Tabellensatz in LaTeX. Ziel <br>
          &gt;&gt; ist es die optimalen Breiten der Spalten einer
          Tabelle algorithmisch <br>
          &gt;&gt; zu bestimmen. Hierzu kann es erforderlich sein den
          Text innerhalb <br>
          &gt;&gt; einer Tabellenzelle umzubrechen. Hierf=C3=BCr kenne ich
          nur die <br>
          &gt;&gt; M=C3=B6glichkeit das mit einer Direktive der Form p{1cm}
          o.=C3=A4. im <br>
          &gt;&gt; Tabellenkopf zu fordern. Zu bestimmen ist also was
          ich anstelle von <br>
          &gt;&gt; 1cm hinschreiben soll. Mir ist aufgefallen das
          bestimmte Satzobjekte <br>
          &gt;&gt; nicht umgebrochen werden k=C3=B6nnen. Beispiel (a) hierz=
u:<br>
          &gt;&gt;<br>
          &gt;&gt; =C2=A0=C2=A0$\begin{array}{cc}a&amp;b\end{array}$<br>
          &gt;&gt;<br>
          &gt;&gt; Andere jedoch schon. Beispiel (b) hierzu:<br>
          &gt;&gt;<br>
          &gt;&gt; a b c d<br>
          &gt;&gt;<br>
          &gt;&gt; Mein Ziel ist nun in einem Programm diese beiden
          F=C3=A4lle erkennen und <br>
          &gt;&gt; unterscheiden zu k=C3=B6nnen. Konkret will ich f=C3=BCr =
jedes
          Satzobjekt <br>
          &gt;&gt; bestimmen wie breit es minimal sein muss. Minimal
          bedeutet dabei das <br>
          &gt;&gt; es so h=C3=A4ufig als m=C3=B6glich umgebrochen wird um e=
ine
          m=C3=B6glichst geringe <br>
          &gt;&gt; Breite zu erhalten. In Beispiel (b) erreiche ich
          diese mit folgendem <br>
          &gt;&gt; Code:<br>
          &gt;&gt;<br>
          &gt;&gt; \documentclass{article}<br>
          &gt;&gt; \begin{document}<br>
          &gt;&gt;
          \newsavebox{\mybox}\sbox{\mybox}{\begin{tabular}{|p{1pt}|}<br>
          &gt;&gt; a b c d<br>
          &gt;&gt; \end{tabular}}\the\wd\mybox{}<br>
          &gt;&gt; \end{document}<br>
          &gt;&gt;<br>
          &gt;&gt; Die Ausgabe ist 13.0pt<br>
          &gt;&gt;<br>
          &gt;&gt; Die analoge Konstruktion f=C3=BCr Beispiel (a) w=C3=A4re=
 dann:<br>
          &gt;&gt;<br>
          &gt;&gt; \documentclass{article}<br>
          &gt;&gt; \begin{document}<br>
          &gt;&gt;
          \newsavebox{\mybox}\sbox{\mybox}{\begin{tabular}{|p{1pt}|}<br>
          &gt;&gt; $\begin{array}{cc}a&amp;b\end{array}$<br>
          &gt;&gt; \end{tabular}}\the\wd\mybox{}<br>
          &gt;&gt; \end{document}<br>
          &gt;&gt;<br>
          &gt;&gt; Die Ausgabe ist wiederum 13.0pt. Hier schreibt LaTeX
          nach rechts =C3=BCber <br>
          &gt;&gt; den Rand hinaus, so dass die Ausgabe kleiner ist als
          der tats=C3=A4chlich <br>
          &gt;&gt; ben=C3=B6tigt Platz. Gibt eine M=C3=B6glichkeit um die o=
ben
          erkl=C3=A4rte minimale <br>
          &gt;&gt; Breite eines Satzobjektes zu bestimmen?<br>
          &gt;&gt;<br>
          &gt;&gt; Viele Gr=C3=BC=C3=9Fe Dirk<br>
          &gt;&gt;<br>
          &gt;&gt;<br>
          &gt;&gt;<br>
          &gt;<br>
          &gt;<br>
          &gt;<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/sym=
pa/arc/tex-d-l" rel=3D"noreferrer" target=3D"_blank">https://www.listserv.d=
fn.de/sympa/arc/tex-d-l</a>
          <br>
          Unsubscribe/Verwaltung: <a href=3D"https://www.listserv.dfn.de/sy=
mpa/info/tex-d-l" rel=3D"noreferrer" target=3D"_blank">https://www.listserv=
.dfn.de/sympa/info/tex-d-l</a></blockquote>
      </div>
      <div><br clear=3D"all">
      </div>
      <br>
      <span 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>
            &lt;<a href=3D"http://www.uweziegenhagen.de" target=3D"_blank">=
http://www.uweziegenhagen.de</a>&gt;</div>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
    </blockquote>
  </div>

-- <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>&lt;<a href=3D"http://www.uweziegenhagen.de" target=3D"_blank">h=
ttp://www.uweziegenhagen.de</a>&gt;</div></div></div>

--0000000000004249b3064ec904c0--


------------=_1775475196-61472-52
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
------------=_1775475196-61472-52--