Folgender Code berechnet einen reduzierten Bruch. Wie kann ich das, für mehr Flexibilität, mit der Bibliothek math umsetzen?

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
%\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}
% 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
%Tut nicht:
%\tikzmath{
%function GCD(\x, \y) {return gcd(x,y);};
%int \G;
%\G = GCD(\x, \y);
%}
%\G(42,21)
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gefragt 02 Jan '18, 16:52

cis's gravatar image

cis
9.6k104462491
Akzeptiert-Rate: 29%

bearbeitet 02 Jan '18, 17:51


Hab es hinbekommen:

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\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 {
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Permanenter link

beantwortet 02 Jan '18, 18:43

cis's gravatar image

cis
9.6k104462491
Akzeptiert-Rate: 29%

bearbeitet 02 Jan '18, 18:43

Sehr ähnlich mit Lua:

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\documentclass{article}
\usepackage{amsmath}
\usepackage{luacode}
\begin{luacode*}
-- https://de.wikipedia.org/wiki/Euklidischer_Algorithmus
local function gcd(a,b)
return (b ~= 0) and gcd(b,a%b) or a
end
function reduce(a,b)
local c = gcd(a,b)
local a = a/c
local b = b/c
if (b == 1) then
tex.sprint(a)
else
tex.sprint("\\frac{" .. a .. "}{" .. b .. "}")
end
end
\end{luacode*}
\newcommand\rfrac[2]{\directlua{reduce(#1,#2)}}
\begin{document}
$\rfrac{6}{2}$
$\rfrac{17}{11}$
$\rfrac{4}{12}$
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

alt text

Permanenter link

beantwortet 03 Jan '18, 00:08

Henri's gravatar image

Henri
15.7k143943
Akzeptiert-Rate: 46%

bearbeitet 03 Jan '18, 00:10

Deine Antwort
[Vorschau ausblenden]

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

Frage-Themen:

×731
×5
×4

gestellte Frage: 02 Jan '18, 16:52

Frage wurde gesehen: 6,846 Mal

zuletzt geändert: 03 Jan '18, 00:10