Merge branch 'main' of ssh://git.wlankabel.at:1516/aqoaba/md2tex

This commit is contained in:
uni@bor.mac 2024-10-04 21:23:19 +02:00
commit 73e6ecc137
6 changed files with 123 additions and 32 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.venv

View File

@ -1,6 +1,11 @@
# README
All names are temporary and happy about suggestions of improvement.
Dependencies:
- bash
- python3
- pypdf (e.g. `python3 -m venv .venv && . .venv/bin/activate && pip install pypdf`)
- xelatex (e.g. `apt install texlive-xetex`)
---
@ -69,13 +74,26 @@ s=4: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 -> 16,01.02,15 14,03.04,13 12,05.06,
### TODO
- [x] create md2verse.sh
- [ ] create mk2parallel.sh
- [ ] fix geometry bug
- [ ] fix multi-word string chapter bug
- [ ] create md2tex.sh
- [ ] create pdf2sig.sh /pdf2book.py -s/--sigsize [0,3,4,5]
- [ ] improve mkverse.sh
- [x] write into folder instead of giving back only pdf
- [ ] insert cleaning step (html to md)
- [ ] md2html -> sed pertubation -> html2md
- [X] create mkparallel.sh
- [X] fix geometry bug
- [X] fix multi-word string chapter bug
- [ ] improve mkparallel.sh
- [/] colophon
- [ ] dictionary
- [ ] include pics into title and colophon
- [ ] insert cleaning step (html to md)
- [ ] md2html -> sed pertubation -> html2md
- [X] create pdf2sig.sh /pdf2book.py -s/--sigsize [0,3,4,5]
- [ ] move conf files to templates
- [ ] make config a needed argument
- [ ] think of better names for scripts
- [ ] unify scripts
- [ ] python rewrite of md2verse and md2parallel
- [ ] insert cleaning step (html to md)
- [ ] md2html -> sed pertubation -> html2md
- [ ] create a script that does: parallel-md -> bilingual word pair list
- [ ] 1. word list
- [ ] 2. translate (with gpt?) sowas von python

View File

@ -23,16 +23,24 @@ KEEP_TMP_FILES=0
# convert md to html
pandoc --wrap=none -f markdown $DIRNAME/${BASENAME}.md -t html -o ${BASENAME}.html
# convert html to tex
#sed -i '' 's@<p>@\n\\pstart\n@' ${BASENAME}.html
#sed -i '' 's@</p>@\n\\pend@' ${BASENAME}.html
sed -i '' 's@<p>@\n\\pend\\pstart\n@' ${BASENAME}.html
sed -i '' 's@</p>@@' ${BASENAME}.html
sed -i '' 's@“@\\enquote{@g' ${BASENAME}.html
sed -i '' 's@”@}@g' ${BASENAME}.html
sed -i '' 's@<h1.*">@\\section[@' ${BASENAME}.html
sed -i '' 's@</h1>@]@' ${BASENAME}.html
sed -i '' 's@<h2.*">@{@' ${BASENAME}.html
sed -i '' 's@</h2>@}@' ${BASENAME}.html
sed -i '' "s@@'@g" ${BASENAME}.html
# check if on linux or macos
if [[ $(uname) == "Linux" ]]
then
SED_CMD="sed -i"
elif [[ $(uname) == "Darwin" ]]
then
SED_CMD="sed -i ''"
fi
#$SED_CMD 's@<p>@\n\\pstart\n@' ${BASENAME}.html
#$SED_CMD 's@</p>@\n\\pend@' ${BASENAME}.html
$SED_CMD 's@<p>@\n\\pend\\pstart\n@' ${BASENAME}.html
$SED_CMD 's@</p>@@' ${BASENAME}.html
$SED_CMD 's@“@\\enquote{@g' ${BASENAME}.html
$SED_CMD 's@”@}@g' ${BASENAME}.html
$SED_CMD 's@<h1.*">@\\section[@' ${BASENAME}.html
$SED_CMD 's@</h1>@]@' ${BASENAME}.html
$SED_CMD 's@<h2.*">@{@' ${BASENAME}.html
$SED_CMD 's@</h2>@}@' ${BASENAME}.html
$SED_CMD "s@@'@g" ${BASENAME}.html
mv ${BASENAME}.html ${BASENAME}.tex
cat ${BASENAME}.tex && rm ${BASENAME}.tex

View File

@ -26,8 +26,6 @@ PATH=$PATH:$WD
pushd $TMPDIR > /dev/null
# CONVERT MD TO TEX
#IFS_OLD=$IFS
#IFS="\n"
for tex in $( echo "$INFILES" | grep '.md$' )
do
if [[ -f $WD/$tex ]]
@ -42,21 +40,21 @@ do
fi
fi
done
#IFS=$IFS_OLD
# CREATE WRAPPER
WRAPPER="""
%\documentclass[twoside]{$DOCCLASS}
\documentclass[twoside]{$DOCCLASS}
\documentclass[twoside,${PAGESIZE}paper]{$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{tcolorbox} % https://en.wikipedia.org/wiki/Colophon_(publishing)
\usepackage{placeins} % https://tex.stackexchange.com/a/88659/264579
\usepackage{csquotes} % \enquote
\usepackage{reledmac} % needed for repedpar
\usepackage{reledpar} % parallel text
\firstlinenum*{1000}
\linenumincrement*{1000}
\newcommand{\pagesinclude}[2]{
\begin{pages}
\begin{Leftside}
@ -75,16 +73,81 @@ WRAPPER="""
\title{$TITLE}
\author{$AUTHOR}
\begin{document}
\maketitle
"""
TITLE_PAGE="""
%\date{}
%\maketitle
%%%
\begin{titlingpage} %This starts the title page
\begin{center}
% ~
\vspace{2cm} %put the distance you need.
% ~
\begin{HUGE}
\thetitle \\
\end{HUGE}
\vspace{3cm} %put the distance you need.
\begin{large}
\theauthor\\
\end{large}
%\thedate
\begin{figure}[hb]
\centering
% \includegraphics[width=\adinkrawidth]{img/sankofa.jpeg}
\end{figure}
% \vspace{3cm} %put the distance you need.
% \begin{figure}[hb]
% \centering
%% \includegraphics[width=.2\textwidth]{img/ghana_flag.jpeg}
% \end{figure}
\end{center}
\end{titlingpage}
%%%
"""
COLOPHON="""
\cleardoublepage
\thispagestyle{empty}
\begin{vplace}[0.7]
\begin{centering}
\begin{huge}
\thetitle
\end{huge}
\\
\vspace{3cm}
\begin{LARGE}
\begin{tcolorbox}[width=.5\textwidth]
\centering
% \texttt{AQO}\\
% \texttt{ABA}\\
% \texttt{~\newline AQO\newline ABA\newline}%\\
\texttt{$PUBLISHER}
\end{tcolorbox}
\end{LARGE}
% \includegraphics[width=.3\textwidth]{img/onipa_logo.png}
\vspace{2cm}
\par\noindent\rule{\textwidth}{0.4pt}
\large { \the\year{} }\\
$EDITION\\
\end{centering}
\end{vplace}
\clearpage
"""
TOC="""
\cleardoublepage
\tableofcontents
"""
WRAPPER_END="""
\end{document}
"""
echo "$WRAPPER" > $PROJECT.tex
echo "$WRAPPER" > $PROJECT.tex
echo "$TITLE_PAGE" >> $PROJECT.tex
echo "$COLOPHON" >> $PROJECT.tex
echo "$TOC" >> $PROJECT.tex
# INCLUDE INDIVIDUAL TEX FILE
first_lang="true"
IFS_OLD=$IFS
IFS=$'\n'
for input in $INFILES
do
if [[ $input == *.md ]]
@ -101,6 +164,7 @@ do
echo '\chapter' " { $input }" >> $PROJECT.tex
fi
done
IFS=$IFS_OLD
echo "$WRAPPER_END" >> $PROJECT.tex
# CREATE PDF

View File

@ -84,10 +84,8 @@ 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
cp $PROJECT.pdf $WD
echo "File $PROJECT.pdf created at $WD"
#cp $PROJECT.tex $WD
echo "File $PROJECT.tex created at $WD"
popd > /dev/null
if [[ -d $WD/$PROJECT ]] ; then rm -rf $WD/$PROJECT ; fi
cp -r $TMPDIR $WD/$PROJECT
echo "File $PROJECT.pdf created at $WD/$PROJECT"
rm -rf $TMPDIR

View File

@ -4,10 +4,12 @@ DOCCLASS_EXTRA="twoside"
FONTSIZE="10"
PAGESIZE="a5"
PROJECT="asem"
TITLE="Nsɛm wɔ Twi ne Brɔfo\\\LARGE Texts in Twi and English"
TITLE="Nsɛm wɔ Twi ne Brɔfo\\\\ \\LARGE Texts in Twi and English"
AUTHOR=""
INFILES="""
'Anansesem - Ghanaian Folk Tales'
Anansesem - Ghanaian Folk Tales
testfiles/parallel-ak.md
testfiles/parallel-en.md
"""
PUBLISHER="AQO\\\\ABA"
EDITION="First Edition"