Re: Breite von Satzobjekten bestimmen
Dirk Hünniger (via tex-d-l Mailing List) <[email protected]> Mon, 6 Apr 2026 12:38:21 +0200
| Newsgroups | gmane.comp.tex.german |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format...
------------=_1775471969-1659-21
Content-Type: multipart/alternative;
boundary="------------Dw7kCfrqQbf00J8pXaN4YM05"
Content-Language: en-US, de-DE
This is a multi-part message in MIME format.
--------------Dw7kCfrqQbf00J8pXaN4YM05
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
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 über
den rechten Rand hinaus schreibt und es irgendwie selbst nicht
mitbekommt, dass es das getan hat.
Viele Grüße 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-is-widthof-using
>
> \widthof klingt irgendwie danach.
>
> Uwe
>
> Am So., 5. Apr. 2026 um 12:39 Uhr schrieb Dirk Hünniger
> <[email protected]>:
>
> Hallo Jakob,
>
> Vielen Dank für deinen Hinweis auf das Wort umbrechen. Davon hatte
> ich
> noch nie gehört. Bei der Sache mit tabularx bin ich leider nicht
> weiter
> 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ärte 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äufig es
> umbrochen wird.
>
> Viele Grüße 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ßt 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ünniger (via tex-d-l Mailing
> List):
> >> 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ür kenne ich nur die
> >> Möglichkeit das mit einer Direktive der Form p{1cm} o.ä. 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önnen. 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älle erkennen
> und
> >> unterscheiden zu können. Konkret will ich für jedes Satzobjekt
> >> bestimmen wie breit es minimal sein muss. Minimal bedeutet
> dabei das
> >> es so häufig als möglich umgebrochen wird um eine möglichst
> 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ür Beispiel (a) wäre 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 über
> >> den Rand hinaus, so dass die Ausgabe kleiner ist als der
> tatsächlich
> >> benötigt Platz. Gibt eine Möglichkeit um die oben erklärte
> minimale
> >> Breite eines Satzobjektes zu bestimmen?
> >>
> >> Viele Grüße 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>
>
--------------Dw7kCfrqQbf00J8pXaN4YM05
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<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 über den rechten Rand hinaus schreibt und es irgendwie
selbst nicht mitbekommt, dass es das getan hat.</p>
<p>Viele Grüße Dirk</p>
<div class="moz-cite-prefix">On 4/5/26 17:41, Uwe Ziegenhagen (via
tex-d-l Mailing List) wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAML7JCgGFLaHYmUSyUsbAuO0K8og4Wf6GNPUK49jwxrAtDp_cw@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div class="gmail_default"
style="font-family:times new roman,serif">Hilft dir das
vielleicht?</div>
<div class="gmail_default"
style="font-family:times new roman,serif"><br>
</div>
<div class="gmail_default"
style="font-family:times new roman,serif"><a
href="https://tex.stackexchange.com/questions/359585/what-unit-of-measurement-is-widthof-using"
moz-do-not-send="true" class="moz-txt-link-freetext">https://tex.stackexchange.com/questions/359585/what-unit-of-measurement-is-widthof-using</a></div>
<div class="gmail_default"
style="font-family:times new roman,serif"><br>
</div>
<div class="gmail_default"
style="font-family:times new roman,serif">\widthof klingt
irgendwie danach.</div>
<div class="gmail_default"
style="font-family:times new roman,serif"><br>
</div>
<div class="gmail_default"
style="font-family:times new roman,serif">Uwe</div>
</div>
<br>
<div class="gmail_quote gmail_quote_container">
<div dir="ltr" class="gmail_attr">Am So., 5. Apr. 2026 um
12:39 Uhr schrieb Dirk Hünniger <<a
href="mailto:[email protected]" moz-do-not-send="true"
class="moz-txt-link-freetext">[email protected]</a>>:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hallo
Jakob,<br>
<br>
Vielen Dank für deinen Hinweis auf das Wort umbrechen. Davon
hatte ich <br>
noch nie gehört. 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, 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ärte 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äufig es
umbrochen wird.<br>
<br>
Viele Grüße 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. 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ßt 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ünniger (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ür kenne ich
nur die <br>
>> Möglichkeit das mit einer Direktive der Form p{1cm}
o.ä. 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önnen. Beispiel (a) hierzu:<br>
>><br>
>> $\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älle erkennen und <br>
>> unterscheiden zu können. Konkret will ich für jedes
Satzobjekt <br>
>> bestimmen wie breit es minimal sein muss. Minimal
bedeutet dabei das <br>
>> es so häufig als möglich umgebrochen wird um eine
möglichst 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ür Beispiel (a) wäre 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 über <br>
>> den Rand hinaus, so dass die Ausgabe kleiner ist als
der tatsächlich <br>
>> benötigt Platz. Gibt eine Möglichkeit um die oben
erklärte minimale <br>
>> Breite eines Satzobjektes zu bestimmen?<br>
>><br>
>> Viele Grüße Dirk<br>
>><br>
>><br>
>><br>
><br>
><br>
><br>
<br>
-- <br>
FAQ: <a href="http://texfragen.de/" rel="noreferrer"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://texfragen.de/</a><br>
Durchsuchbares Archiv: <a
href="https://www.listserv.dfn.de/sympa/arc/tex-d-l"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://www.listserv.dfn.de/sympa/arc/tex-d-l</a>
<br>
Unsubscribe/Verwaltung: <a
href="https://www.listserv.dfn.de/sympa/info/tex-d-l"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://www.listserv.dfn.de/sympa/info/tex-d-l</a></blockquote>
</div>
<div><br clear="all">
</div>
<br>
<span class="gmail_signature_prefix">-- </span><br>
<div dir="ltr" class="gmail_signature">
<div dir="ltr">
<div>Dr. Uwe Ziegenhagen</div>
<div>0179-7476050<br>
<<a href="http://www.uweziegenhagen.de" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">http://www.uweziegenhagen.de</a>></div>
</div>
</div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
</blockquote>
</body>
</html>
--------------Dw7kCfrqQbf00J8pXaN4YM05--
------------=_1775471969-1659-21
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
------------=_1775471969-1659-21--