From 80c76e5e885bfe6d9b3974106faece4740cc1114 Mon Sep 17 00:00:00 2001 From: bernd Date: Fri, 28 May 2021 21:40:18 +0200 Subject: [PATCH] bugfix in check_sty() und install_sty(), umstellung auf absender.lco und option -l --- absender.lco | 23 +++++++++++++++++++++++ rechnung.sh | 23 ++++++++++++++--------- template.ltx | 11 ++++++----- 3 files changed, 43 insertions(+), 14 deletions(-) create mode 100644 absender.lco diff --git a/absender.lco b/absender.lco new file mode 100644 index 0000000..96b1de5 --- /dev/null +++ b/absender.lco @@ -0,0 +1,23 @@ +% eigene Variablen definieren und belegen +\newkomavar[stadt]{fromtown} +\newkomavar[adresse]{fromstreet} +\newkomavar[amtsgericht]{fromcourt} +\newkomavar[ustid]{fromustid} +\newkomavar[iban1]{fromiban1} +\newkomavar[iban2]{fromiban2} +\setkomavar{fromtown}{01234 Musterstadt} +\setkomavar{fromstreet}{Musterstr.\,1} +\setkomavar{fromcourt}{Amtsgericht Musterstadt} +\setkomavar{fromustid}{DE123456789} +\setkomavar{fromiban1}{DE01 2345 6789} +\setkomavar{fromiban2}{2345 6789 01} + +\setkomavar{fromname}{Musterfirma GmbH} +\setkomavar{fromaddress}{Musterstr.\,1\\01234 Musterstadt} +\setkomavar{frommobilephone}[\faMobilePhone~]{01\,23 / 456 78 90} +\setkomavar{fromurl}{https://musterfirma.com/} +\setkomavar{fromemail}[\faEnvelopeO~]{rechnung@musterfirma.com} +\setkomavar{place}{Musterstadt} +\setkomavar{placeseparator}{, } +\setkomavar{signature}{Max Mustermann} +\setkomavar{frombank}{Musterbank AG Musterstadt} diff --git a/rechnung.sh b/rechnung.sh index 4b39dad..2db7ea3 100755 --- a/rechnung.sh +++ b/rechnung.sh @@ -39,7 +39,7 @@ fi # Variablen definieren # -------------------- -PROGRAMM_NAME=$0 +PROGRAMM_NAME=`basename $0` PROGRAMM_VERSION="0.0.1" #VERBOSITY=0 STY_HOME="$HOME/texmf/tex/latex" @@ -47,6 +47,8 @@ STY_RECHNUNG="rechnung.sty" STY_URL="https://github.com/tomka/rechnung" RECHNUNGSFILE="rechnung.ini" TEMPLATEFILE="template.ltx" +LCOFILE="absender.lco" +LCO=$(basename $LCOFILE .lco) SEDFILE="sed.txt" LINE_BUFFER="" KEY_BUFFER="" @@ -155,7 +157,7 @@ print_error() { check_readable() { print_start "Datei $1 ist lesbar ..." - if [ -f "$1" ] && [ -r "$1" ]; then + if test -f "$1" && test -r "$1"; then print_ok else print_failed @@ -167,7 +169,7 @@ check_sty() ( print_start "Suche nach $STY_RECHNUNG ..." rechnung=$(find "$STY_HOME" -type f -name "$STY_RECHNUNG") - if [ "$rechnung" = "" ]; then + if test ! -f "$rechnung"; then print_failed return 1 else @@ -183,7 +185,7 @@ check_binaries() { for program in $binaries; do print_start "Suche nach $program ..." - if [ ! -x "$program" ]; then + if test ! -x "$program"; then print_failed print_error "Das Programm $program wird benötigt, aber nicht gefunden." quit 3 @@ -239,7 +241,7 @@ install_sty() ( old_pwd=$(pwd) - read -r " LaTeX Paket $STY_RECHNUNG installieren? (y/N): " + printf " LaTeX Paket '%s' installieren? (y/N): " $STY_RECHNUNG; read -r REPLY if [ "$REPLY" = "y" ] || [ "$REPLY" = "Y" ] || [ "$REPLY" = "j" ] || [ "$REPLY" = "J" ] then check_binaries "$GIT_BIN $LATEX_BIN" @@ -325,13 +327,13 @@ make_invoice() { dead_days="14" if [ "$(date +%u)" -gt 5 ]; then - dead_days="16" + dead_days="16" fi month_ascii=$(date '+%B') # inv_day=$(date '+%j') inv_date=$(date '+%Y%m%d') - inv_dead=$(date -d "+${dead_days}days" '+%d.\\\\,%m.\\\\,%Y') + inv_dead=$(date -d "+${dead_days}days" '+%d.\\,%m.\\,%Y') rechnungsnummer="$inv_date--$LFDNR" subject="Rechnung zu $SHORT" filename="$(date '+%Y%m%d')_Rechnung_${month_ascii}_$(echo "$KUNDE" | $TR_BIN " " "_").ltx" @@ -340,6 +342,7 @@ make_invoice() { print_info "Erstelle Rechnung: $filename" { + printf "s!#LCOFILE#!%s!\n" "$LCO" printf "s!#SUBJECT#!%s!\n" "$subject" printf "s!#ANREDE#!%s!\n" "$ANREDE" printf "s!#ANSCHRIFT#!%s!\n" "$anschrift" @@ -402,7 +405,7 @@ proced_ini_line() { display_help() ( - echo "Usage: rechnung.sh [-f rechnungsfile] [-h]" + echo "Usage: rechnung.sh [-f rechnungsfile] [-h] [-l lco-file]" ) quit() { @@ -416,11 +419,12 @@ quit() { # --------------------- # # CLI Optionen auswerten -while getopts f:h opt +while getopts f:hl: opt do case $opt in f) RECHNUNGSFILE=$OPTARG;; h) display_help; exit 0;; + l) LCOFILE=$OPTARG;; *) display_help; exit 1;; esac done @@ -441,6 +445,7 @@ fi check_binaries "$EXECUTABLES_TO_CHECK" check_readable "$RECHNUNGSFILE" check_readable "$TEMPLATEFILE" +check_readable "$LCOFILE" if ! check_sty "$STY_HOME"; then print_warn "$STY_RECHNUNG nicht gefunden." install_sty diff --git a/template.ltx b/template.ltx index a9e15a7..4e12d7f 100644 --- a/template.ltx +++ b/template.ltx @@ -17,7 +17,7 @@ parskip=half,% numericaldate=off,%% Datum numerisch ausgeben refline=narrow,%% Geschaeftszeile im Satzspiegel firstfoot=on,%% Footerbereich -octorech]{scrlttr2} + #LCOFILE#]{scrlttr2} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} @@ -35,13 +35,14 @@ octorech]{scrlttr2} \makeatletter \@addtoplength[-]{firstfootvpos}{.75cm} % Fuß ein Stück nach oben \makeatother + \setkomavar{firstfoot}{\footnotesize% \rule[3pt]{\textwidth}{.4pt} \\ \begin{tabularx}{\textwidth}{XXl} - OctoPi.Consulting & Amtsgericht Jena & \textbf{Bankverbindung}\\ - Jens Kubieziel & USt.-IdNr.: & IBAN: DE50 8204 0000\\ - Zitzmannstr.\,15 & DE298453137 & \hfill{}0264 3955 00\\ - 07743 Jena & & Commerzbank AG Jena + \usekomavar{fromname} & \usekomavar{fromcourt} & \textbf{Bankverbindung}\\ + \usekomavar{signature} & USt.-IdNr.: & IBAN: \usekomavar{fromiban1}\\ + \usekomavar{fromstreet} & \usekomavar{fromustid} & \hfill{}\usekomavar{fromiban2}\\ + \usekomavar{fromtown} & & \usekomavar{frombank} \end{tabularx}% }