# LuaLaTeX #
Hier ist eine Lösung die auf LuaLaTeX beruht. (Fürs Original dieser Antwort siehe [diesen Beitrag][1] in TeX.SE. Die hier-präsentierte Lösung unterscheidet sich vom Original hauptsächlich dadurch, dass sie mit `pstricks` zusammenarbeitet.) Der code hat ein TeX-seitiges Makro names `\MyMathFunction`, welches `\myMathFunction` und eine Lua-seitige Funktion names `mymathmacro` aufruft.
Lua(La)TeX erzeugt normalerweise `.pdf` files. Ich kenne mich nicht gut aus mit `pstricks`, glaube aber dass es nötig ist `mymathmacro`.
Die Eingabe braucht keine Konstante zu sein; sie könnte selber das Dokument (z.B., `mymath.tex`) in `.dvi`-Format zu kompilieren. Man kann dies tun in dem man LuaLaTeX wie folgt vom command prompt (oder terminal) aufruft:
lualatex --output-format=dvi mymath
Anschliessend Verarbeitung mit `dvips`:
dvips mymath
Hier also der Quell-code:
Resultat einer Kalkulation.
![alt text][2]
% !TEX TS-program = lualatex
\documentclass[pstricks]{article}
\usepackage{pst-plot}
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Latin Modern Roman}
\usepackage{luacode} % für 'luacode' Umgebung
\usepackage{luatexbase} % für '\luatexluaescapestring' Makro
% Lua-seitig
\begin{luacode}
function mymathfunction( x )
return 5*x - x^2 -- die gewünschte Funktion hier spezifieren
end
\end{luacode}
% TeX-seitig
\newcommand\myMathFunction[1]{%
\ifx#1x (#1*5)-(#1)^2 % mit Henri's Trick...
\else \directlua{ tex.sprint(
tex.sprint(
mymathfunction( "\luatexluaescapestring{#1}" ))}
\fi}
))}}
\begin{document}
\begin{pspicture}(-1,-1)(6.5,7)
\psaxes{->}(6.5,6)
\psplot[
algebraic,
linecolor = red,
linewidth = 1pt
]{0}{TwoPi}
{\myMathFunction{x}}
\end{pspicture}
Der Wert von \texttt{\textbackslash myMathFunction\{2\}} ist
\myMathFunction{ 2 }.
Der Wert von \texttt{\textbackslash myMathFunction\{exp(1)\}} ist
\myMathFunction{\directlua{ tex.sprint(math.exp(1)) }}.
Der Wert von \texttt{\textbackslash myMathFunction\{$\pi$\}} ist
\myMathFunction{\directlua{ tex.sprint(math.pi) }}.
\end{document}
[1]: http://tex.stackexchange.com/a/147919/5001http://tex.stackexchange.com/a/147919/5001
[2]: http://texwelt.de/wissen/upfiles/mew.png