Mit Hilfe von \pgfkeys{/pgf/number format/.cd,frac,frac shift={1}} werden manche Brüche korrekt ausgegeben, z.B. 2/3; andere aber weder mit noch ohne diese Einstellung, z.B. 233/19.

Kann man da irgendetwas machen?

alt text

Öffne in Overleaf
\documentclass[border=15mm, varwidth]{standalone}
\usepackage{tikz}
\usetikzlibrary{fpu}
%\usepackage{fp}  % nutzte auch nichts

\begin{document}

\foreach \Bruch in {233/19, 3/4, 10/2, 2/3,0.6666666}{
%\pgfkeys{/pgf/number format/.cd,fixed}
\pgfkeys{/pgf/number format/.cd,frac,frac shift={1}}
\Bruch  \pgfmathparse{\Bruch}
= \pgfmathresult 
= \pgfmathprintnumber[frac]{\pgfmathresult} 
= \pgfmathprintnumber[frac,frac whole=false]{\pgfmathresult}\\[1em]
}

\end{document}

gefragt 23 Okt, 12:30

cis's gravatar image

cis
8.3k16171267
Akzeptiert: 68%

bearbeitet 23 Okt, 12:33

Was mich nur wundert: polynom.sty scheint mit heftigen Brüchen umgehen zu können, pgfmath dagegen nicht.

(23 Okt, 17:35) cis

Ich kenne diesen Beitrag, ich weiß aber nicht, wie ich das hier anwenden kann.

(24 Okt, 11:16) cis

Die Ergebnisse stimmen vorne und hinten nicht, denn 0.6666666 ist mit Sicherheit nicht gleich 2/3.

(25 Okt, 06:36) Henri

Klar, ich glaube ab Null Komma <5 Sechsen> macht er daraus 2/3.

(25 Okt, 13:36) cis

Zu groß für das Kommentarfeld. Ich habe eine Berechnung über den gcd geschrieben. Diese ist aber unbrauchbar, da sie nur für einfache Zahlen (z.B. 1.234) funktioniert; bereits bei 2/3 ---> dimensions too large.

alt text

Öffne in Overleaf
\documentclass[margin=5mm, varwidth]{standalone}
\usepackage{tikz, amsmath}
\usetikzlibrary{fpu}

\begin{document}

\foreach \zahl in {-2.235}{%
\pgfmathparse{\zahl}
Zahl: \pgfmathsetmacro\Zahl{\pgfmathresult} \Zahl   \\
Ganzteil: \pgfmathsetmacro\Int{int(\Zahl)} \Int \\
Bruchteil: \pgfmathsetmacro\Frac{frac(\Zahl)} \Frac  \\
dim(Bruchteil): \pgfmathsetmacro\Dim{dim(frac(\Zahl))} \Dim   \\
Zehnerpotenz: \pgfmathsetmacro\Zehnerpotenz{10^(\Dim-2)} \Zehnerpotenz   \\
Ganzzahl: \pgfmathsetmacro\Ganzzahl{round(\Zahl*\Zehnerpotenz)} \Ganzzahl   \\
ggT(Ganzzahl,Zehnerpotenz): \pgfmathsetmacro\GGT{gcd(\Ganzzahl,\Zehnerpotenz)} \GGT   \\
Z{\"a}hler: \pgfmathsetmacro\Zaehler{int(abs(\Ganzzahl/\GGT))} \Zaehler  \\
Nenner: \pgfmathsetmacro\Nenner{int(\Zehnerpotenz/\GGT)} \Nenner  \\
Vorzeichentest: \pgfmathsetmacro\Sign{\Zahl<0 ? "-" : ""} \Sign \\
Ganzzahltest:\def\Bruch{\frac{\Zaehler}{\Nenner}}%
\pgfmathsetmacro\Ergebnis{\Zahl==int(\Zahl) ? "\Zahl" : "\Bruch"} $\Ergebnis$ \\[1em]
Bruch: $\displaystyle \Zahl =\Sign\Ergebnis$
}

\end{document}
Permanenter link

beantwortet 24 Okt, 11:29

cis's gravatar image

cis
8.3k16171267

bearbeitet 24 Okt, 11:30

1

Tja. Wie ich schon mal erwähnte - die pgf math Bibliothek ist objektiv schlechter als die von expl3. "dimension too large" bekommt man da öfter.

(24 Okt, 13:17) Ulrike Fischer

Mich würde besonders interessieren, wie polynom.sty das macht. Aber das werde ich höchstens vom Autor erfahren.

(24 Okt, 14:52) cis

Wenn es mir im sinnvollen Mathe-Einsatz in LaTeX geht, nehme ich bestimmt nicht expl3, sondern gleich ein richtiges CAS wie Sage(TeX). Nö, ich hatte eben gedacht, vielleicht gibt es Einstellungen in pgfmath, die ich nicht kenne.

(25 Okt, 22:59) cis
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×7

Frage gestellt: 23 Okt, 12:30

Frage wurde angeschaut: 158 Mal

Zuletzt aktualisiert: 25 Okt, 22:59