Lisää pöytäkirja-/esityslistapohja
This commit is contained in:
commit
32765c3cee
|
@ -0,0 +1,3 @@
|
|||
# Pandoc-dokumenttipohja ja suodatin pöytäkirjoille
|
||||
|
||||
## Asennus
|
|
@ -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
|
|
@ -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}
|
Loading…
Reference in New Issue