Wie kann man den eigentlich den betragsmäßig maximalen Wert auslesen, der z.B. in der foreach-Schleife
auftritt? Im Beispiel wäre das also Öffne in Overleaf
\documentclass[margin=5mm, varwidth]{standalone} \usepackage{pgffor} \begin{document} \foreach[evaluate={\Max=max(1,0)}] \x in {0,...,7}{ \pgfmathsetmacro{\y}{int(-\x*(\x-3)} \y, } \end{document} gefragt 09 Okt '18, 19:24 cis
Ergebnis 5 von 6
show 1 more comments
|
Wenn du überprüfen möchtest, wie breit etwas ist, bleibt dir nicht wirklich etwas anderes übrig, als TeX es setzen zu lassen. Man kann mit Da Um die Breite von etwas zu bestimmen, benutzen wir Um zu überprüfen, welche Länge größer ist, verwenden wir Schließlich schreiben wir uns noch ein schönes Macro, damit wir den Code nicht jedes Mal wiederholen müssen. Das Macro nimmt als Argument die Liste entgegen, als optionales Argument einen Macronamen, in dem der Inhalt des breitesten Eintrags gespeichert werden soll. Komplett: Öffne in Overleaf
\documentclass[]{article} \usepackage{pgffor} \newlength\WidestWidth \newcommand\GetWidestEntry[2][] {% \WidestWidth0pt \foreach\x in {#2} {% \setbox0\hbox{\x}% \ifdim\wd0>\WidestWidth \global\WidestWidth\wd0 \if\relax\detokenize{#1}\relax \else \xdef#1{\x}% \fi \fi }% } \begin{document} \GetWidestEntry[\widestentry]{0,1,11,-10,9} \widestentry\ is \the\WidestWidth\ wide. \end{document} beantwortet 09 Okt '18, 20:49 Skillmon |
Benötigst du wirklich den betragsmäßig größten Wert, oder ist größter Wert ausreichend? Du könntest mit
\gdef\Max{0} \foreach \x in {0,...,7} {% \ifnum\Max<\x \xdef\Max{\x}% \fi }
arbeiten. Betragsmäßig wäre ein bisschen mehr allerdings ähnlich.
Ach, wenn ich das nur wüsste.
-28
ist die längste auftretende Zeichenfolge. An die will ich rannkommen.Ich bin verwirrt. Möchtest du wissen, wie breit dein längster Eintrag wird, oder was tatsächlich den größten Betrag hat? Wenn es dir um die Länge geht, dann würde ich das ganz anders machen. Und geht es dir um die Anzahl an Token oder die tatsächliche Breite? Manchmal ist es gut, wenn du erklärst, was du machen möchtest.
"Manchmal ist es gut, wenn du erklärst, was du machen möchtest." Ja, das höre ich nicht zum ersten mal. Und wenn ich alles nenne, wird es zu lang und dann heißt es: brech mal runter auf ein MWE. Keine Ahnung, ich habe einen Blackout. Ich möchte das breiteste Element rauslesen und da dachte ich, dass müsste das betragsmäßig größte sein - ist natürlich nicht so 100%ig...
@cis
-10
ist breiter als11
, dein Ansatz funktioniert so also nicht wirklich. Ich schreibe gleich eine Antwort. Möchtest du den Inhalt des breitesten Eintrags, oder die Breite des breitesten Eintrags?Ja, die Breite bekomme ich doch dann mit
settowidth
raus, dachte ich...