commit 32765c3ceed2d42a47245d409a00f3b0f20d2f43 Author: Saku Laesvuori Date: Wed Jan 11 07:41:24 2023 +0200 Lisää pöytäkirja-/esityslistapohja diff --git a/README.md b/README.md new file mode 100644 index 0000000..05eebe1 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Pandoc-dokumenttipohja ja suodatin pöytäkirjoille + +## Asennus diff --git a/filters/allekirjoittajat.hs b/filters/allekirjoittajat.hs new file mode 100755 index 0000000..cc57a9b --- /dev/null +++ b/filters/allekirjoittajat.hs @@ -0,0 +1,47 @@ +#!/usr/bin/env runhaskell +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE ViewPatterns #-} + +import Text.Pandoc.JSON +import Text.Pandoc.Writers (writeLaTeX) +import Data.Text (Text) +import qualified Data.Text as T +import Data.Default (def) +import Text.Pandoc.Class (runPure) +import Data.Either (fromRight) +import System.Environment (getArgs) + +main :: IO () +main = do + format <- getFormat + toJSONFilter $ case format of + "latex" -> allekirjoittajat latex + _ -> id + +getFormat :: IO String +getFormat = head <$> getArgs + +latex blocks = RawBlock (Format "latex") $ T.intercalate "\n" + [ "\\vspace{1cm}" + , "\\begin{table}[H]" + , "Pöytäkirjan vakuudeksi," + , "\\vspace{8mm}" + , "\\begin{center}" + , "\\begin{tabular}{p{0.45\\textwidth} p{0.45\\textwidth}}" + , format names + , "\\end{tabular}" + , "\\end{center}" + , "\\end{table}"] + where names = fromRight (error "conversion failed!") $ + runPure $ mapM (writeLaTeX def . Pandoc mempty) blocks + format (x:y:ys) = "\\dotfill & \\dotfill \\\\\n" <> x <> " & " <> y <> + "\\vspace{0.8cm}\\\\\n" <> format ys + format [x] = "\\dotfill & \\\\\n" <> x <> " & \\\\\n" + format [] = "" + +allekirjoittajat :: ([[Block]] -> Block) -> Block -> Block +allekirjoittajat f (Div (_, (elem "allekirjoittajat" -> True), _) [(OrderedList _ blocks)]) + = f blocks +allekirjoittajat f (Div (_, (elem "allekirjoittajat" -> True), _) [(BulletList blocks)]) + = f blocks +allekirjoittajat _ x = x diff --git a/templates/kokous.latex b/templates/kokous.latex new file mode 100644 index 0000000..e3aa2bc --- /dev/null +++ b/templates/kokous.latex @@ -0,0 +1,150 @@ +% Options for packages loaded elsewhere +\PassOptionsToPackage{unicode$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref} +\PassOptionsToPackage{hyphens}{url} +\PassOptionsToPackage{dvipsnames,svgnames,x11names}{xcolor} +% +\documentclass[a4paper,finnish]{article} +\usepackage{amsmath,amssymb} +\usepackage{notomath} +\usepackage{iftex} +\usepackage{float} +\usepackage{geometry} +\ifPDFTeX + \usepackage[T1]{fontenc} + \usepackage[utf8]{inputenc} + \usepackage{textcomp} % provide euro and other symbols +\else % if luatex or xetex + \usepackage{unicode-math} + \defaultfontfeatures{Scale=MatchLowercase} + \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} +\fi +% 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 +}{} +\makeatletter +\@ifundefined{KOMAClassName}{% if non-KOMA class + \IfFileExists{parskip.sty}{% + \usepackage{parskip} + }{% else + \setlength{\parindent}{0pt} + \setlength{\parskip}{6pt plus 2pt minus 1pt}} +}{% if KOMA class + \KOMAoptions{parskip=half}} +\makeatother +\usepackage{xcolor} +\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available +\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} +\hypersetup{ + pdftitle={$otsikko$}, + pdflang={fi}, + colorlinks=true, + linkcolor={Maroon}, + filecolor={Maroon}, + citecolor={Blue}, + urlcolor={Blue}, + pdfcreator={LaTeX via pandoc}} +\urlstyle{tt} +\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 +$if(highlighting-macros)$ +$highlighting-macros$ +$endif$ +$if(tables)$ +\usepackage{longtable,booktabs,array} +$if(multirow)$ +\usepackage{multirow} +$endif$ +\usepackage{calc} % for calculating minipage widths +% Correct order of tables after \paragraph or \subparagraph +\usepackage{etoolbox} +\makeatletter +\patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{} +\makeatother +% Allow footnotes in longtable head/foot +\IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}} +\makesavenoteenv{longtable} +$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}} +\setcounter{secnumdepth}{1} +\ifLuaTeX +\usepackage[bidi=basic]{babel} +\else +\usepackage[bidi=default]{babel} +\fi +\babelprovide[main,import]{finnish} +% get rid of language-specific shorthands (see #6817): +\let\LanguageShortHands\languageshorthands +\def\languageshorthands#1{} +$for(header-includes)$ +$header-includes$ +$endfor$ +\ifLuaTeX + \usepackage{selnolig} % disable illegal ligatures +\fi +\usepackage{csquotes} + +\renewcommand{\labelitemi}{--} +\renewcommand{\thesection}{§\arabic{section}} + +\begin{document} + +$if(otsikko)$ +{\large\textbf{Datat \textsc{ry}}\\ +$otsikko$\\ +$paikka$, $aika$\\ +$if(paikalla)$ +Paikalla: +\begin{itemize} + \tightlist + $for(paikalla)$\item $paikalla$ + $endfor$ +\end{itemize} +$endif$ +$if(poissa)$ +Poissa: +\begin{itemize} + \tightlist + $for(poissa)$\item $poissa$ + $endfor$ +\end{itemize} +$endif$ +\par +\huge \textbf{$alaotsikko$} +\par +\vskip1em +} +$endif$ + +$for(include-before)$ +$include-before$ + +$endfor$ +$body$ + +$for(include-after)$ +$include-after$ + +$endfor$ +\end{document}