Compare commits

..

2 Commits

Author SHA1 Message Date
72a0ebbadf add mk-verse.sh 2024-10-01 15:51:47 +02:00
e43bad85b5 md2verse.sh write to stdout 2024-10-01 15:51:29 +02:00
3 changed files with 96 additions and 28 deletions

13
conf.sh Normal file
View File

@ -0,0 +1,13 @@
LATEX_ENGINE="pdflatex"
DOCCLASS="book"
FONTSIZE="10"
PAGESIZE="a5"
PROJECT="quaderno"
TITLE="Quaderno de Musica"
AUTHOR="Centro Cultural Choupana"
INFILES="
Ladainhas
testfile/verse.tex
Corridos
testfile/verse.tex
"

View File

@ -1,8 +1,8 @@
#!/bin/bash
# converts akoaba markdown into tex
# converts aqoaba markdown into tex
# TODO
# - formatting scripture https://tex.stackexchange.com/a/652451/264579
# - do I even need mutliple verse environments?
# - [ ] formatting scripture https://tex.stackexchange.com/a/652451/264579
# - [ ] do I even need mutliple verse environments?
USAGE="""USAGE:
$(basename $0) markdown-file"""
if [ $# -ne 1 ] ; then echo "$USAGE" && exit 1; fi
@ -11,29 +11,6 @@ INFILE=$1
BASENAME=$(basename "${INFILE%.*}")
KEEP_TMP_FILES=0
###############
# OLD VERSION #
###############
## translate from pandoc md to latex
#pandoc \
# -f markdown \
# ${bname}.md \
# -t latex \
# -o ${bname}.tmp1
## repurpose headings and verbatim
#sed \
# -e "s/subsection/attrib/" \
# -e "s/section/poemtitle/" \
# -e "s/verbatim/verse/" \
# ${bname}.tmp1 \
# > ${bname}.tex
## insert verse into empty lines
###################
# SECOND VERSION #
###################
sed \
's/^$/\\end{verse}\
\
@ -58,11 +35,15 @@ pandoc \
-t latex \
-o ${BASENAME}.tmp4
# --wrap=preserve \
#sed \
# -e "s/subsection/attrib/" \
# -e "s/section/poemtitle/" \
# ${BASENAME}.tmp4 \
# > ${BASENAME}.tex
sed \
-e "s/subsection/attrib/" \
-e "s/section/poemtitle/" \
${BASENAME}.tmp4 \
> ${BASENAME}.tex
${BASENAME}.tmp4
if ! [[ $KEEP_TMP_FILES -gt 0 ]]
then

74
mk-verse.sh Normal file
View File

@ -0,0 +1,74 @@
#!/bin/bash
# CREATE PDF from markdown files
#
set -x
set -e
CONF="conf.sh"
TEMPLATE="verse-wrapper-template.tex"
CONVERTER="md2verse.sh"
if ! [[ -f $CONF ]] ; then echo "$CONF not found! Exiting ..." && exit ; fi
if ! [[ -f $TEMPLATE ]] ; then echo "$TEMPLATE 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
# CREATE WORKING DIR
WD=$PWD
TMPDIR=$(mktemp -d)
PATH=$PATH:$WD
pushd $TMPDIR
# CONVERT MD TO TEX
for tex in $( echo $INFILES | grep '.md$' )
do
echo $WD/$tex
# create parent dir if necassary
mkdir -p $(dirname $tex)
$CONVERTER $WD/$tex > $( echo $tex | sed "s/.md/.tex/" )
done
# CREATE WRAPPER
WRAPPER="""\documentclass{$DOCCLASS}
\usepackage[fontsize=${FONTSIZE}pt]{fontsize}
\usepackage[${PAGESIZE}paper,showframe]{geometry} % A6
\usepackage{verse, gmverse} % https://tex.stackexchange.com/a/542222
\newcommand{\attrib}[1]{%
\nopagebreak{\raggedleft\footnotesize #1\par}
}
\title{ ${TITLE} }
\author{ ${AUTHOR} }
\date{\today}
\begin{document}
\maketitle
\tableofcontents
"""
WRAPPER_END="""
\end{document}
"""
echo $WRAPPER > $PROJECT.tex
for input in $INFILE
do
if [[ "$input" = "*.md" ]]
then
echo '\\input' "{ $( echo $input | sed 's/.md/.tex/' ) }" >> $PROJECT.tex
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
cp $PROJECT.pdf $WD
popd
rm -rf $TMPDIR