TexVar - Simple Algebra System for LuaLaTeX

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Specht08
Forum-Newbie
Forum-Newbie
Beiträge: 1
Registriert: Do 27. Aug 2015, 14:02

TexVar - Simple Algebra System for LuaLaTeX

Beitrag von Specht08 »

Hallo,

ich habe für eine Projektarbeit an der Uni ein Tool entwickelt (in der Arbeit wird dieses Tool verwendet) mit dem man Berechnungen in LaTeX durchführen und dokumentieren kann.
Das Ganze ist in Lua geschrieben und kann über LuaLaTeX verwendet werden.

TexVar (für LaTeX Variable) habe ich laufen parallel zu meiner Projektarbeit weiter entwickelt und anwenderfreundlicher gemacht.

Ich bin jetzt an einem Punkt angekommen an dem ich gerne wissen möchte, was andere Leute davon halten.

Das gesamte Projekt ist auf GitLab gehosted:

https://gitlab.com/Specht08/TexVar

im Wiki (https://gitlab.com/Specht08/TexVar/wikis/home) gibt es eine Befehlsreferenz und im Download Ordner gibt es auch ein Cheatsheet.

Hier noch als Vorgeschmack ein einfaches Beispiel inkl. generiertem PDF.

Ich bin schon auf eure Rückmeldungen gespannt.
\documentclass{article}
%
\usepackage{luacode}
\usepackage[fleqn]{amsmath}
% create commands for units (not needed but good practice) 
\newcommand{\msKpW}{\tfrac{m^2K}{W}}
\newcommand{\WpmsK}{\tfrac{W}{m^2K}}
\newcommand{\WpmK}{\tfrac{W}{mK}}
\newcommand{\m}{m}
%
\begin{document}
Calculating the U-Value for an element with two layers and resistance of surface internal and external.\\

\begin{luacode}
	-- load tVar library
	require("tVar/init.lua")

	-- global Definitions
	tVar.outputMode = "RES_EQ_N"
	tVar.numFormat = "%.2f"
	tVar.numeration = true
		
	-- define variables
	tex.print("\\noindent Resistance of surface")
	R_se = tVar:New(0.04,"R_{se}"):setUnit("\\msKpW"):outRES()
	R_si = tVar:New(0.13,"R_{si}"):setUnit("\\msKpW"):outRES()
	
	tex.print("Parameters for elements")
	d_1 = tVar:New(0.2,"d_1"):setUnit("\\m"):outRES()
	lambda_1 = tVar:New(0.035,"\\lambda_1"):setUnit("\\WpmK"):outRES()
	
	d_2 = tVar:New(0.1,"d_2"):setUnit("\\m"):outRES()
	lambda_2 = tVar:New(0.5,"\\lambda_2"):setUnit("\\WpmK"):outRES()
	
	tex.print("Calculate thermal resistance")
	R = (R_se + d_1/lambda_1 + d_2/lambda_2 + R_si):setName("R"):setUnit("\\msKpW"):print():clean()
	
	tex.print("Calculate U-Value")
	U=(1/R):setName("U"):setUnit("\\WpmsK"):print()
\end{luacode}
\end{document}
Dateianhänge
Example 1.pdf
Ausgabe von Beispielcode
(51.59 KiB) 430-mal heruntergeladen

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Re: TexVar - Simple Algebra System for LuaLaTeX

Beitrag von sudo »

Specht08 hat geschrieben:create commands for units (not needed but good practice)
Oder man verwendet siunitx.
Ein vollständiges Minimalbeispiel (VM) zu erzeugen, ist gar nicht schwer und hilft ganz oft, Fehler selber zu finden. Ohne bekommt man selten gute Antworten. Anleitungen findest du z.B. im golatex Wiki auf TeXWelt oder minimalbeipiel.de
Außerdem hilft das Lesen dieser Seite, Fragen richtig zu stellen.

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Auch bei LaTeX-Community angekündigt.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Antworten