lualatex

LaTeX + LUA?
Mi a fenének a LUA hozzá, sima pdflatex mindenre elég - mondtam pár éve.

Ezen a héten kellett egy jegyzőkönyvet írnom, ahol rengeteg ábra volt, az ábra alá írva a LOG állományból kiszedendő magyarázattal.
És eszembe jutott a lualatex. Eljött az idő ezt is kipróbálni. Végül frankón teljesítette az elvárásaimat.
Alábbi egyszerű alap példán látható a lualatex használata, hátha másnak is jól jön:
 

\documentclass[12pt]{article}
\usepackage{luacode}

\begin{document}

\begin{luacode*}
    function hatvany(n, m)
        local eredmeny = math.pow(n, m)
        tex.sprint(eredmeny)
    end
\end{luacode*}
\newcommand\hatvany[2]{\directlua{hatvany(#1, #2)}}

Kettő a harmadikon: \hatvany{2}{3}

\end{document}

$ sudo apt install texlive-luatex
$ lualatex pelda.tex

Hozzászólások

Mostanában már  külön programokat (szkripteket) használok, és az általuk létrehozott fájlokat illesztem be (meg persze egy kis Makefile, hogy automatizált legyen a történet).

Igen, a témanyitóban írt lualatex sem mindenre megoldás.

  1. csak LUA nyelven használhatod, míg a te megoldásod bármilyen általad ismert nyelvet felhasználhat. LaTeX-ből pedig \include{kiszamolt}
  2. van bizonyos szintű bonyolultság, amelyet nem érdemes LaTeX állományba írt LUA szkripttel kezelni.

Viszont ez is egy működő lehetőség arra, ha LOG fájlból kell bármit a doksiba kiszámolni.

Igen, a témanyitóban írt lualatex sem mindenre megoldás.

Persze, nyilván, nem is úgy értettem, hogy "ciki", csak a saját workflow-mat közöltem. Azért azt is tegyük hozzá, hogy a Lua sok mindenre kényelmesebb, mint a "tiszta" LaTeX, tehát programozhatóság szempontjából azért előrelépés :)

Szerkesztve: 2020. 03. 07., szo - 16:35

Ilyet eddig ezzel oldottam meg:

fp-calculation-variable

példakód:

\documentclass{article}
\usepackage{fp}

\begin{document}
\FPeval{\result}{round(2^3,0)}$2^3=\result$
\end{document}

10-féle lény van:
-- aki ismeri a bináris számrendszert,
-- és amelyik nem.

Szerkesztve: 2020. 03. 07., szo - 16:59

amidőn SI mértékegységekkel is kell tuningolni, az siunitx csomagot is használom:

\documentclass{article}
\usepackage[magyar]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{t1enc}
\usepackage{babel}
\selectlanguage{magyar}
\usepackage{fp}
\usepackage{siunitx}
\usepackage{ifthen}

\def\tmfr#1#2{
\sisetup{
	 round-mode = places,
	 round-precision = 1 % 1 tizedesre kerekit
}%
\FPeval{g}{clip(#1*10)}
\FPeval{a}{clip(#1*1.852)}
\SI[locale = DE]{#1}{\hbox{mérföld}#2}
\ifthenelse{\g > 30}% 30 itt a 3 mérföldet jelenti
{\footnote{\SI[locale = DE]{#1}{tmf}~$\approx$~\SI[locale = DE]{\a}{km}}}{}
}

\begin{document}
\FPeval{\result}{round(2^3,0)}$2^3=\result$

Innen\tmfr{24}{re}találtam egy tengeralattjárót, gumikacsával.
\end{document}

...csak hogy bonyolítsam a topicnyitót :)

szóval mindenféléhez egy rakás alapcsomag használata kell. Ha jól értelmezem, ez a különbség

10-féle lény van:
-- aki ismeri a bináris számrendszert,
-- és amelyik nem.