Erstellt vor 4 Jahren

Geschlossen vor 3 Jahren

#1522 closed Fehler (fixed)

alternatives LaTeX Template system "fancy LaTeX"

Erstellt von: wulf@… Verantwortlicher: wulf@…
Priorität: normal Meilenstein:
Komponente: kivitendo ERP Version: 2.7.0 unstable
Schweregrad: Verbesserung Stichworte: Bericht
Beobachter: m.bunkus@…, wulf@…, raimocom@…

Beschreibung

Wie mit Moritz im IRC kurz angesprochen im anhaengenden Patch ein alternatives LaTeX Vorlagen System fuer alle Briefbasierten Dokumente mit Artikel-Tabellen

Schwerpunkte:

  • leichte Erstinstallation
  • keine redundanten Angaben in den Vorlagen
  • Mehrsprachigkeit
  • Ausgabe von Brutto/Netto? Preisen
  • Leichtes Anpassen des Briefkopf-Layouts fuer die eigenen Beduerfnisse.

Zur uebersicht einfach mal das README file lesen.

Es gibt ein Setupscript. Wenn eine laufende lxo-erp Anwendung vorhanden
ist (incl Datenbank) muss man nur dies Script aufrufen und ein paar
Fragen beantworten -- und schon hat man eine Funktionierende Vorlagen
Umgebung.

Nachteil:

Der Teil der die Artikeltabellen erstellt ist eher Komplex. Da LaTeX
ohnehin eine steile Lehrnkurve hat, sind Aenderungen am
Erscheinungsbild der Tabellen eher nichts fuer das 1. Lehrjahr.

Mahnungen sind noch nicht beruecksichtigt, sollen aber folgen,
wenn dies erstmal im code ist.

Ich wuerde mich freuen, wenn diese Alternative aufgenommen wird und kann
das auch gerne weiter betreuen.

Die Dukumentation steht z.Z. nur im README, ich schreibe das dann gerne
auch nach doc/INSTALL/*.html aber erstmal soll Moritz drueber schauen.

Anhänge (6)

f-tex.diff (101.2 KB) - hinzugefügt von wulf@… vor 4 Jahren.
patch mit alternativem LaTex? Template system
f-tex.2.diff (102.4 KB) - hinzugefügt von wulf@… vor 4 Jahren.
ersetzt ersten patch
f-tex.3.diff (103.3 KB) - hinzugefügt von wulf@… vor 4 Jahren.
Fancy LaTeX
Form.pm.diff (725 Byte) - hinzugefügt von wulf@… vor 4 Jahren.
Zahlart-Namen in Template verfuegbar machen (Form.pm)
setup-fehler.txt (3.3 KB) - hinzugefügt von m.bunkus@… vor 4 Jahren.
Fehlermeldung vom Setup-Script
pfaderkennung.diff (368 Byte) - hinzugefügt von m.bunkus@… vor 4 Jahren.
Fix für fehlerhafte Pfaderkennung in setup.sh

Alle Anhänge herunterladen als: .zip

Änderungshistorie (38)

Geändert vor 4 Jahren durch wulf@…

patch mit alternativem LaTex? Template system

comment:1 Geändert vor 4 Jahren durch wulf@…

  • Beobachter wulf@… hinzugefügt

comment:2 Geändert vor 4 Jahren durch m.bunkus@…

  • Status von new nach assigned, m.bunkus@linet-services.de geändert
  • Verantwortlicher von p.reetz@… nach m.bunkus@… geändert

Ich würd mir das gerade morgen oder Donnerstag anschauen. Wenn du bis dahin eine aktualisierte Version des Patches hinkriegen würdest, wäre das super.

Du hast in #1445 geschrieben, dass du weiter anpassen musst, weil ich packing_list als Vorlage entfernt habe (bei pick_list wurden nur Übersetzungen angepasst). Generell war packing_list noch an mehreren Stellen im Quellcode erwähnt, aber nicht mehr zum Drucken auswählbar. Betrifft das dich bzw. diesen Patch dann sehr?

comment:3 Geändert vor 4 Jahren durch wulf@…

Ich würd mir das gerade morgen oder Donnerstag anschauen. Wenn du bis dahin
eine aktualisierte Version des Patches hinkriegen würdest, wäre das super.

Ist nicht viel Arbeit, will es nur nicht dreimal machen und es aendert
sich gerade viel.

sprich auch mal mit Sven, denn es gibt noch einen Abhaengigkeit hier:
https://lx-office.linet-services.de/bugzilla/show_bug.cgi?id=1497

Betrifft das dich bzw. diesen
Patch dann sehr?

nein es gibt vor allem zu viele Symlinks, muss ich aber eben noch
einmal testen. Muss ja fuer jede kosmetische Aenderung sonst hier nen
neuen Bug aufmachen.

Geändert vor 4 Jahren durch wulf@…

ersetzt ersten patch

comment:4 Geändert vor 4 Jahren durch wulf@…

  • attachments.isobsolete von 0 nach 1 geändert
  • pick_list integriert
  • mydata.tex Struktur geaendert (ermoeglicht koma script unabhaengige Verwendung)
  • kosmetik

soweit ich laut ls ~/templates/*.tex sehe fehlen z.Z.

bin_list
purchase_order
receipt
check
ustva
statement

kann man das ein oder andere bestimmt noch mit aufnehmen -- ich weiss
aber nicht bei allem wofuer es gut ist.

comment:5 Geändert vor 4 Jahren durch m.bunkus@…

purchase_order wäre wichtig, das ist die Lieferantenbestellung.

Den Rest kannst du getrost weglassen.

Geändert vor 4 Jahren durch wulf@…

Fancy LaTeX

comment:6 Geändert vor 4 Jahren durch wulf@…

  • attachments.isobsolete von 0 nach 1 geändert

purchase_order wäre wichtig, das ist die Lieferantenbestellung.

kann es nun auch. Es orientiert sich an:

~/templates/Default-purchase_order.tex

Ausgabe ist aber unschluessig, siehe lx-erp-user mail

Den Rest kannst du getrost weglassen.

request_quotation ware dann noch angebracht, oder?
aber da habe ich Schwierigkeiten, das ueberhaupt in Gang zu bekommen.

Zu beiden Punkten:

http://sourceforge.net/mailarchive/message.php?msg_id=26821303

Geändert vor 4 Jahren durch wulf@…

Zahlart-Namen in Template verfuegbar machen (Form.pm)

comment:7 Geändert vor 4 Jahren durch wulf@…

sehe gerade, vor lauter hin und her ist der Form.pm patch rausgworfen
(macht den Namen der Zahlart im LaTeX Template verfuegbar)

Habe ihn als einzelne Datei angehaengt, da es die einzige Aenderung ausserhalb von ~/templates/f-tex ist

comment:8 Geändert vor 4 Jahren durch m.bunkus@…

Danke für deine ganze Arbeit. Ich fürchte, zur 2.6.2 werde ich es doch noch nicht integrieren; dazu läuft mir bis Ende Januar etwas die Zeit davon -- vor allem, weil davon ja auch #1416 betroffen ist. Danach soll es definitiv rein.

comment:9 Geändert vor 4 Jahren durch wulf@…

.. Ich fürchte, zur 2.6.2 werde ich es doch noch
nicht integrieren; dazu läuft mir bis Ende Januar etwas die Zeit davon

schon ok (freue mich ja, dass es ueberhaupt Beachtung findet)

Bitten/Vorschlaege?

  1. Ich packe meine Sachen in ein lesbares Git, dann kann ich es leichter auf dem Laufenden halten, oder ist das fuer Euch doof?
  1. kannst Du das einchecken:

git fetch lxo-wulf
git merge lxo-wulf/publish_1522_payment_terms.description
commit-message: Macht Name der Zahlart in Templates Verfuegbar

  • sind nur 2 geanederte Zeilen
  • habe es nicht nicth dokumentiert denn description_long habe ich auch noch nicht in doc/dokumentenvorlagen-und-variablen.html gefunden
  • ich benutze das so und habe keine Konflikte mit der artikel-description (lieg ja im for each eine ebene tiefer), aber man kann es natuerlich auch unter einem anderen Namen verfuegbar machen.


  1. dieser 2 Patch waere schon echte Kuer (dann waere naemlich alles drinn was != templates/f-tex ist) wenn's zu lange zum nachvollziehen braucht verstehe ich das.


git merge lxo-wulf/publish_1497_raw_numbers
commit-message: #1497, Macht Name der Zahlart in Templates Verfuegbar

  1. Ihr sagt mir einfach wie ich Euch leichter machen kann (die trailing whitespaces habe ich hoffentlich meinem vim schon abgewoehnt)

allem, weil davon ja auch #1416 betroffen ist. Danach soll es definitiv
rein.

ahh, erschliesst sich mir nicht, oder meintest Du 1497?

Fuehlt Euch nicht gedraengeld

comment:10 Geändert vor 4 Jahren durch raimocom@…

  • Beobachter raimocom@… hinzugefügt

Hallo Wulf,

in der setup.sh steckt ein kleiner Stolperstein. Mit dem #!/bin/sh Shebang kassiere ich folgenden Skriptabbruch:


I understand the above warnings [YES/NO/Q]: YES
accepted./setup.sh: 222: function: not found

[error] ...... -C ...... [terminate script]


Mit #!/bin/bash klappts.

(In reply to comment #6)

Created attachment 279 [details]
Fancy LaTeX

purchase_order wäre wichtig, das ist die Lieferantenbestellung.

kann es nun auch. Es orientiert sich an:

~/templates/Default-purchase_order.tex

Ausgabe ist aber unschluessig, siehe lx-erp-user mail

Den Rest kannst du getrost weglassen.

request_quotation ware dann noch angebracht, oder?
aber da habe ich Schwierigkeiten, das ueberhaupt in Gang zu bekommen.

Zu beiden Punkten:

http://sourceforge.net/mailarchive/message.php?msg_id=26821303

comment:11 Geändert vor 4 Jahren durch wulf@…

  • attachments.isobsolete von 0 nach 1 geändert

comment:12 Geändert vor 4 Jahren durch wulf@…

  • attachments.isobsolete von 0 nach 1 geändert

comment:13 Geändert vor 4 Jahren durch wulf@…

in der setup.sh steckt ein kleiner Stolperstein. Mit dem #!/bin/sh Shebang
kassiere ich folgenden Skriptabbruch:

ja, bekannt und gefixed. Die Patches sind nicht aktuell. Daneben gibt es diverse
kleine Fixes die Du Dir im git-log ansehen kannst. Der koma-Script-fu in
sample.lco macht im Bezug auf die Seitenraender nach squeeze Update auch
mucken, da habe ich eine Loesung im umgesetzt, die ist aber noch
nicht im meinem oeffentlichen git commitet. (meist liebe ich LaTeX,
manchmal ertrage ich es).

Ich habe alle Erweiterungen im Git, da das sonst mit der Pflege der
lange anhaengigen Patches hier ausartet. Habe auch auf dem Plan die
bug-Eintraege zu aktualisieren und fuer Unstable fit zu machen.

git remote add lxo-wulf git://gpl.coulmann.de/git/lxo-wulf.git
git fetch lxo-wulf
git log lxo-wulf/publish_1522_fancy_latex
git log lxo-wulf/publish_1522_payment_terms.description

und natuerlich verwandt:

https://lx-office.linet-services.de/bugzilla/show_bug.cgi?id=1497
git log lxo-wulf/publish_1497_raw_numbers

Es gibt eine weitere Erweiterung zum Drucken von Adressaufklebern aus erp
die aber noch nicht im Bugzilla steht.

git log lxo-wulf/2.6.2-stable_extend_lp

das setup-script von f-tex kann aus Wartungsgruenden nun beides, daher
hat sich da eh einiges getan.

Braucht alles noch mal ein verregnetes Wochenende fuer saubere
Veroeffentlichung.

Danke fuer Dein Feedback.
Bei Fragen schau ruhig auch einfach bei irc.freenode.org #lx-office
vorbei.

comment:14 Geändert vor 4 Jahren durch raimocom@…

git remote add lxo-wulf git://gpl.coulmann.de/git/lxo-wulf.git
git fetch lxo-wulf
git log lxo-wulf/publish_1522_fancy_latex
git log lxo-wulf/publish_1522_payment_terms.description

und natuerlich verwandt:

https://lx-office.linet-services.de/bugzilla/show_bug.cgi?id=1497
git log lxo-wulf/publish_1497_raw_numbers

So, ich habe mich jetzt erfolgreich durch das "unentdeckte git-Land" gekämpft und mir deine Dateien gezogen. Ein paar "git pull"s habe ich deiner Anleitung noch hinzufügen müssen.

Es gibt eine weitere Erweiterung zum Drucken von Adressaufklebern aus erp
die aber noch nicht im Bugzilla steht.

git log lxo-wulf/2.6.2-stable_extend_lp

das setup-script von f-tex kann aus Wartungsgruenden nun beides, daher
hat sich da eh einiges getan.

. . und bei Einbau desselben hat sich ein Fehler eingeschlichen :)

In Zeile 82 steht


BASE_DIR=echo -n $0 | sed 's/setup\.sh$//'


Das führt zum Skriptabbruch, wenn setup.sh via ./setup.sh gestartet wird

Ich habs durch das wohl eigentlich gemeinte


BASE_DIR=pwd


ersetzt und konnte das Setup so erfolgreich durchlaufen.

So, jetzt teste ich mal dein Vorlagensystem.

Danke fuer Dein Feedback.
Bei Fragen schau ruhig auch einfach bei irc.freenode.org #lx-office
vorbei.

Danke für den Tip! IRC-Client eben installiert, wir treffen uns sicher in Kürze da.

comment:15 Geändert vor 4 Jahren durch wulf@…

.. Ein paar "git pull"s habe ich deiner Anleitung
noch hinzufügen müssen.

ahh, sorry, die war auch nur als Faehrte gedacht und nicht als copy
paste Anleitung.

. . und bei Einbau desselben hat sich ein Fehler eingeschlichen :)

In Zeile 82 steht


BASE_DIR=echo -n $0 | sed 's/setup\.sh$//'


Das führt zum Skriptabbruch, wenn setup.sh via ./setup.sh gestartet wird

Ich habs durch das wohl eigentlich gemeinte


BASE_DIR=pwd


ersetzt und konnte das Setup so erfolgreich durchlaufen.

Vorsicht, pwd ist nicht das selbe wie mein Aufruf. Du warst wohl im
Templateverzeichnis als Du das Script gestartet hast, dann geht auch
pwd. Ich rufe das immer vom lxo home aus auf, werde den gefundenen
Fehler fixen.

comment:16 Geändert vor 4 Jahren durch raimocom@…

Vorsicht, pwd ist nicht das selbe wie mein Aufruf. Du warst wohl im
Templateverzeichnis als Du das Script gestartet hast, dann geht auch
pwd. Ich rufe das immer vom lxo home aus auf, werde den gefundenen
Fehler fixen.

Ja, der Ansatz war etwas naiv.

  1. Versuch:

* setup.sh_orig 2011-04-18 19:09:44.000000000 +0200
--- setup.sh 2011-04-19 03:29:42.000000000 +0200
*
* 80,84

'

! BASE_DIR=echo -n $0 | sed 's/setup\.sh$//'

MODUL=basename ${BASE_DIR}
export TEXINPUTS=".:${BASE_DIR}/:"

--- 80,85 ----

'

! BASE_DIR=dirname $0
! [ "$BASE_DIR" = "." ] && BASE_DIR="$PWD"

MODUL=basename ${BASE_DIR}
export TEXINPUTS=".:${BASE_DIR}/:"


Ist nicht wasserdicht (././setup.sh klappt nicht), sollte aber genügen.

Raimo

comment:17 Geändert vor 4 Jahren durch wulf@…

Hallo Raimo,

On Tue, Apr 19, 2011 at 01:53:34AM +0200, Raimo Michaelis wrote:

ich habe noch ein bißchen Fehlersuche betrieben. Das Thema UTF-8 hat
sich geklärt.

was war?

Scheint alles i.O. Kann man auch in den PDFs im Archiv,

daß ich unten beigefügt habe, sehen. Umlaute sind drin, sieht alles
gut aus. Kopf- /Fußzeilen und die Absenderanschrift für den
Fensterbriefumschlag müßten aber auch da sein, oder?

http://dl.dropbox.com/u/1867772/f-tex-output_raimo.zip

Hey das sieht doch wirklich gut aus ;-). Nein, eigentlich meine ich das
sogar ernst.

Background:

Urspruenglich war meine Idee, ich nehme die Koma Brief Klasse, die ich
auch fuer meine Firmenpost einsetze. Hier mal ein Soll Beispiel dazu.
http://gpl.coulmann.de/scrlttr2.html
Ergebnis: http://gpl.coulmann.de/brief.pdf

Eigentlich nacheliegend, man pflegt eine foo.lco und gut, koennte so
schick sein.

Was spricht dagegen:

  • Koma ist an manchen Stellen nicht so gut wie ich mir das wuensche. Zum Beispiel vorschwinden die Fusszeilen ohne Aenderung am LaTeX nach squeeze update (das gilt genauso fuer die die Debian Kinder beim entsprechenden Versionssprung der Pakete. Die werden einfach ausserhalb der Seite gedruckt. Kann man sich ueber hindaengeln der Laengen wieder fixen, aber:
    • das nervt, denn es passiert im falschen Moment
    • ich kann mir das fuer mich machen, aber ich will das nicht nach aussen supporten, also veroeffentliche ich es so nicht.
  • kenne niemand ausser mir (im lxo-umfeld) der LateX sonst noch verwendet, fuer den also identische *.lco ein echter Vorteil ist
  • die *.lco so zu erstellen, dass sie den eigenen Briefkopf wiederspiegelt ist eher was fuer's 2. Lehrjahr. Da will ich auch nicht die auftretenden Fragen am Bein haben.

Ich finde die Umsetzung, den Briefkopf als PDF zu hinterlegen eine
fuer lxo gute Loesung.

  • man kann den Vorhandenen Briefkopf als pdf speichern und einfach verwenden. Wenn es noch keinen gibt, ist das erstellen eines pdf mit Werkzeugen wie inkscape, oowriter und co fuer viele zugaenglicher.


  • es laesst sich der Vorteil von LaTeX in LXO nutzten, ohne in LaTeX einsteigen zu muessen.

Ich werde ein Beispielbriefkopf als PDF mit ausliefern und gemaess oben
anpassen. Sollte so ab 25.04.2011 im git lxo-wulf verfuegbar sein.

Unabhängig davon, was ich ausdrucken lasse, kommt jetzt immer derselbe Fehler:
! LaTeX Error: There's no line here to end.

die mache ich noch raus.

comment:18 Geändert vor 4 Jahren durch wulf@…

changelog:

setup.sh

  • fix script location check
  • change reading of config/authentication.pl to config/lx_office.conf
  • set url of raw_number_patch to git lxo-wulf
  • change from sample.lco to sample_head.pdf

grafic personalisation is now handled via backround pdf (plain LaTeX is
still possible for advanced LaTeX users)


README

  • fix debug hint in README
  • improvment to match background pdf


translations.tex

  • fix missing de translation carry -> Übertrag
  • fix typo "Mehrwehrtsteuer"

aeltere fixes:

  • fix line ending error
  • fix linebreak bug (since debian squeeze)
  • fix fehlendes Angebotsdatum
  • workarround fuer Kunden ohne Laenderangabe
  • setup.sh angepasst, so dass es 1:1 fuer lp verwendet werden kann
  • setup.sh interpreter nun explizit /bin/bash
  • delete trailing-whitespaces
  • fix der such nach benoetigten LaTeX Packeten (f-tex/*.sty wurde nicht geprueft)
  • add subtotal_num, sellprice_num

aktuelle patches unter

git://gpl.coulmann.de/git/lxo-wulf.git

branch: publish_1522_fancy_latex
branch: publish_1522_payment_terms.description

rebased to

commit 915e943a8fa8ab2a32576d4609632d598898cf20
Merge: 7b47939 27ae865
Author: C. Braun <information@…>
Date: Fri May 13 15:46:47 2011 +0200

comment:19 Geändert vor 4 Jahren durch wulf@…

branch: publish_1522_payment_terms.description
ist bereits eingespielt

comment:20 Geändert vor 4 Jahren durch wulf@…

branch: publish_1522_fancy_latex

commit 67978410194ca655aa771bf8f4f6068f316a95fc
Author: wulf@… <wulf@…>
Date: Mon May 16 19:02:34 2011 +0200

angepasst an _nofmt (statt _num)

comment:21 Geändert vor 4 Jahren durch wulf@…

commit 00bb9aff615ce2cb1a7d7681aa0f44bb261a3126
Author: wulf@… <wulf@…>
Date: Mon May 16 19:32:42 2011 +0200

_raw entfehrnt

Geändert vor 4 Jahren durch m.bunkus@…

Fehlermeldung vom Setup-Script

comment:22 Geändert vor 4 Jahren durch m.bunkus@…

setup.sh bricht bei mir ab. Ubuntu 10.10 64bit; aktuelles Verzeichnis ist ".../lx-office/templates/f-tex".

Dumm ist, wenn man setup.sh mittels "cd templates/f-tex; ./setup.sh" aufruft :)

Geändert vor 4 Jahren durch m.bunkus@…

Fix für fehlerhafte Pfaderkennung in setup.sh

comment:23 Geändert vor 4 Jahren durch m.bunkus@…

setup.sh checkt noch auf Präsenz von config/lx-erp.conf

comment:24 Geändert vor 4 Jahren durch wulf@…

gnarf, da waren nicht alle Aenderungen aus dem dev-git in das publish-git gewandert, vor allem setup.sh war eine alte Version. Schau ich in Ruhe durch und mach noch einen Testlauf und gebe hier Bescheid.

comment:25 Geändert vor 4 Jahren durch wulf@…

  • attachments.isobsolete von 0 nach 1 geändert

comment:26 Geändert vor 4 Jahren durch wulf@…

  • attachments.isobsolete von 0 nach 1 geändert

comment:27 Geändert vor 4 Jahren durch wulf@…

sollte nun tun (hoffentlich ...)

commit 19b6eed52c2e099f82285494da5d2fe7725f2ba2
Author: wulf@… <wulf@…>
Date: Tue May 17 18:31:11 2011 +0200

include import missing setup.sh update
switch to readlink for path determination
change raw_number_values
remove linetotal_raw
disable force to fill mydata.tex

comment:28 Geändert vor 3 Jahren durch m.bunkus@…

Mir ist diese "_nofmt"-Variante ein echter Dorn im Auge. Riesiger Nachteil ist, dass man sich immer daran erinnern muss, neu eingeführte Variablen sowohl formatiert als auch unformatiert an das Template-System zu übergeben.

Da wir so ein Feature aber gerade für einen Kunden brauchen, habe ich in Revision ac9bfb42 eine Änderung eingebaut, mit der ein Template exakt sagen kann, wenn es einen Wert unformatiert haben will:

<%variablenname NOFORMAT%>

Ein ähnliches Flag gibt's schon länger, das das Escapen von Sonderzeichen unterdrückt (<%variablenname NOESCAPE%>), die Syntax ist also nicht neu.

comment:29 Geändert vor 3 Jahren durch wulf@…

(In reply to comment #26)

<%variablenname NOFORMAT%>

eine sehr schoene Loesung.

Ich habe 3 offene Bugs, die mache ich voraussichtlich bis 15.11. raus.
Dann mache ich einen neuen Branch fuer unstable mit den Anpassungen.
Und gebe hier Bescheid. Damit bleibt der aktuelle Branch fuer 2.6.2
erhalten.

Schoen waere es, wenn wir es dann verhaeltnismaessig zeitnah einchecken
koennen, damit es nicht wieder an einem kleinen Ups in Verbindung
mit Zeitmangel scheitert.

comment:30 Geändert vor 3 Jahren durch wulf@…

Ich habe 3 offene Bugs, die mache ich voraussichtlich bis 15.11. raus.
Dann mache ich einen neuen Branch fuer unstable mit den Anpassungen.
Und gebe hier Bescheid. Damit bleibt der aktuelle Branch fuer 2.6.2
erhalten.

done, sieht gut aus.

git://gpl.coulmann.de/git/lxo-wulf.git
branch: fancy_latex_unstable

dann koennen die *_nofmt zeilen wieder raus und die Doku zu der NOFORMAT Option noch angepasst werden. Soll ich dazu einen Patch machen?

comment:31 Geändert vor 3 Jahren durch wulf@…

  • Version von 2.6.2 unstable nach 2.7 unstable geändert

comment:32 Geändert vor 3 Jahren durch wulf@…

  • Lösung auf fixed gesetzt
  • Status von assigned nach closed geändert
  • Verantwortlicher von m.bunkus@… nach wulf@… geändert

in unstable 2.7.0-unstable seit commit f0e9585f5e47401746e78b8b939078d80a848120

Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.