|
Autor |
Fehler bei der pgf tikz Ausgabe bei Aufruf gewisser Ganzzahlfunktionen |
|
Ex_Senior
 | Themenstart: 2018-01-02
|
Hallo,
Ich möchte Zähler und Nenner des reduzierten Bruches berechnen.
Die Ausgabe ist nicht richtig, und es steht seltsames Zeug dabei.
Am eigenen PC funktioniert es.
Weiß jemand was hier schief läuft?
$
% \begin{tikzpicture} % lädt das Paket pgf
% Bestimmung von Zähler und Nenner
% des reduzierten Bruches von Z/N, das ist (Z / gcd(Z,N)) / (N / gcd(Z,N))
\pgfmathtruncatemacro{\Z}{3}
\pgfmathtruncatemacro{\N}{21}
\pgfmathtruncatemacro{\Eins}{1}
\pgfmathtruncatemacro{\Numerator}{\Z/gcd(\Z,\N)}
\pgfmathtruncatemacro{\Denominator}{\N/gcd(\Z,\N)}
\ifx\Denominator\Eins {$\Numerator$}
\else {$\dfrac{\Numerator}{\Denominator}$}
\fi
$
Es müsste $\dfrac{1}{7}$ ausgegeben werden.
\sourceon MP
$
% \begin{tikzpicture} % lädt das Paket pgf
% Bestimmung von Zähler und Nenner
% des reduzierten Bruches von Z/N, das ist (Z / gcd(Z,N)) / (N / gcd(Z,N))
\pgfmathtruncatemacro{\Z}{3}
\pgfmathtruncatemacro{\N}{21}
\pgfmathtruncatemacro{\Eins}{1}
\pgfmathtruncatemacro{\Numerator}{\Z/gcd(\Z,\N)}
\pgfmathtruncatemacro{\Denominator}{\N/gcd(\Z,\N)}
\ifx\Denominator\Eins {$\Numerator$}
\else {$\dfrac{\Numerator}{\Denominator}$}
\fi
$
\sourceoff
ifnum zu ifx korrigiert
Am eigenen PC:
\sourceon latex
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{amsmath, amsfonts, amssymb}
\usepackage{pgf} % tikz
\begin{document}
% Bestimmung von Zähler und Nenner
% des reduzierten Bruches von Z/N, das ist (Z / gcd(Z,N)) / (N / gcd(Z,N))
\pgfmathtruncatemacro{\Z}{3}
\pgfmathtruncatemacro{\N}{21}
\pgfmathtruncatemacro{\Eins}{1}
\pgfmathtruncatemacro{\Numerator}{\Z/gcd(\Z,\N)}
\pgfmathtruncatemacro{\Denominator}{\N/gcd(\Z,\N)}
\ifx\Denominator\Eins {$\Numerator$}
\else {$\dfrac{\Numerator}{\Denominator}$}
\fi
\end{document}
\sourceoff
ifnum zu ifx korrigiert
|
Profil
|
dromedar
Senior  Dabei seit: 26.10.2013 Mitteilungen: 5123
Wohnort: München
 | Beitrag No.1, eingetragen 2018-01-02
|
Hallo cis,
auch die "Am eigenen PC"-Version funktioniert bei mir nicht:
\sourceon
! Missing = inserted for \ifnum.
{
l.18 \ifnum\Denominator\Eins {
$\Numerator$}
\sourceoff
Grüße,
dromedar
|
Profil
|
markusv
Senior  Dabei seit: 24.01.2017 Mitteilungen: 338
Wohnort: Leipzig
 | Beitrag No.2, eingetragen 2018-01-02
|
\quoteon(2018-01-02 11:37 - dromedar in Beitrag No. 1)
Hallo cis,
auch die "Am eigenen PC"-Version funktioniert bei mir nicht:
\sourceon
! Missing = inserted for \ifnum.
{
l.18 \ifnum\Denominator\Eins {
$\Numerator$}
\sourceoff
Grüße,
dromedar
\quoteoff
Die korrekte Ausgabe erfolgt bei mir, aber ebenfalls mit der Fehlermeldung.
\sourceon
\ifnum\Denominator=\Eins {$\Numerator$}
\sourceoff
behebt den Fehler
|
Profil
|
Ex_Senior
 | Beitrag No.3, vom Themenstarter, eingetragen 2018-01-02
|
Uppps....
Ich habe mal zwei Sachen ausprobiert.
Am eigenen PC:
\sourceon latex
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{amsmath, amsfonts, amssymb}
\usepackage{tikz}
%\usepackage{pgf, pgffor, tikz, amsmath, amssymb}
%\usetikzlibrary{math}
%\usetikzlibrary{calc}
\begin{document}
% Bestimmung von Zähler und Nenner
% des reduzierten Bruches von Z/N, das ist (Z / gcd(Z,N)) / (N / gcd(Z,N))
\pgfmathtruncatemacro{\Z}{42}
\pgfmathtruncatemacro{\N}{21}
\pgfmathtruncatemacro{\Eins}{1}
\pgfmathtruncatemacro{\Numerator}{\Z/gcd(\Z,\N)}
\pgfmathtruncatemacro{\Denominator}{\N/gcd(\Z,\N)}
Tut:
\ifnum \Denominator = \Eins
$\dfrac{\Z}{\N} = \Numerator$
\else
$\dfrac{\Z}{\N} = \dfrac{\Numerator}{\Denominator}$
\fi
Tut auch:
\ifx\Denominator\Eins $\dfrac{\Z}{\N} = \Numerator$
\else $\dfrac{\Z}{\N} = \dfrac{\Numerator}{\Denominator}$
\fi
\end{document}
\sourceoff
Hier:
$
% \begin{tikzpicture} % lädt pgf.sty
% Bestimmung von Zähler und Nenner
% des reduzierten Bruches von Z/N, das ist (Z / gcd(Z,N)) / (N / gcd(Z,N))
\pgfmathtruncatemacro{\Z}{42}
\pgfmathtruncatemacro{\N}{21}
\pgfmathtruncatemacro{\Eins}{1}
\pgfmathtruncatemacro{\Numerator}{\Z/gcd(\Z,\N)}
\pgfmathtruncatemacro{\Denominator}{\N/gcd(\Z,\N)}
Tut nicht:
\ifnum \Denominator = \Eins
$\dfrac{\Z}{\N} = \Numerator$
\else
$\dfrac{\Z}{\N} = \dfrac{\Numerator}{\Denominator}$
\fi
Tut auch nicht:
\ifx\Denominator\Eins $\dfrac{\Z}{\N} = \Numerator$
\else $\dfrac{\Z}{\N} = \dfrac{\Numerator}{\Denominator}$
\fi
$
\sourceon MP
$
% \begin{tikzpicture} % lädt pgf.sty
% Bestimmung von Zähler und Nenner
% des reduzierten Bruches von Z/N, das ist (Z / gcd(Z,N)) / (N / gcd(Z,N))
\pgfmathtruncatemacro{\Z}{42}
\pgfmathtruncatemacro{\N}{21}
\pgfmathtruncatemacro{\Eins}{1}
\pgfmathtruncatemacro{\Numerator}{\Z/gcd(\Z,\N)}
\pgfmathtruncatemacro{\Denominator}{\N/gcd(\Z,\N)}
Tut:
\ifnum \Denominator = \Eins
$\dfrac{\Z}{\N} = \Numerator$
\else
$\dfrac{\Z}{\N} = \dfrac{\Numerator}{\Denominator}$
\fi
Tut auch:
\ifx\Denominator\Eins $\dfrac{\Z}{\N} = \Numerator$
\else $\dfrac{\Z}{\N} = \dfrac{\Numerator}{\Denominator}$
\fi
$
\sourceoff
|
Profil
|
Ex_Senior
 | Beitrag No.4, vom Themenstarter, eingetragen 2018-01-02
|
Mhhh... irgendwie berechnet es den gcd -hier- nicht.
$
% \begin{tikzpicture} %lädt pgf.sty
\pgfmathtruncatemacro{\GCD}{gcd(3,3)}
\GCD
\pgfmathsetmacro{\GCDa}{gcd(3,21)}
\GCDa
\pgfmathparse{gcd(3,21)} \pgfmathresult
$
|
Profil
|
dromedar
Senior  Dabei seit: 26.10.2013 Mitteilungen: 5123
Wohnort: München
 | Beitrag No.5, eingetragen 2018-01-02
|
Das Problem hängt wohl mit dem hier beschrieben Konflikt um die FPU-Nutzung zusammen (pgfplots aktiviert die FPU-Nutzung, danach funktionieren aber bestimmte Integer-Funktionen nicht mehr).
|
Profil
|
Ex_Senior
 | Beitrag No.6, vom Themenstarter, eingetragen 2018-01-02
|
Aha, verstehe.
Also pgfplots.sty wird geladen, sobald \begin{tikzpicture} im Text auftaucht, vgl. http://matheplanet.de/matheplanet/nuke/html/latexrender/example2.php
Was könnte man da tun?
|
Profil
|
dromedar
Senior  Dabei seit: 26.10.2013 Mitteilungen: 5123
Wohnort: München
 | Beitrag No.7, eingetragen 2018-01-02
|
Hier wird ein Workaround beschrieben (suche auf der Seite nach "gcd() issue"), aber der ist hier im Forum leider nicht anwendbar (weil man keinen Einfluss auf die Reihenfolge hat, in der Pakete geladen werden).
|
Profil
|
Ex_Senior
 | Beitrag No.8, vom Themenstarter, eingetragen 2018-01-02
|
Ja, gut die Lösung -hier- könnte sein, dass die Texterkennung insoweit geändert wird, dass pgfplots.sty nur bei Auftauchen des Schlüsselwortes axis im math-Tag geladen wird (weil es gibt auch noch polaraxis, semilogaxis, loglogaxis etc., also nicht \begin{axis}).
Das müsste doch gehen?
|
Profil
|
Ex_Senior
 | Beitrag No.9, vom Themenstarter, eingetragen 2018-01-02
|
1. Also dass pgfplots.sty wird geladen wird sobald \begin{tikzpicture} im Text auftaucht, ist ungünstig.
Und sollte geändert werden, da es sich um ein ladeintensives Paket handelt.
Siehe #8.
2. Für das Problem hier könnte man ggf. die tikz-Bibliothek math verwenden. Die wird geladen, wenn \begin{tikzpicture} und \tikzmath im Text auftaucht.
Da komme ich aber mit der Syntax gerade nicht klar.
|
Profil
|
Ex_Senior
 | Beitrag No.10, vom Themenstarter, eingetragen 2018-01-02
|
Mit der tikz-Bibliothek math geht es -hier- auch nicht. Möglicherweise aus gleichem Grunde. :-?
$
% \begin{tikzpicture} %
\tikzmath{%==================
int \Zaehler, \Nenner, \ggt, \Numerator, \Denominator;
\Zaehler = 6;
\Nenner = 2;
function GCD(\x,\y) {return gcd(\x,\y);};
\ggt = GCD(\Zaehler, \Nenner);
\Numerator = \Zaehler/\ggt;
\Denominator = \Nenner/\ggt;
if \Denominator == 1 then {
print { $\dfrac{\Zaehler}{\Nenner} = \Numerator$};
}
else {
print { $\dfrac{\Zaehler}{\Nenner} = \dfrac{\Numerator}{\Denominator} $};
};
}%==================
$
\sourceon MP
$
% \begin{tikzpicture} %
\tikzmath{%==================
int \Zaehler, \Nenner, \ggt, \Numerator, \Denominator;
\Zaehler = 6;
\Nenner = 2;
function GCD(\x,\y) {return gcd(\x,\y);};
\ggt = GCD(\Zaehler, \Nenner);
\Numerator = \Zaehler/\ggt;
\Denominator = \Nenner/\ggt;
if \Denominator == 1 then {
print { $\dfrac{\Zaehler}{\Nenner} = \Numerator$};
}
else {
print { $\dfrac{\Zaehler}{\Nenner} = \dfrac{\Numerator}{\Denominator} $};
};
}%==================
$
\sourceoff
Am eigenen PC:
\sourceon latex
\documentclass[varwidth, margin=10mm]{standalone}
%\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{amsmath, amsfonts, amssymb}
\usepackage{tikz}
%\usepackage{pgf, pgffor, tikz, amsmath, amssymb}
\usetikzlibrary{math}
%\usetikzlibrary{calc}
\begin{document}
Mit pgf: \\
% Bestimmung von Zähler und Nenner
% des reduzierten Bruches von Z/N, das ist (Z / gcd(Z,N)) / (N / gcd(Z,N))
\pgfmathtruncatemacro{\Z}{42}
\pgfmathtruncatemacro{\N}{21}
\pgfmathtruncatemacro{\Eins}{1}
\pgfmathtruncatemacro{\Numerator}{\Z/gcd(\Z,\N)}
\pgfmathtruncatemacro{\Denominator}{\N/gcd(\Z,\N)}
\ifnum \Denominator = \Eins
$\dfrac{\Z}{\N} = \Numerator$
\else
$\dfrac{\Z}{\N} = \dfrac{\Numerator}{\Denominator}$
\fi
\bigskip
Mit tikz-math: \\
\tikzmath{%==================
int \Zaehler, \Nenner, \ggt, \Numerator, \Denominator;
\Zaehler = 6;
\Nenner = 2;
function GCD(\x,\y) {return gcd(\x,\y);};
\ggt = GCD(\Zaehler, \Nenner);
\Numerator = \Zaehler/\ggt;
\Denominator = \Nenner/\ggt;
if \Denominator == 1 then {
print { $\dfrac{\Zaehler}{\Nenner} = \Numerator$};
}
else {
print { $\dfrac{\Zaehler}{\Nenner} = \dfrac{\Numerator}{\Denominator} $};
};
}%==================
\end{document}
\sourceoff
|
Profil
|
Ex_Senior
 | Beitrag No.11, vom Themenstarter, eingetragen 2018-01-02
|
\quoteon(2018-01-02 13:31 - dromedar in Beitrag No. 5)
Das Problem hängt wohl mit dem hier beschrieben Konflikt um die FPU-Nutzung zusammen (pgfplots aktiviert die FPU-Nutzung, danach funktionieren aber bestimmte Integer-Funktionen nicht mehr).
\quoteoff
Was mich nur verwundert:
Wenn ich beim Codebeispiel #10
\usepackage{pgfplots}
ergänze, funktioniert es trotzdem...
(Außer dass die Ladezeit viel länger ist.)
|
Profil
|
dromedar
Senior  Dabei seit: 26.10.2013 Mitteilungen: 5123
Wohnort: München
 | Beitrag No.12, eingetragen 2018-01-02
|
\quoteon(2018-01-02 19:41 - cis in Beitrag No. 11)
Wenn ich beim Codebeispiel #10
\usepackage{pgfplots}
ergänze, funktioniert es trotzdem...
\quoteoff
Welche pgfplots-Version benutzt Du denn?
Laut ChangeLog wurde der Fehler am 17.09.2016 behoben. Damit ist er in der Version 1.14 (vom 10.08.2016) noch enthalten, in der aktuellen Version 1.15 (vom 05.05.2017) aber nicht mehr.
In dem von mir verwendeten TeX Live 2016 ist die fehlerhafte Version 1.14 enthalten:
\sourceon LaTeX log-File
(/usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty
(/usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex)
Package: pgfplots 2016/08/10 v1.14 Data Visualization (1.14)
\sourceoff
Wie zu erwarten, funktioniert die gcd-Funktion ohne pgfplots:
\sourceon LaTeX
\documentclass{article}
\usepackage{tikz}
\begin{document}
\pgfmathgcd3{21}:\pgfmathresult:
\end{document}
\sourceoff
Ausgabe
Mit pgfplots tritt des bekannte Problem auf:
\sourceon LaTeX
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\pgfmathgcd3{21}:\pgfmathresult:
\end{document}
\sourceoff
\sourceon LaTeX log-File
! Package PGF Math Error: Sorry, the operation 'gcd' has not yet
been implemented in the floating point unit.
\sourceoff
Ausgabe
Und diese Ausgabe liefert auch das Forum:
\sourceon LaTeX im Forum
$
%\begin{tikzpicture}
\pgfmathgcd3{21}:\pgfmathresult:
$
\sourceoff
Ausgabe
$
%\begin{tikzpicture}
\pgfmathgcd3{21}:\pgfmathresult:
$
|
Profil
|
Ex_Senior
 | Beitrag No.13, vom Themenstarter, eingetragen 2018-01-02
|
Oha. Ja, danke für die ausführliche Erklärung. Also ich habe scheints pgfplots 1.13 und es tut ja bei mir mit und ohne \usepoackage{pgfplots}.
Scheints hat der MP nicht die richtige/aktuelle Version.
Andererseits ist es m.E. eh nicht sinnvoll, bei jedem tikz-Aufruf, hier, automatisch pgfplots zu laden.
Die Frage nun:
Was empfehlen wir matroid?
|
Profil
|
Wally
Senior  Dabei seit: 02.11.2004 Mitteilungen: 9728
Wohnort: Dortmund, Old Europe
 | Beitrag No.14, eingetragen 2018-01-02
|
Die Frage ist für mich, ob es sinnvoll ist, auch für sehr selten benutzte Pakete Sonderfälle zu berücksichtigen, oder ob man sich auf einen gemeinsamen sinnvollen Standard beschränkt.
Konkret: cis, wie wär's, wenn du deine Brüche selber kürzt?
Wally
|
Profil
|
dromedar
Senior  Dabei seit: 26.10.2013 Mitteilungen: 5123
Wohnort: München
 | Beitrag No.15, eingetragen 2018-01-02
|
\quoteon(2018-01-02 23:10 - Wally in Beitrag No. 14)
Die Frage ist für mich, ob es sinnvoll ist, auch für sehr selten benutzte Pakete Sonderfälle zu berücksichtigen [...]
\quoteoff
Zumal sich das Problem bei der nächsten Aktualisierung der im Forum verwendeten TeX-Version von selbst lösen wird.
|
Profil
|
Ex_Senior
 | Beitrag No.16, vom Themenstarter, eingetragen 2018-01-02
|
\quoteon(2018-01-02 23:10 - Wally in Beitrag No. 14)
1. Die Frage ist für mich, ob es sinnvoll ist, auch für sehr selten benutzte Pakete Sonderfälle zu berücksichtigen, oder ob man sich auf einen gemeinsamen sinnvollen Standard beschränkt.
2. Konkret: cis, wie wär's, wenn du deine Brüche selber kürzt?
\quoteoff
1. Wenn Du einen Blick in die sogen. Testanwendung #6 wirfst, stellst du fest, dass pgfplots.sty bei jedem noch so kleinen tikz-Aufruf generell geladen wird, auch wenn gar kein pgfplots verwendet wird. (War das unklar? Teste selbst...).
Das ist definitiv nicht sinnvoll, da pgfplots ladeintensiv ist.
2. Du musst das viel globaler sehen. Ich kürze doch nicht ein paar Brüche, ich kürze dutzende Bruche in sinnvollen Automatisierungen.
\quoteon(2018-01-02 23:39 - dromedar in Beitrag No. 15)
Zumal sich das Problem bei der nächsten Aktualisierung der im Forum verwendeten TeX-Version von selbst lösen wird.
\quoteoff
TeXLive 2012 wurde, wenn ich mich recht entsinne, 2017 ubgedatet. Es kann sich also nur noch um Jahre handeln.
|
Profil
|
dromedar
Senior  Dabei seit: 26.10.2013 Mitteilungen: 5123
Wohnort: München
 | Beitrag No.17, eingetragen 2018-01-03
|
\quoteon(2018-01-02 23:47 - cis in Beitrag No. 16)
Das ist definitiv nicht sinnvoll, da pgfplots ladeintensiv ist.
\quoteoff
Dieses Paket wird doch überhaupt nur in den Fällen geladen, wo jemand tikz benutzt. Und das kommt so selten vor, dass man zu so einem Anlass alle Pakete 10mal laden könnte.
|
Profil
|
Ex_Senior
 | Beitrag No.18, vom Themenstarter, eingetragen 2018-01-03
|
\quoteon(2018-01-03 00:00 - dromedar in Beitrag No. 17)
Dieses Paket wird doch überhaupt nur in den Fällen geladen, wo jemand tikz benutzt. Und das kommt so selten vor
\quoteoff
Das Paket pgfplots wird überhaupt nur deswegen geladen, weil ich es matroid einmal im Privaten empfohlen habe.
Ich diskutiere das besser mit ihm weiter.
|
Profil
|
Ex_Senior
 | Beitrag No.19, vom Themenstarter, eingetragen 2018-01-03
|
Ich habe matroid informiert und
\quoteon(2018-01-03 12:07 - matroid)
nun wird pgfplot nur noch geladen, wenn ein "axis}" im Code vorkommt.
\quoteoff
Das Beispiel von dromedar:
$
%\begin{tikzpicture}
\gcd(3,21) = \pgfmathgcd{3}{21} \pgfmathresult
$
\sourceon Latex auf dem MP
$
%\begin{tikzpicture}
\gcd(3,21) = \pgfmathgcd{3}{21} \pgfmathresult
$
\sourceoff
Nochmal danke @ dromedar für die sachkundige Analyse des Fehlers.
__________________________
Mit pgf
$
% \begin{tikzpicture} %lädt pgf.sty
\newcommand*{\rfrac}[2]{%%%%%%%%%%%%%%%%%%%%%%%%%
\begingroup
% Bestimmung von Zähler und Nenner
% des reduzierten Bruches von Z/N, das ist (Z / gcd(Z,N)) / (N / gcd(Z,N))
\pgfmathtruncatemacro{\Z}{#1}
\pgfmathtruncatemacro{\N}{#2}
\pgfmathtruncatemacro{\Eins}{1}
\pgfmathtruncatemacro{\Numerator}{\Z/gcd(\Z,\N)}
\pgfmathtruncatemacro{\Denominator}{\N/gcd(\Z,\N)}
\ifnum \Denominator = \Eins
$\dfrac{\Z}{\N} = \Numerator$
\else
$\dfrac{\Z}{\N} = \dfrac{\Numerator}{\Denominator}$
\fi
\endgroup
}%%%%%%%%%%%%%%%%%%%%%%%%%%
\rfrac{6}{2} ~~
\rfrac{18}{11} ~~
\rfrac{4}{12}
$
\sourceon MP
$
% \begin{tikzpicture} %lädt pgf.sty
\newcommand*{\rfrac}[2]{%%%%%%%%%%%%%%%%%%%%%%%%%
\begingroup
% Bestimmung von Zähler und Nenner
% des reduzierten Bruches von Z/N, das ist (Z / gcd(Z,N)) / (N / gcd(Z,N))
\pgfmathtruncatemacro{\Z}{#1}
\pgfmathtruncatemacro{\N}{#2}
\pgfmathtruncatemacro{\Eins}{1}
\pgfmathtruncatemacro{\Numerator}{\Z/gcd(\Z,\N)}
\pgfmathtruncatemacro{\Denominator}{\N/gcd(\Z,\N)}
\ifnum \Denominator = \Eins
$\dfrac{\Z}{\N} = \Numerator$
\else
$\dfrac{\Z}{\N} = \dfrac{\Numerator}{\Denominator}$
\fi
\endgroup
}%%%%%%%%%%%%%%%%%%%%%%%%%%
\rfrac{6}{2} ~~
\rfrac{18}{11} ~~
\rfrac{4}{12}
$
\sourceoff
Mit tikz-math
$
% \begin{tikzpicture} % lädt pgf.sty
% \usetikzlibrary{math}
\newcommand{\rfrac}[2]{%%%%%%%%%%%%%%%%%%%%%%%
\begingroup
\tikzmath{%==================
int \Zaehler, \Nenner, \ggt, \Numerator, \Denominator;
\Zaehler = #1;
\Nenner = #2;
function GCD(\x,\y) {return gcd(\x,\y);};
\ggt = GCD(\Zaehler, \Nenner);
\Numerator = \Zaehler/\ggt;
\Denominator = \Nenner/\ggt;
if \Denominator == 1 then {
print { $\dfrac{\Zaehler}{\Nenner} = \Numerator$};
}
else {
print { $\dfrac{\Zaehler}{\Nenner} = \dfrac{\Numerator}{\Denominator} $};
};
}%==================
\endgroup
}%%%%%%%%%%%%%%%%%%%%%%%
\rfrac{6}{2} ~~
\rfrac{18}{11} ~~
\rfrac{4}{12}
$
\sourceon MP
$
% \begin{tikzpicture} % lädt pgf.sty
% \usetikzlibrary{math}
\newcommand{\rfrac}[2]{%%%%%%%%%%%%%%%%%%%%%%%
\begingroup
\tikzmath{%==================
int \Zaehler, \Nenner, \ggt, \Numerator, \Denominator;
\Zaehler = #1;
\Nenner = #2;
function GCD(\x,\y) {return gcd(\x,\y);};
\ggt = GCD(\Zaehler, \Nenner);
\Numerator = \Zaehler/\ggt;
\Denominator = \Nenner/\ggt;
if \Denominator == 1 then {
print { $\dfrac{\Zaehler}{\Nenner} = \Numerator$};
}
else {
print { $\dfrac{\Zaehler}{\Nenner} = \dfrac{\Numerator}{\Denominator} $};
};
}%==================
\endgroup
}%%%%%%%%%%%%%%%%%%%%%%%
\rfrac{6}{2} ~~
\rfrac{18}{11} ~~
\rfrac{4}{12}
$
\sourceoff
|
Profil
|
Ex_Senior hat die Antworten auf ihre/seine Frage gesehen. Ex_Senior hat selbst das Ok-Häkchen gesetzt. |
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|