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&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 <<a href=3D"mailto:tex-=
[email protected]">[email protected]</a>>:<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&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 <<a href=3D"mailto:t=
[email protected]" target=3D"_blank">[email protected]</a>>:<=
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&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>
> 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
"umbrochen 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 List):<br>
>> Hallo,<br>
>><br>
>> ich mache mir derzeit wieder Gedanken zum
Tabellensatz in LaTeX. Ziel <br>
>> ist es die optimalen Breiten der Spalten einer
Tabelle algorithmisch <br>
>> zu bestimmen. Hierzu kann es erforderlich sein den
Text innerhalb <br>
>> einer Tabellenzelle umzubrechen. Hierf=C3=BCr kenne ich
nur die <br>
>> 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 von <br>
>> 1cm hinschreiben soll. Mir ist aufgefallen das
bestimmte Satzobjekte <br>
>> nicht umgebrochen werden k=C3=B6nnen. Beispiel (a) hierz=
u:<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 erkennen und <br>
>> unterscheiden zu k=C3=B6nnen. Konkret will ich f=C3=BCr =
jedes
Satzobjekt <br>
>> bestimmen wie breit es minimal sein muss. Minimal
bedeutet dabei das <br>
>> es so h=C3=A4ufig als m=C3=B6glich umgebrochen wird um e=
ine
m=C3=B6glichst geringe <br>
>> Breite zu erhalten. In Beispiel (b) erreiche ich
diese mit folgendem <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 o=
ben
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/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>
<<a href=3D"http://www.uweziegenhagen.de" target=3D"_blank">=
http://www.uweziegenhagen.de</a>></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><<a href=3D"http://www.uweziegenhagen.de" target=3D"_blank">h=
ttp://www.uweziegenhagen.de</a>></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--