diff options
-rw-r--r-- | pandoc/Makefile | 6 | ||||
-rw-r--r-- | pandoc/fripost-by-laws.latex | 237 | ||||
-rw-r--r-- | pandoc/fripost-report.latex | 237 | ||||
-rw-r--r-- | pandoc/tests/by-laws.md | 7 | ||||
-rw-r--r-- | test/minutes.tex | 1 | ||||
-rw-r--r-- | tex/fripost.sty | 69 |
6 files changed, 522 insertions, 35 deletions
diff --git a/pandoc/Makefile b/pandoc/Makefile index 73859cf..c40b967 100644 --- a/pandoc/Makefile +++ b/pandoc/Makefile @@ -1,5 +1,7 @@ .PHONY: all install uninstall +TMPLS := $(basename $(wildcard *.latex)) + all: @echo Noting to do @@ -11,14 +13,14 @@ else DST = $(HOME)/.local/share/pandoc/templates endif -install: $(DST)/fripost-minutes.latex +install: $(addprefix $(DST)/, $(addsuffix .latex, $(TMPLS))) $(DST)/%: % mkdir -p $(dir $@) cat < $< > $@ uninstall: - rm -fr $(DST)/fripost-minutes.latex + rm -fr $(addprefix $(DST)/, $(addsuffix .latex, $(TMPLS))) rmdir --ignore-fail-on-non-empty -p $(DST) # Test diff --git a/pandoc/fripost-by-laws.latex b/pandoc/fripost-by-laws.latex new file mode 100644 index 0000000..c394413 --- /dev/null +++ b/pandoc/fripost-by-laws.latex @@ -0,0 +1,237 @@ +% Options for packages loaded elsewhere +\documentclass[11pt, a4paper]{article} +\usepackage{amsmath,amssymb} +$if(linestretch)$ +\usepackage{setspace} +$endif$ +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{textcomp} % provide euro and other symbols + +%% Support for zero-width non-joiner characters. +\makeatletter +\def\zerowidthnonjoiner{% + % Prevent ligatures and adjust kerning, but still support hyphenating. + \texorpdfstring{% + \textormath{\nobreak\discretionary{-}{}{\kern.03em}% + \ifvmode\else\nobreak\hskip\z@skip\fi}{}% + }{}% +} +\makeatother +\DeclareUnicodeCharacter{200C}{\zerowidthnonjoiner} + +%% End of ZWNJ support + +% Use upquote if available, for straight quotes in verbatim environments +\IfFileExists{upquote.sty}{\usepackage{upquote}}{} +\IfFileExists{microtype.sty}{% use microtype if available + \usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype} + \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts +}{} +$if(verbatim-in-note)$ +\usepackage{fancyvrb} +$endif$ + +\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$ +$if(colorlinks)$ + colorlinks=true, + linkcolor={$if(linkcolor)$$linkcolor$$else$Maroon$endif$}, + filecolor={$if(filecolor)$$filecolor$$else$Maroon$endif$}, + citecolor={$if(citecolor)$$citecolor$$else$Blue$endif$}, + urlcolor={$if(urlcolor)$$urlcolor$$else$Blue$endif$}, +$else$ + hidelinks, +$endif$ + pdfcreator={LaTeX via pandoc}} +\urlstyle{same} % disable monospaced font for URLs + +$if(verbatim-in-note)$ +\VerbatimFootnotes % allow verbatim text in footnotes +$endif$ + +$if(listings)$ +\usepackage{listings} +\newcommand{\passthrough}[1]{#1} +\lstset{defaultdialect=[5.3]Lua} +\lstset{defaultdialect=[x86masm]Assembler} +$endif$ +$if(lhs)$ +\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} +$endif$ +$if(highlighting-macros)$ +$highlighting-macros$ +$endif$ +$if(tables)$ +\usepackage{longtable,booktabs,array} +$if(multirow)$ +\usepackage{multirow} +$endif$ +\usepackage{calc} % for calculating minipage widths +$endif$ +$if(graphics)$ +\usepackage{graphicx} +\makeatletter +\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} +\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} +\makeatother +% Scale images if necessary, so that they will not overflow the page +% margins by default, and it is still possible to overwrite the defaults +% using explicit options in \includegraphics[width, height, ...]{} +\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} +% Set default figure placement to htbp +\makeatletter +\def\fps@figure{htbp} +\makeatother +$endif$ +$if(links-as-notes)$ +% Make links footnotes instead of hotlinks: +\DeclareRobustCommand{\href}[2]{#2\footnote{\url{#1}}} +$endif$ +$if(strikeout)$ +% $-- also used for underline +\usepackage[normalem]{ulem} +% Avoid problems with \sout in headers with hyperref +\pdfstringdefDisableCommands{\renewcommand{\sout}{}} +$endif$ +\setlength{\emergencystretch}{3em} % prevent overfull lines +\providecommand{\tightlist}{% + \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} +$if(numbersections)$ +\setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} +$else$ +\setcounter{secnumdepth}{-\maxdimen} % remove section numbering +$endif$ +$if(block-headings)$ +% Make \paragraph and \subparagraph free-standing +\ifx\paragraph\undefined\else + \let\oldparagraph\paragraph + \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} +\fi +\ifx\subparagraph\undefined\else + \let\oldsubparagraph\subparagraph + \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} +\fi +$endif$ + +$if(lang)$ +\usepackage[bidi=default]{babel} +\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$ + +% Fripost specific options + +\usepackage{a4wide} +\usepackage[by-laws]{fripost} + +$for(header-includes)$ +$header-includes$ +$endfor$ + +$if(dir)$ +\TeXXeTstate=1 +\newcommand{\RL}[1]{\beginR #1\endR} +\newcommand{\LR}[1]{\beginL #1\endL} +\newenvironment{RTL}{\beginR}{\endR} +\newenvironment{LTR}{\beginL}{\endL} +$endif$ + +$if(biblatex)$ +\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$ +$for(biblatexoptions)$ $biblatexoptions$ $sep$,$endfor$]{biblatex} +$for(bibliography)$ +\addbibresource{$bibliography$} +$endfor$ +$endif$ + +$if(csquotes)$ +\usepackage{csquotes} +$endif$ + +$if(title)$ +\title{$title$$if(thanks)$\thanks{$thanks$}$endif$} +$endif$ +$if(subtitle)$ +\usepackage{etoolbox} +\makeatletter +\providecommand{\subtitle}[1]{% add subtitle to \maketitle + \apptocmd{\@title}{\par {\large #1 \par}}{}{} +} +\makeatother +\subtitle{$subtitle$} +$endif$ +\author{$for(author)$$author$$sep$ \and $endfor$} +\date{$date$} + +\begin{document} +$if(title)$ +\maketitle +\thispagestyle{fancy} % Fripost enforced +$if(abstract)$ +\begin{abstract} +$abstract$ +\end{abstract} +$endif$ +$endif$ + +$for(include-before)$ +$include-before$ + +$endfor$ + +$if(toc)$ + $if(toc-title)$ + \renewcommand*\contentsname{$toc-title$} + $endif$ + { + $if(colorlinks)$ + \hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$} + $endif$ + \setcounter{tocdepth}{$toc-depth$} + \tableofcontents + } +$endif$ +$if(lof)$ +\listoffigures +$endif$ +$if(lot)$ +\listoftables +$endif$ +$if(linestretch)$ +\setstretch{$linestretch$} +$endif$ + +$body$ + +$if(biblatex)$ +\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ + +$endif$ +$for(include-after)$ +$include-after$ + +$endfor$ +\end{document} diff --git a/pandoc/fripost-report.latex b/pandoc/fripost-report.latex new file mode 100644 index 0000000..c23ac14 --- /dev/null +++ b/pandoc/fripost-report.latex @@ -0,0 +1,237 @@ +% Options for packages loaded elsewhere +\documentclass[11pt, a4paper]{article} +\usepackage{amsmath,amssymb} +$if(linestretch)$ +\usepackage{setspace} +$endif$ +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{textcomp} % provide euro and other symbols + +%% Support for zero-width non-joiner characters. +\makeatletter +\def\zerowidthnonjoiner{% + % Prevent ligatures and adjust kerning, but still support hyphenating. + \texorpdfstring{% + \textormath{\nobreak\discretionary{-}{}{\kern.03em}% + \ifvmode\else\nobreak\hskip\z@skip\fi}{}% + }{}% +} +\makeatother +\DeclareUnicodeCharacter{200C}{\zerowidthnonjoiner} + +%% End of ZWNJ support + +% Use upquote if available, for straight quotes in verbatim environments +\IfFileExists{upquote.sty}{\usepackage{upquote}}{} +\IfFileExists{microtype.sty}{% use microtype if available + \usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype} + \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts +}{} +$if(verbatim-in-note)$ +\usepackage{fancyvrb} +$endif$ + +\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$ +$if(colorlinks)$ + colorlinks=true, + linkcolor={$if(linkcolor)$$linkcolor$$else$Maroon$endif$}, + filecolor={$if(filecolor)$$filecolor$$else$Maroon$endif$}, + citecolor={$if(citecolor)$$citecolor$$else$Blue$endif$}, + urlcolor={$if(urlcolor)$$urlcolor$$else$Blue$endif$}, +$else$ + hidelinks, +$endif$ + pdfcreator={LaTeX via pandoc}} +\urlstyle{same} % disable monospaced font for URLs + +$if(verbatim-in-note)$ +\VerbatimFootnotes % allow verbatim text in footnotes +$endif$ + +$if(listings)$ +\usepackage{listings} +\newcommand{\passthrough}[1]{#1} +\lstset{defaultdialect=[5.3]Lua} +\lstset{defaultdialect=[x86masm]Assembler} +$endif$ +$if(lhs)$ +\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} +$endif$ +$if(highlighting-macros)$ +$highlighting-macros$ +$endif$ +$if(tables)$ +\usepackage{longtable,booktabs,array} +$if(multirow)$ +\usepackage{multirow} +$endif$ +\usepackage{calc} % for calculating minipage widths +$endif$ +$if(graphics)$ +\usepackage{graphicx} +\makeatletter +\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} +\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} +\makeatother +% Scale images if necessary, so that they will not overflow the page +% margins by default, and it is still possible to overwrite the defaults +% using explicit options in \includegraphics[width, height, ...]{} +\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} +% Set default figure placement to htbp +\makeatletter +\def\fps@figure{htbp} +\makeatother +$endif$ +$if(links-as-notes)$ +% Make links footnotes instead of hotlinks: +\DeclareRobustCommand{\href}[2]{#2\footnote{\url{#1}}} +$endif$ +$if(strikeout)$ +% $-- also used for underline +\usepackage[normalem]{ulem} +% Avoid problems with \sout in headers with hyperref +\pdfstringdefDisableCommands{\renewcommand{\sout}{}} +$endif$ +\setlength{\emergencystretch}{3em} % prevent overfull lines +\providecommand{\tightlist}{% + \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} +$if(numbersections)$ +\setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} +$else$ +\setcounter{secnumdepth}{-\maxdimen} % remove section numbering +$endif$ +$if(block-headings)$ +% Make \paragraph and \subparagraph free-standing +\ifx\paragraph\undefined\else + \let\oldparagraph\paragraph + \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} +\fi +\ifx\subparagraph\undefined\else + \let\oldsubparagraph\subparagraph + \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} +\fi +$endif$ + +$if(lang)$ +\usepackage[bidi=default]{babel} +\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$ + +% Fripost specific options + +\usepackage{a4wide} +\usepackage[report]{fripost} + +$for(header-includes)$ +$header-includes$ +$endfor$ + +$if(dir)$ +\TeXXeTstate=1 +\newcommand{\RL}[1]{\beginR #1\endR} +\newcommand{\LR}[1]{\beginL #1\endL} +\newenvironment{RTL}{\beginR}{\endR} +\newenvironment{LTR}{\beginL}{\endL} +$endif$ + +$if(biblatex)$ +\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$ +$for(biblatexoptions)$ $biblatexoptions$ $sep$,$endfor$]{biblatex} +$for(bibliography)$ +\addbibresource{$bibliography$} +$endfor$ +$endif$ + +$if(csquotes)$ +\usepackage{csquotes} +$endif$ + +$if(title)$ +\title{$title$$if(thanks)$\thanks{$thanks$}$endif$} +$endif$ +$if(subtitle)$ +\usepackage{etoolbox} +\makeatletter +\providecommand{\subtitle}[1]{% add subtitle to \maketitle + \apptocmd{\@title}{\par {\large #1 \par}}{}{} +} +\makeatother +\subtitle{$subtitle$} +$endif$ +\author{$for(author)$$author$$sep$ \and $endfor$} +\date{$date$} + +\begin{document} +$if(title)$ +\maketitle +\thispagestyle{fancy} % Fripost enforced +$if(abstract)$ +\begin{abstract} +$abstract$ +\end{abstract} +$endif$ +$endif$ + +$for(include-before)$ +$include-before$ + +$endfor$ + +$if(toc)$ + $if(toc-title)$ + \renewcommand*\contentsname{$toc-title$} + $endif$ + { + $if(colorlinks)$ + \hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$} + $endif$ + \setcounter{tocdepth}{$toc-depth$} + \tableofcontents + } +$endif$ +$if(lof)$ +\listoffigures +$endif$ +$if(lot)$ +\listoftables +$endif$ +$if(linestretch)$ +\setstretch{$linestretch$} +$endif$ + +$body$ + +$if(biblatex)$ +\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ + +$endif$ +$for(include-after)$ +$include-after$ + +$endfor$ +\end{document} diff --git a/pandoc/tests/by-laws.md b/pandoc/tests/by-laws.md new file mode 100644 index 0000000..b46dff3 --- /dev/null +++ b/pandoc/tests/by-laws.md @@ -0,0 +1,7 @@ +% Example Policy Document +% The Fripost association +% Some date + +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam +lobortis facilisis sem. Nullam nec mi et neque pharetra +sollicitudin. diff --git a/test/minutes.tex b/test/minutes.tex index f068b7f..89f8183 100644 --- a/test/minutes.tex +++ b/test/minutes.tex @@ -1,4 +1,5 @@ \documentclass[a4paper]{article} +\usepackage[swedish]{babel} \usepackage{blindtext} \usepackage[minutes]{fripost} \title{Titel titeln} diff --git a/tex/fripost.sty b/tex/fripost.sty index 3064f1b..4c25e4e 100644 --- a/tex/fripost.sty +++ b/tex/fripost.sty @@ -2,9 +2,6 @@ % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{fripost} -\RequirePackage[utf8]{inputenc} -\RequirePackage[T1]{fontenc} -\RequirePackage[english, swedish]{babel} \RequirePackage{calc} \RequirePackage{graphicx} % \end{macrocode} @@ -19,6 +16,12 @@ % \begin{macrocode} \RequirePackage{lmodern} \RequirePackage{helvet} +\RequirePackage{soul} +\PassOptionsToPackage{hyphens}{url} +\RequirePackage{url} +\RequirePackage{parskip} +\RequirePackage{multicol} +\RequirePackage{hyphenat} \newcommand \textemail [1] {\texttt{\small #1}} \newcommand \texturl [1] {\texttt{\small #1}} \newcommand \textpath [1] {\texturl{#1}} @@ -26,43 +29,43 @@ \newcommand \titlefont {\Large\sffamily\mdseries\color{grayFri}} \newcommand \descriptionfont {\bfseries\color{grayFri}} \newcommand \textestemate [1] {{\small\sffamily\mdseries\color{grayFri} #1}} -\RequirePackage{hyperref} -\RequirePackage{hyphenat} -\RequirePackage{soul} -\RequirePackage{url} -\RequirePackage{parskip} -\RequirePackage{multicol} -% \end{macrocode} -%% Titling -% \begin{macrocode} -\RequirePackage{titling} -\pretitle{\titlefont\centering} -\posttitle{} -\preauthor{\titlefont\centering--~} -\postauthor{\\} -\predate{\titlefont\centering} -\postdate{\par} -\setlength{\droptitle}{-4\baselineskip} % \end{macrocode} %% Options % \begin{macrocode} -%% \DeclareOption{standalone}{ - -%% } - \newif\if@minutes\@minutesfalse -\DeclareOption{minutes}{\@minutestrue} - -\DeclareOption{by-laws}{ - -} +\newif\if@bylaws\@bylawsfalse +\newif\if@report\@reportfalse +\newcommand\resetopts{\@minutesfalse\@bylawsfalse\@reportfalse} +\DeclareOption{standalone}{\resetopts} +\DeclareOption{minutes}{\resetopts\@minutestrue} +\DeclareOption{by-laws}{\resetopts\@bylawstrue} +\DeclareOption{report}{\resetopts\@reporttrue} +\ExecuteOptions{report} \ProcessOptions\relax % \end{macrocode} -%% Page geometry +%% Titling % \begin{macrocode} -\@ifclassloaded{article}{ - \RequirePackage{a4wide} -}{} +\RequirePackage{titling} +\pretitle{\titlefont\centering} +\posttitle{% + \if@minutes~--~\fi% + \if@bylaws~--~\fi% + \if@report\\[.2\baselineskip]\fi} +\preauthor{% + \titlefont\centering% + \if@report\normalsize\fi} +\postauthor{ + \if@minutes\\\fi% + \if@bylaws\\\fi% + \if@report~--~\fi} +\predate{% + \titlefont\centering% + \if@bylaws\color{white}\fi% + \if@report\normalsize\fi} +\postdate{% + \par% + \if@bylaws\vspace{-1.4\baselineskip}\fi} +\setlength{\droptitle}{-4\baselineskip} % \end{macrocode} %% Sections % \begin{macrocode} |