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 '18, 18:30

cis's gravatar image

cis
9.5k74452491
Akzeptiert-Rate: 29%

bearbeitet 23 Okt '18, 18:33

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

(23 Okt '18, 23:35) cis

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

(24 Okt '18, 17:16) cis

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

(25 Okt '18, 12:36) Henri

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

(25 Okt '18, 19: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 '18, 17:29

cis's gravatar image

cis
9.5k74452491
Akzeptiert-Rate: 29%

bearbeitet 24 Okt '18, 17: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 '18, 19:17) Ulrike Fischer

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

(24 Okt '18, 20: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.

(26 Okt '18, 04:59) cis
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×13

gestellte Frage: 23 Okt '18, 18:30

Frage wurde gesehen: 4,202 Mal

zuletzt geändert: 26 Okt '18, 04:59