#!/bin/bash # CREATE PDF from markdown files # #set -x set -e if [ $# -eq 1 ] then CONF=$1 else CONF="parallel.conf" fi CONVERTER="md2parallel.sh" if ! [[ -f $CONF ]] ; then echo "$CONF not found! Exiting ..." && exit ; fi if ! [[ -f $CONVERTER ]] ; then echo "$CONVERTER not found! Exiting ..." && exit ; fi if ! [[ -x $CONVERTER ]] ; then echo "$CONVERTER not executable! Exiting ..." && exit ; fi . $CONF # SAVE WORKING DIR WD=$PWD TMPDIR=$(mktemp -d) PATH=$PATH:$WD pushd $TMPDIR > /dev/null # CONVERT MD TO TEX for tex in $( echo $INFILES | grep '.md$' ) do if [[ -f $WD/$tex ]] then # create parent dir if necassary mkdir -p $(dirname $tex) $CONVERTER $WD/$tex > $( echo $tex | sed "s/.md/.tex/" ) else if [[ $tex == *.md ]] then echo "$WD/$tex does not exist!!!" fi fi done # CREATE WRAPPER WRAPPER=""" \documentclass[twoside]{$DOCCLASS} \usepackage[fontsize=${FONTSIZE}pt]{fontsize} \usepackage[${PAGESIZE}paper]{geometry} \usepackage{libertine} % also loads fontspec which is needed for ɔ and ɛ \usepackage{minitoc} % make mini table of content for each chapter \usepackage{graphicx} % include graphics \usepackage{csquotes} % \enquote \usepackage{reledmac} % needed for repedpar \usepackage{reledpar} % parallel text \newcommand{\pagesinclude}[2]{ \begin{pages} \begin{Leftside} \beginnumbering \pstart\input{#1}\pend \endnumbering \end{Leftside} \begin{Rightside} \beginnumbering \pstart\input{#2}\pend \endnumbering \end{Rightside} \end{pages} \Pages } \title{$TITLE} \author{$AUTHOR} \begin{document} \maketitle \tableofcontents """ WRAPPER_END=""" \end{document} """ echo "$WRAPPER" > $PROJECT.tex # INCLUDE INDIVIDUAL TEX FILE first_lang="true" for input in $INFILES do if [[ $input == *.md ]] then if [[ $first_lang == "true" ]] ; then echo '\pagesinclude' "{ $( echo $input | sed 's/.md/.tex/' ) }" >> $PROJECT.tex first_lang="false" else echo "{ $( echo $input | sed 's/.md/.tex/' ) }" >> $PROJECT.tex fi else #is chapter echo '\chapter' " { $input }" >> $PROJECT.tex fi echo '\clearpage' >> $PROJECT.tex done echo "$WRAPPER_END" >> $PROJECT.tex # CREATE PDF $LATEX_ENGINE $PROJECT.tex 2&> /dev/null $LATEX_ENGINE $PROJECT.tex 2&> /dev/null # $LATEX_ENGINE $PROJECT.tex popd > /dev/null cp -r $TMPDIR $WD/$PROJECT echo "File $PROJECT.pdf created at $WD/$PROJECT/" rm -rf $TMPDIR