chore(pdf): pdf generation working with texlive-basic-scheme

This commit is contained in:
Steffen Jost 2022-06-09 11:59:19 +02:00
parent c0eafdd1c8
commit 77f09f05f5
6 changed files with 105 additions and 120 deletions

View File

@ -22,12 +22,14 @@ let
uniworx.uniworx.components.exes.uniworx
prev.dockerTools.binSh findutils coreutils
iana-etc
# for PDFLaTeX for pandoc PDF creation
# for PDF creation with Pandoc and LuaTeX
cups # needed for interface with print center
#texlive.combined.scheme-medium # too large for container in LMU build environment.
(texlive.combine {
inherit (texlive) scheme-basic xcolor "scrlttr2"
# lualatex
inherit (texlive) scheme-basic
babel-german babel-english booktabs
enumitem eurosym koma-script parskip xcolor
# required fro LuaTeX
luatexbase unicode-math lualatex-math selnolig
;
})

View File

@ -74,12 +74,17 @@ in pkgs.mkShell {
++ (with pkgs;
[ nodejs-14_x postgresql_12 openldap google-chrome exiftool memcached minio minio-client
gup skopeo
texlive.combined.scheme-medium
#texlive.combined.scheme-full # works
#texlive.combined.scheme-medium
# texlive.combined.scheme-small
#(texlive.combine {
# inherit (texlive) scheme-basic xcolor scrlttr2 luatexbase unicode-math lualatex-math selnolig;
# ERROR: attribute 'scrlttr2' missing - gleicher Fehler kommt bei ausgedachten Namen, auch ohne Zahl am Ende
#})
(texlive.combine {
inherit (texlive) scheme-basic
babel-german babel-english booktabs
enumitem eurosym koma-script parskip xcolor
# required fro LuaTeX
luatexbase lualatex-math unicode-math selnolig
;
})
]
)
++ (with pkgs.haskellPackages; [ stack yesod-bin hlint cabal-install weeder profiteur ]);

View File

@ -297,7 +297,7 @@ getAdminTestPdfR = do
doc1 <- P.readMarkdown readeropts md
doc2 <- P.writeMarkdown writeropts1 doc1
doc3 <- P.readMarkdown readeropts doc2
P.makePDF "pdflatex" texopts P.writeLaTeX writeropts2 $
P.makePDF "lualatex" texopts P.writeLaTeX writeropts2 $
P.setDate (P.text . tshow $ utctDay now) doc3
case content of
Right (Right bs) -> do

View File

@ -10,8 +10,51 @@
pagenumber=botright % show pagenumbers on bottom right
]{scrlttr2}
\usepackage[ngerman]{babel}
\PassOptionsToPackage{hyphens}{url}
\PassOptionsToPackage{unicode$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref}
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
\hypersetup{
$if(title-meta)$
pdftitle={$title-meta$},
$endif$
$if(author-meta)$
pdfauthor={$author-meta$},
$endif$
$if(lang)$
pdflang={$lang$},
$endif$
$if(subject)$
pdfsubject={$subject$},
$endif$
$if(keywords)$
pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$},
$endif$
}
\usepackage{url}
\usepackage{iftex}
%\usepackage[ngerman]{babel}
$if(lang)$
\ifLuaTeX
\usepackage[bidi=basic]{babel}
\else
\usepackage[bidi=default]{babel}
\fi
\babelprovide[main,import]{$babel-lang$}
$for(babel-otherlangs)$
\babelprovide[import]{$babel-otherlangs$}
$endfor$
% get rid of language-specific shorthands (see #6817):
\let\LanguageShortHands\languageshorthands
\def\languageshorthands#1{}
$endif$
\ifLuaTeX
\usepackage{selnolig} % disable illegal ligatures
\fi
\ifPDFTeX
\usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc}
\usepackage[utf8]{inputenc}
@ -36,7 +79,6 @@ $endif$
\usepackage[right]{eurosym}
\usepackage[hyphens]{url}
\usepackage{enumitem}
\makeatletter
@ -51,11 +93,11 @@ $endif$
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\begin{document}
\setkomavar{fromname}{$author$}
\renewcommand*{\raggedsignature}{\raggedright}
\setkomavar{fromaddress}{
$for(return-address)$
\begin{document}%
\setkomavar{fromname}{$author$}%
\renewcommand*{\raggedsignature}{\raggedright}%
\setkomavar{fromaddress}{%
$for(return-address)$%
$return-address$$sep$\\
$endfor$
}
@ -76,14 +118,6 @@ $endif$
\opening{$opening$}
This paragraph is fixed within the template.
Not sure if this is the way to go though.
\begin{description}[leftmargin=!,labelwidth=1.5cm,labelindent=1cm]
\item[Login] $login$
\item[Pin] $pin$
\end{description}
$body$
\closing{$closing$}

View File

@ -6,18 +6,19 @@ author: Fraport AG - Fahrerausbildung (AVN-AR)
phone: +49 69 690-30306
email: fahrerausbildung@fraport.de
place: Frankfurt/Main
return-address:
return-address:
- 60547 Frankfurt
opening: Sehr geehrte Damen und Herren,
closing: |
Mit freundlichen Grüßen,
Ihre Fahrerausbildung.
encludes:
hyperrefoptions: hidelinks
### Metadaten, welche automatisch ersetzt werden:
date: 11.11.1111
lang: de-de
is-de: NULL
is-de: true
lms-login: 123456
lms-pin: abcdef
# Emfpänger
@ -28,7 +29,8 @@ address:
- Musterstraße 11
- 12345 Musterstadt
...
$if(is-de)$
<!-- deutsche Version des Briefes -->
die Gültigkeit Ihres Vorfeldführerscheines läuft demnächst ab.
Durch die erfolgreiche Teilnahme an einem E-Lernen können Sie
die Gültigkeit um 2 Jahre verlängern. Verwenden Sie dazu folgende
@ -44,11 +46,11 @@ Name:
Login
: $login$
: $lms-login$
Pin
: $pin$
: $lms-pin$
Sobald die Frist abgelaufen ist, muss zur Wiedererlangung des Vorfeldführerscheins
@ -56,3 +58,36 @@ erneut der Grundkurs bei der Fahrerausbildung absolviert werden.
Bei Fragen können Sie sich gerne an das Team der Fahrerausbildung wenden.
$else$
<!-- englische Version des Briefes -->
your apron diving licence is about to expire soon.
You may renew your apron driving licence by two years through successfully
completing an e-learning course. Please use the following login data.
URL
: <http://www.fraport.de/fahrerausbildung>
Name:
: $name$
Login
: $lms-login$
Pin
: $lms-pin$
Should your apron driving licence expire before completing this
e-learning course, then a renewal requires your full participation
of the basic training course again.
Please do not hesitate to contact the Fraport driving school team, if you need any assistance.
$endif$

View File

@ -1,91 +0,0 @@
---
### Metadaten, welche hier eingestellt werden:
# Absender
subject: Verlängerung Vorfeldführerschein
author: Fraport AG - Fahrerausbildung (AVN-AR)
phone: +49 69 690-30306
email: fahrerausbildung@fraport.de
place: Frankfurt/Main
return-address:
- 60547 Frankfurt
opening: Sehr geehrte Damen und Herren,
closing: |
Mit freundlichen Grüßen,
Ihre Fahrerausbildung.
encludes: null
### Metadaten, welche automatisch ersetzt werden:
date: 11.11.1111
lang: de-de
is-de: NULL
lms-login: 123456
lms-pin: abcdef
# Emfpänger
name: E. M. Pfänger
address:
- Musterfirma GmbH
- E. M. Pfänger
- Musterstraße 11
- 12345 Musterstadt
...
$if(is-de)$
<!-- deutsche Version des Briefes -->
[comment]: <> (This is a comment, it will not be included)
die Gültigkeit Ihres Vorfeldführerscheines läuft demnächst ab.
Durch die erfolgreiche Teilnahme an einem E-Lernen können Sie
die Gültigkeit um 2 Jahre verlängern. Verwenden Sie dazu folgende
Login-Daten.
URL
: <http://www.fraport.de/fahrerausbildung>
Name:
: $name$
Login
: $login$
Pin
: $pin$
Sobald die Frist abgelaufen ist, muss zur Wiedererlangung des Vorfeldführerscheins
erneut der Grundkurs bei der Fahrerausbildung absolviert werden.
Bei Fragen können Sie sich gerne an das Team der Fahrerausbildung wenden.
$else$
<!-- englische Version des Briefes -->
your apron diving licence is about to expire soon.
You may renew your apron driving licence by two years through successfully
completing an e-learning course. Please use the following login data.
URL
: <http://www.fraport.de/fahrerausbildung>
Name:
: $name$
Login
: $login$
Pin
: $pin$
Should your apron driving licence expire before completing this
e-learning course, then a renewal requires your full participation
of the basic training course again.
Please do not hesitate to contact the Fraport driving school team, if you need any assistance.
$endif$