Merge branch 'main' of ssh://git.wlankabel.at:1516/aqoaba/md2tex
This commit is contained in:
commit
03daf77afb
23
README.md
23
README.md
@ -1,4 +1,26 @@
|
|||||||
# README
|
# README
|
||||||
|
## INSTALL pdf2book
|
||||||
|
```
|
||||||
|
PREFIX="$HOME/.local"
|
||||||
|
LIBDIR=$PREFIX/lib
|
||||||
|
BINDIR=$PREFIX/bin
|
||||||
|
SRCDIR=$LIBDIR/md2tex.git
|
||||||
|
mkdir -p $LIBDIR
|
||||||
|
git clone ssh://git@git.wlankabel.at:1516/aqoaba/md2tex.git $SRCDIR
|
||||||
|
python3 -m venv $SRCDIR/.venv
|
||||||
|
. $SRCDIR/.venv/bin/activate
|
||||||
|
pip3 install pypdf
|
||||||
|
echo -n '''#!/bin/bash
|
||||||
|
SRCDIR='$SRCDIR'
|
||||||
|
VENVDIR=$SRCDIR/.venv
|
||||||
|
. $VENVDIR/bin/activate
|
||||||
|
python3 $SRCDIR/pdf2book.py $@
|
||||||
|
deactivate
|
||||||
|
'''> $BINDIR/pdf2book
|
||||||
|
chmod +x $BINDIR/pdf2book
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
All names are temporary and happy about suggestions of improvement.
|
All names are temporary and happy about suggestions of improvement.
|
||||||
Dependencies:
|
Dependencies:
|
||||||
@ -7,6 +29,7 @@ Dependencies:
|
|||||||
- pypdf (e.g. `python3 -m venv .venv && . .venv/bin/activate && pip install pypdf`)
|
- pypdf (e.g. `python3 -m venv .venv && . .venv/bin/activate && pip install pypdf`)
|
||||||
- xelatex (e.g. `apt install texlive-xetex`)
|
- xelatex (e.g. `apt install texlive-xetex`)
|
||||||
- yaml
|
- yaml
|
||||||
|
- pandoc
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ document-options:
|
|||||||
doc-class: "memoir"
|
doc-class: "memoir"
|
||||||
doc-class-options: "twoside"
|
doc-class-options: "twoside"
|
||||||
fontsize: "10"
|
fontsize: "10"
|
||||||
pagesize: "a4"
|
pagesize: "a5"
|
||||||
|
|
||||||
project-options:
|
project-options:
|
||||||
language: 'en' # see chapter 18.20 in https://texdoc.org/serve/memman.pdf/0
|
language: 'en' # see chapter 18.20 in https://texdoc.org/serve/memman.pdf/0
|
||||||
|
39
sakara.py
39
sakara.py
@ -93,6 +93,7 @@ clean:
|
|||||||
\usepackage{{tcolorbox}} % https://en.wikipedia.org/wiki/Colophon_(publishing)
|
\usepackage{{tcolorbox}} % https://en.wikipedia.org/wiki/Colophon_(publishing)
|
||||||
\usepackage{{placeins}} % https://tex.stackexchange.com/a/88659/264579
|
\usepackage{{placeins}} % https://tex.stackexchange.com/a/88659/264579
|
||||||
\usepackage{{csquotes}} % \enquote
|
\usepackage{{csquotes}} % \enquote
|
||||||
|
\usepackage{{hyperref}} % https://tex.stackexchange.com/a/643590/264579
|
||||||
\usepackage{{reledmac}} % needed for repedpar
|
\usepackage{{reledmac}} % needed for repedpar
|
||||||
\usepackage{{reledpar}} % parallel text
|
\usepackage{{reledpar}} % parallel text
|
||||||
\firstlinenum*{{1000}}
|
\firstlinenum*{{1000}}
|
||||||
@ -124,7 +125,10 @@ clean:
|
|||||||
with open(mainfile_path, 'w') as maintex:
|
with open(mainfile_path, 'w') as maintex:
|
||||||
maintex.write(mainfile_content)
|
maintex.write(mainfile_content)
|
||||||
maintex.write('\n')
|
maintex.write('\n')
|
||||||
# include tex
|
# title page
|
||||||
|
titlepage=gettitlepage(conf)
|
||||||
|
maintex.write(titlepage)
|
||||||
|
# include chapters
|
||||||
for infile in conf['project-options']['infiles']:
|
for infile in conf['project-options']['infiles']:
|
||||||
# maintex.write(infile)
|
# maintex.write(infile)
|
||||||
f=os.path.join("chapters", os.path.basename(infile).split('.')[0]+".tex")
|
f=os.path.join("chapters", os.path.basename(infile).split('.')[0]+".tex")
|
||||||
@ -134,6 +138,39 @@ clean:
|
|||||||
maintex.write('\n')
|
maintex.write('\n')
|
||||||
maintex.write(r'\end{document}')
|
maintex.write(r'\end{document}')
|
||||||
|
|
||||||
|
def gettitlepage(conf):
|
||||||
|
title_page=r'''
|
||||||
|
\begin{titlingpage} %This starts the title page
|
||||||
|
% center textblock on page % https://tex.stackexchange.com/a/378157/264579
|
||||||
|
\setlrmarginsandblock{2.5cm}{*}{1} % this is manual and only works for a5
|
||||||
|
\setulmarginsandblock{2.5cm}{*}{1}
|
||||||
|
\checkandfixthelayout
|
||||||
|
\begin{flushright}
|
||||||
|
\hrule width \hsize height 2pt
|
||||||
|
\kern 1mm
|
||||||
|
\hrule width \hsize
|
||||||
|
\vspace{ 1.5em}
|
||||||
|
\Huge
|
||||||
|
title\par
|
||||||
|
% \vspace{ 0.5em}
|
||||||
|
\huge
|
||||||
|
subtitlep osttitle\par
|
||||||
|
\vspace{ 2em}
|
||||||
|
\Large
|
||||||
|
author
|
||||||
|
\vspace{ 1.5em}
|
||||||
|
\hrule width \hsize
|
||||||
|
\kern 1mm
|
||||||
|
\hrule width \hsize height 2pt
|
||||||
|
\vspace*{\fill}
|
||||||
|
\LARGE
|
||||||
|
SAKARA
|
||||||
|
% \vspace{ 2em}
|
||||||
|
\end{flushright}
|
||||||
|
\end{titlingpage}
|
||||||
|
'''
|
||||||
|
return title_page
|
||||||
|
|
||||||
def make_pdf(conf):
|
def make_pdf(conf):
|
||||||
os.system("cd "+conf['project-options']['project']+" && make") # https://stackoverflow.com/a/92395
|
os.system("cd "+conf['project-options']['project']+" && make") # https://stackoverflow.com/a/92395
|
||||||
# subprocess.call("make")
|
# subprocess.call("make")
|
||||||
|
Loading…
Reference in New Issue
Block a user