1
0
Fork 0
composer/doc/make-pdf.sh

75 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# Generate PDF from composer documentation.
# dependencies:
# * pandoc
# * latex
for file in $(find . -type f -name '*.md')
do
pandoc -o $(dirname $file)/$(basename $file .md).tex $file
done
> book.tex
cat >> book.tex <<EOF
\documentclass[letterpaper]{book}
\title{Composer}
\author{The Composer Community}
\usepackage[letterpaper,margin=1.5in]{geometry}
\usepackage{hyperref}
\usepackage{url}
\usepackage{enumerate}
\usepackage{listings}
\usepackage{microtype}
\usepackage[htt]{hyphenat}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{tgpagella}
\lstset{
breaklines=true,
basicstyle=\ttfamily
}
\begin{document}
\setlength{\parindent}{0cm}
\setlength{\parskip}{0.1cm}
\maketitle
\tableofcontents
\setlength{\parskip}{0.4cm}
EOF
cat *.tex >> book.tex
# apply only to main part of book
sed -i.bak 's/\\section{/\\chapter{/g' book.tex
sed -i.bak 's/\\subsection{/\\section{/g' book.tex
sed -i.bak 's/\\subsubsection{/\\subsection{/g' book.tex
sed -i.bak '/←/d' book.tex
sed -i.bak '/→/d' book.tex
sed -i.bak 's/\\chapter{composer.json}/\\chapter[Schema]{composer.json}/g' book.tex
echo "\chapter{Articles}" >> book.tex
cat articles/*.tex >> book.tex
echo "\chapter{FAQs}" >> book.tex
cat faqs/*.tex >> book.tex
echo >> book.tex
echo "\end{document}" >> book.tex
# apply to whole book
sed -i.bak 's/\\begin{verbatim}/\\vspace{1em} \\begin{lstlisting}/g' book.tex
sed -i.bak 's/\\end{verbatim}/\\end{lstlisting}/g' book.tex
rm book.tex.bak
pdflatex book.tex
pdflatex book.tex
rm *.tex articles/*.tex dev/*.tex faqs/*.tex
rm book.{aux,log,out,toc}