summaryrefslogtreecommitdiff
path: root/_extensions/js/stylish-issue
diff options
context:
space:
mode:
Diffstat (limited to '_extensions/js/stylish-issue')
-rw-r--r--_extensions/js/stylish-issue/_extension.yaml197
-rw-r--r--_extensions/js/stylish-issue/doc-class.tex68
2 files changed, 241 insertions, 24 deletions
diff --git a/_extensions/js/stylish-issue/_extension.yaml b/_extensions/js/stylish-issue/_extension.yaml
index 4b02876..153adfa 100644
--- a/_extensions/js/stylish-issue/_extension.yaml
+++ b/_extensions/js/stylish-issue/_extension.yaml
@@ -4,30 +4,44 @@ version: 0.0.1
contributes:
formats:
pdf:
+# fontsize: 11pt
+ indent: true
# links-as-notes: true
colorlinks: false
pdf-engine: lualatex
documentclass: scrartcl
+ classoption:
+ - headings=big
csquotes: true
papersize: a4
# extract-media: img
template-partials:
- before-title.tex
+ - doc-class.tex
include-in-header:
+# borrow microtype tunings from somewhat similar EB Garamond
+ - text: |
+ \DeclareMicrotypeAlias{ETbb}{EB Garamond}
+# larger section font
+ - text: |
+ \RedeclareSectionCommand[font=\Huge]{section}
# support multiple tagged columns (class option twocolumn is not tagged)
+# * disable all drivers, as recommended in CTAN package crop
- text: |
- \usepackage[a4paper, margin=0.5in, bottom=1in]{geometry} % Set all margins to zero
+ \usepackage[dvips=false,pdftex=false,vtex=false]{geometry}
+ \geometry{a4paper, margin=0.5in, bottom=1in}
\usepackage{multicol}
- \setlength{\columnsep}{20pt} % Adjust space between columns
- \setlength{\columnwidth}{0.45\textwidth} % Set column width (optional)
+ \setlength{\multicolsep}{0pt}
+ \setlength{\columnsep}{1.5em}
+ \setlength{\columnseprule}{0.4pt}
# avoid widow headline or definition description
- text: |
\usepackage{needspace}
\let\oldsection\section
\renewcommand{\section}[1]{%
- \needspace{6\baselineskip}
+ \needspace{7\baselineskip}
\oldsection{#1}%
}
\let\olddesc\description
@@ -38,33 +52,168 @@ contributes:
# avoid widow or orphan lines
- text: |
\usepackage[defaultlines=3,all]{nowidow}
-# reduce vertical space after headlines
- - text: |
- \RedeclareSectionCommands[
- runin=false,
- beforeskip=.5\baselineskip,
- afterskip=-1ex]{section,subsection}
-# add newline between definition list description and items
+# tighten lists styling
+# * add newline between definition list description and items
+# * reduce unnumbered list item indentation
- text: |
\usepackage{enumitem}
- \setlist[description]{style=nextline}
+ \setlist[description]{leftmargin=0em,style=nextline}
+ \setlist[itemize]{leftmargin=*,labelsep=0.5em}
+# tighten blockquote styling to reduce margins
+ - text: |
+ \renewenvironment{quote}
+ {\list{}{\leftmargin=1em \rightmargin=1em}\item[]}
+ {\endlist}
# set page footer to danish page count "side X af Y"
- text: |
\usepackage{lastpage}
\usepackage{scrlayer-scrpage}
- \cfoot{side \thepage\ af \pageref{LastPage}}
-# suppress figure label
+ \cfoot*{side \thepage\ af \pageref{LastPage}}
+# suppress figure label, and adjust styling
- text: |
- \usepackage[labelformat=empty]{caption}
-
- include-before-body:
+ \usepackage[labelformat=empty,font={sf,small},skip=0.5ex]{caption}
+# newspaper styling of title header; omit page number on front page
- text: |
-# enable multiple tagged columns
+ \usepackage[useregional,showdow]{datetime2}
+ \makeatletter
+ \renewcommand{\maketitle}{
+ {
+ \rightline{\@subtitle, \DTMdate{\@date}}
+ \centerline{\resizebox{\linewidth+18pt}{!}{\textsc{\@title}}}
+ \thispagestyle{empty}
+ }
+ }
+ \makeatother
+# define format for ingress text
- text: |
- \begin{multicols}{2}
- \raggedcolumns
-
- include-after-body:
-# conclude multiple tagged columns
+ \makeatletter
+ \newcommand{\ingress}[1]{%
+ {\Large #1}\par
+ \@afterindentfalse
+ \@afterheading
+ \vspace{.5\baselineskip}%
+ }
+ \makeatother
+# support unusual space characters like   and  
- text: |
- \end{multicols}
+ \usepackage{uspace}
+# refine hyphenation
+ - text: |
+ \usepackage{lua-check-hyphen}
+ \LuaCheckHyphen{whitelist={hyph_ok_danish.txt}]{lua-check-hyphen}}
+ %\LuaCheckHyphen{whitelist={file1.txt,file2.txt,file3.txt}}
+ \babelhyphenation[danish]{
+ af-fald-et % affal-det
+ an-er-kend-el-sen % anerken-delsen
+ an-hæng-er-en % anhæn-geren
+ ar-bejds-dag-e-ne % arbejdsda-gene
+ be-slut-ning-er % beslutnin-ger
+ be-søg-ende % besø-gende
+ bord-ene % bor-dene
+ bo-ring-en % borin-gen
+ bris-ter % bri-ster
+ brugs-for-e-ning-ens % brugsforenin-gens
+ by-bjerg % byb-jerg
+ bå-de-laug-ets % bådelau-gets
+ del-stræk-ning-er-ne % delstræknin-gerne
+ del-tag-en-de % delta-gende
+ ener-gi-klas-se % energik-lasse
+ e-ner-gi-re-no-ve-ring-er % energirenoverin-ger
+ er-fa-ring-en % erfarin-gen
+ es-bjerg % esb-jerg
+ fjord-en % fjor-den
+ fol-ke-ting-ets % folketin-gets
+ fond-en % fon-den
+ for-bind-el-se % forbin-delse
+ for-e-ning-en % forenin-gen
+ for-e-ning-er % forenin-ger
+ for-hand-ling-er-ne % forhandlin-gerne
+ for-sam-lings-hu-set % forsamlingshu-set
+ for-sam-lings-hu-sets % forsam-lingshu-sets
+ for-æl-dre-for-e-ning-ens % forældreforenin-gens
+ for-år-et % forå-ret
+ frem-skriv-ning-er % fremskrivnin-ger
+ fri-lufts-laug % fril-uftslaug
+ fri-lufts-råd-et % fril-uftsrådet
+ fund-et % fun-det
+ fæl-les-mail-en % fællesmai-len
+ grønt-sags-la-sag-ne % grøntsag-slasagne
+ ho-ved-byg-ning-en % hovedbygnin-gen
+ hon-ning-en % honnin-gen
+ hus-hold-nings-for-e-ning-er % husholdningsforenin-ger
+ hyg-ge-land-brug-et % hyggelandbru-get
+ høj-sæ-son-en % højsæso-nen
+ ind-flyt-ning-en % indflytnin-gen
+ in-fra-struk-tur-en % infrastruktu-ren
+ in-ter-es-se-for-e-ning-er % interesseforenin-ger
+ ka-jak-ro-ning % kaja-kroning
+ klat-rede % kla-trede
+ kom-mu-nist-er % kommuni-ster
+ kon-cen-tra-ti-ons-lejr-en % koncentrationslej-ren
+ krea-ting % kreat-ing
+ krig-en % kri-gen
+ kul-tur-be-hol-der-en % kulturbeholde-ren
+ kul-tur-for-e-ning-er % kulturforenin-ger
+ kva-li-tet-en % kva-lite-ten
+ kvarts-fa-mi-li-en % kvart-sfamilien
+ kvæl-stof-ud-led-ning-en % kvælstofudlednin-gen
+ land-mand-en % landman-den
+ lej-lig-hed-er % lejlighe-der
+ lejr-at-mos-fæ-re % lej-ratmosfære
+ lejr-sko-le % lej-rskole
+ ler-lag-et % lerla-get
+ lig-hed-er % lighe-der
+ løs-ning-er % løs-nin-ger
+ men-nes-ker % menne-sker
+ mi-nis-tre % mini-stre
+ mær-kat-er-ne % mærka-terne
+ må-ned-er % måne-der
+ na-tur-op-le-vel-ser % natu-roplevelser
+ ok-se-mør-brad-en % oksemørbra-den
+ orø-post-en % orøpo-sten
+ per-son-er % perso-ner
+ pin-se-lop-pe-mar-ked % pin-sel-oppemarked
+ pin-se-lop-pe-mar-ked-et % pinsel-oppemar-ke-det
+ prang-en-de % pran-gende
+ proviant-en % provian-ten
+ re-dak-tion-en % redaktio-nen
+ rick-shaw % ricks-haw
+ rick-shaw-for-e-ning-en % rickshawforenin-gen
+ sam-virk-en-de % samvir-kende
+ schreib-eis % schrei-beis
+ se-nio-r-er % seni-orer
+ skov-en % sko-ven
+ skulp-tur-er % skul-pturer
+ skulp-tør % skul-ptør
+ sky-de-gla-de % skydeg-lade
+ smuk-ke-ste % smukkes-te
+ so-cia-le % soci-ale
+ som-mer-en % somme-ren
+ som-mer-hus-eje-re % sommerhuse-jere
+ som-mer-hus-grund-ejer-for-e-ning % sommerhusgrunde-jerforening
+ som-mer-hus-gæst-er % sommerhusgæs-ter
+ spe-cia-le % speci-ale
+ sports-plads-en % sport-spladsen
+ spænd-en-de % spæn-dende
+ stab-en % sta-ben
+ sten-e-ne % ste-nene
+ sten-sli-be-re % stens-libere
+ sving-ende % svin-gende
+ tal-lerk-ner % taller-kner
+ thors-lev % thor-slev
+ tryk-sag-er % tryksa-ger
+ tråd-te % trå-dte
+ ud-for-dring-er % udfordrin-ger
+ ud-stil-ling-er % udstillin-ger
+ ud-vik-ling-en % udviklin-gen
+ und-tag-el-se % undta-gelse
+ vand-ak-ti-vi-tet-er % van-daktiviteter
+ vand-et % van-det
+ vand-ets % van-dets
+ vind-ud-sat % vin-dudsat
+ vok-sen-bib-li-o-tek-et % voksenbi-blio-teket
+ væ-ve-a-te-lier-et % væveateli-eret
+ week-end-en % weeken-den
+ work-shops % wor-kshops
+ øn-ske-lis-te % ønskeli-ste
+ }
diff --git a/_extensions/js/stylish-issue/doc-class.tex b/_extensions/js/stylish-issue/doc-class.tex
new file mode 100644
index 0000000..a9dbfaa
--- /dev/null
+++ b/_extensions/js/stylish-issue/doc-class.tex
@@ -0,0 +1,68 @@
+\DocumentMetadata{
+% modern PDF rendering: <https://tex.stackexchange.com/a/686905/309738>
+$if(lang)$
+ lang={$lang$},
+$endif$
+$if(pdfversion)$
+ pdfversion=$pdfversion$,
+$endif$
+$for(pdfstandard)$
+ pdfstandard=$pdfstandard$,
+$endfor$
+$if(pdftestphase)$
+testphase=
+ {
+$for(pdftestphase)$
+ $pdftestphase$,
+$endfor$
+ },
+$endif$
+$if(pdfdebug)$
+debug=
+ {
+$for(pdfdebug)$
+ $pdfdebug$,
+$endfor$
+ },
+$endif$
+$if(pdfdebugfirstaidoff)$
+debug=
+ {
+firstaidoff=
+ {
+$for(pdfdebugfirstaidoff)$
+ $pdfdebugfirstaidoff$,
+$endfor$
+ },
+ },
+$endif$
+}
+$if(copyright)$
+% flag as rights protected <https://tex.stackexchange.com/a/712443/309738>
+\ExplSyntaxOn
+\pdfmeta_xmp_add:n{<xmpRights:Marked>True</xmpRights:Marked>}
+\ExplSyntaxOff
+$endif$
+$if(pdftestphasestrict)$
+% fatalize tagging warnings
+\ExplSyntaxOn
+ \msg_redirect_module:nnn { tag } { warning } { error }
+\ExplSyntaxOff
+$endif$
+\documentclass[
+$for(babel-otherlangs)$
+ $babel-otherlangs$,
+$endfor$
+$if(babel-lang)$
+ $babel-lang$,
+$endif$
+$if(fontsize)$
+ $fontsize$,
+$endif$
+$if(papersize)$
+ $papersize$paper,
+$endif$
+$for(classoption)$
+ $classoption$$sep$,
+$endfor$
+]{$documentclass$}