hanspi42 / signalflowgrapher

This Python tool allows you to draw signal-flow graphs, calculate transfer functions (SymPy code is generated for further use in Jupyter notebooks), do graph manipulations (e.g., node elimination and graph transposition), and save a graph as TikZ for use in LaTeX documentation.
Artistic License 2.0
30 stars 6 forks source link

Spezielle Symbole in Beschriftungen werden für den TikZ Export nicht konvertiert #11

Open hanspi42 opened 3 years ago

hanspi42 commented 3 years ago

g104_ub.zip

Package inputenc Error: Unicode character β (U+03B2)(inputenc) not set up for use with LaTeX. ...ame] at($ (middle_3) + (0.0, -40.0) $) {β Offenbar müssen für bestimmte Unicode Zeichen noch zusätzliche Imports gemacht werden (siehe beispielsweise [http://tug.ctan.org/language/greek/greek-inputenc/greek-utf8.pdf]).

Das ist sehr schwierig generell zu lösen; ich würde diese Issue jetzt nicht weiterbearbeiten. Es reicht im Moment völlig, wenn der UTF-8-Export fehlerfrei ist.

Hat jemand auf dem Netz eine gute Idee?

Doeme commented 3 years ago

XeLaTeX/LuaLaTeX verpflichtend machen? Diese können nativ mit Unicode umgehen. Damit die Symbole dann auch angezeigt werden, muss eine Systemfont (Truetype, Opentype) verwendet werden, welche die meisten sinnvollen Glyphen beinhaltet (z.B. Charis SIL). Für exotische Glyphen die nicht in der Font enthalten ist (e.g. 💩), wird einfach eine leere Box ( □ ) eingesetzt.

Alternativ gibt es hier eine Datenbank von Unicode-codepoints und den entsprechenden Latex-kommandos:

Dies kann genutz werden, um bein LaTeX-Printing mit der sympy.printing.latex.latex-Funktion über das symbol_names-Argument eine Konvertierung in LaTeX-Kommandos zu machen

hanspi42 commented 3 years ago

Oh, danke! Ein easy way out. Die Idee ist ohnehin, dass ein TikZ-Graph noch angepasst werden muss, da die Branches SymPy-Ausdrücke sind, in einer Doku mathematische Schreibweise aber sinnvoller ist.

Deshalb werden wir das einfach dokumentieren und sagen: if UTF-8 then XeLaTeX/LuaLaTeX.

hanspi42 commented 3 years ago

P.S.: Der Fix von issues #3 und #22 öffnet schon sehr gute Möglichkeiten, ein branch weight beta wird im LaTeX-code jetzt als $\beta$ erscheinen.