chore(pdf): pdf generation working with texlive-basic-scheme
This commit is contained in:
parent
c0eafdd1c8
commit
77f09f05f5
@ -22,12 +22,14 @@ let
|
|||||||
uniworx.uniworx.components.exes.uniworx
|
uniworx.uniworx.components.exes.uniworx
|
||||||
prev.dockerTools.binSh findutils coreutils
|
prev.dockerTools.binSh findutils coreutils
|
||||||
iana-etc
|
iana-etc
|
||||||
# for PDFLaTeX for pandoc PDF creation
|
# for PDF creation with Pandoc and LuaTeX
|
||||||
cups # needed for interface with print center
|
cups # needed for interface with print center
|
||||||
#texlive.combined.scheme-medium # too large for container in LMU build environment.
|
#texlive.combined.scheme-medium # too large for container in LMU build environment.
|
||||||
(texlive.combine {
|
(texlive.combine {
|
||||||
inherit (texlive) scheme-basic xcolor "scrlttr2"
|
inherit (texlive) scheme-basic
|
||||||
# lualatex
|
babel-german babel-english booktabs
|
||||||
|
enumitem eurosym koma-script parskip xcolor
|
||||||
|
# required fro LuaTeX
|
||||||
luatexbase unicode-math lualatex-math selnolig
|
luatexbase unicode-math lualatex-math selnolig
|
||||||
;
|
;
|
||||||
})
|
})
|
||||||
|
|||||||
15
shell.nix
15
shell.nix
@ -74,12 +74,17 @@ in pkgs.mkShell {
|
|||||||
++ (with pkgs;
|
++ (with pkgs;
|
||||||
[ nodejs-14_x postgresql_12 openldap google-chrome exiftool memcached minio minio-client
|
[ nodejs-14_x postgresql_12 openldap google-chrome exiftool memcached minio minio-client
|
||||||
gup skopeo
|
gup skopeo
|
||||||
texlive.combined.scheme-medium
|
#texlive.combined.scheme-full # works
|
||||||
|
#texlive.combined.scheme-medium
|
||||||
# texlive.combined.scheme-small
|
# texlive.combined.scheme-small
|
||||||
#(texlive.combine {
|
(texlive.combine {
|
||||||
# inherit (texlive) scheme-basic xcolor scrlttr2 luatexbase unicode-math lualatex-math selnolig;
|
inherit (texlive) scheme-basic
|
||||||
# ERROR: attribute 'scrlttr2' missing - gleicher Fehler kommt bei ausgedachten Namen, auch ohne Zahl am Ende
|
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 ]);
|
++ (with pkgs.haskellPackages; [ stack yesod-bin hlint cabal-install weeder profiteur ]);
|
||||||
|
|||||||
@ -297,7 +297,7 @@ getAdminTestPdfR = do
|
|||||||
doc1 <- P.readMarkdown readeropts md
|
doc1 <- P.readMarkdown readeropts md
|
||||||
doc2 <- P.writeMarkdown writeropts1 doc1
|
doc2 <- P.writeMarkdown writeropts1 doc1
|
||||||
doc3 <- P.readMarkdown readeropts doc2
|
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
|
P.setDate (P.text . tshow $ utctDay now) doc3
|
||||||
case content of
|
case content of
|
||||||
Right (Right bs) -> do
|
Right (Right bs) -> do
|
||||||
|
|||||||
@ -10,8 +10,51 @@
|
|||||||
pagenumber=botright % show pagenumbers on bottom right
|
pagenumber=botright % show pagenumbers on bottom right
|
||||||
]{scrlttr2}
|
]{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{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
|
\ifPDFTeX
|
||||||
\usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc}
|
\usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc}
|
||||||
\usepackage[utf8]{inputenc}
|
\usepackage[utf8]{inputenc}
|
||||||
@ -36,7 +79,6 @@ $endif$
|
|||||||
|
|
||||||
\usepackage[right]{eurosym}
|
\usepackage[right]{eurosym}
|
||||||
|
|
||||||
\usepackage[hyphens]{url}
|
|
||||||
\usepackage{enumitem}
|
\usepackage{enumitem}
|
||||||
|
|
||||||
\makeatletter
|
\makeatletter
|
||||||
@ -51,11 +93,11 @@ $endif$
|
|||||||
\providecommand{\tightlist}{%
|
\providecommand{\tightlist}{%
|
||||||
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}%
|
||||||
\setkomavar{fromname}{$author$}
|
\setkomavar{fromname}{$author$}%
|
||||||
\renewcommand*{\raggedsignature}{\raggedright}
|
\renewcommand*{\raggedsignature}{\raggedright}%
|
||||||
\setkomavar{fromaddress}{
|
\setkomavar{fromaddress}{%
|
||||||
$for(return-address)$
|
$for(return-address)$%
|
||||||
$return-address$$sep$\\
|
$return-address$$sep$\\
|
||||||
$endfor$
|
$endfor$
|
||||||
}
|
}
|
||||||
@ -76,14 +118,6 @@ $endif$
|
|||||||
|
|
||||||
\opening{$opening$}
|
\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$
|
$body$
|
||||||
|
|
||||||
\closing{$closing$}
|
\closing{$closing$}
|
||||||
|
|||||||
@ -6,18 +6,19 @@ author: Fraport AG - Fahrerausbildung (AVN-AR)
|
|||||||
phone: +49 69 690-30306
|
phone: +49 69 690-30306
|
||||||
email: fahrerausbildung@fraport.de
|
email: fahrerausbildung@fraport.de
|
||||||
place: Frankfurt/Main
|
place: Frankfurt/Main
|
||||||
return-address:
|
return-address:
|
||||||
- 60547 Frankfurt
|
- 60547 Frankfurt
|
||||||
opening: Sehr geehrte Damen und Herren,
|
opening: Sehr geehrte Damen und Herren,
|
||||||
closing: |
|
closing: |
|
||||||
Mit freundlichen Grüßen,
|
Mit freundlichen Grüßen,
|
||||||
Ihre Fahrerausbildung.
|
Ihre Fahrerausbildung.
|
||||||
encludes:
|
encludes:
|
||||||
|
hyperrefoptions: hidelinks
|
||||||
|
|
||||||
### Metadaten, welche automatisch ersetzt werden:
|
### Metadaten, welche automatisch ersetzt werden:
|
||||||
date: 11.11.1111
|
date: 11.11.1111
|
||||||
lang: de-de
|
lang: de-de
|
||||||
is-de: NULL
|
is-de: true
|
||||||
lms-login: 123456
|
lms-login: 123456
|
||||||
lms-pin: abcdef
|
lms-pin: abcdef
|
||||||
# Emfpänger
|
# Emfpänger
|
||||||
@ -28,7 +29,8 @@ address:
|
|||||||
- Musterstraße 11
|
- Musterstraße 11
|
||||||
- 12345 Musterstadt
|
- 12345 Musterstadt
|
||||||
...
|
...
|
||||||
|
$if(is-de)$
|
||||||
|
<!-- deutsche Version des Briefes -->
|
||||||
die Gültigkeit Ihres Vorfeldführerscheines läuft demnächst ab.
|
die Gültigkeit Ihres Vorfeldführerscheines läuft demnächst ab.
|
||||||
Durch die erfolgreiche Teilnahme an einem E-Lernen können Sie
|
Durch die erfolgreiche Teilnahme an einem E-Lernen können Sie
|
||||||
die Gültigkeit um 2 Jahre verlängern. Verwenden Sie dazu folgende
|
die Gültigkeit um 2 Jahre verlängern. Verwenden Sie dazu folgende
|
||||||
@ -44,11 +46,11 @@ Name:
|
|||||||
|
|
||||||
Login
|
Login
|
||||||
|
|
||||||
: $login$
|
: $lms-login$
|
||||||
|
|
||||||
Pin
|
Pin
|
||||||
|
|
||||||
: $pin$
|
: $lms-pin$
|
||||||
|
|
||||||
|
|
||||||
Sobald die Frist abgelaufen ist, muss zur Wiedererlangung des Vorfeldführerscheins
|
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.
|
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$
|
||||||
|
|||||||
@ -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$
|
|
||||||
Reference in New Issue
Block a user