blob: f0385623c15ab617c3251280192306e3842e20f4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
#!/bin/bash
# A script to compile any (here defined) type of text file to a target format
# Depends on: bash, basename, pdflatex
# By David Penkowoj, 2021/08/02
# Function to compile .lp to .pdf files
LP_TO_PDF() {
lilypond "$1" --pdf -s -o "$2.pdf" &&
printf "Successfully compiled %s to %s\n" "$1" "$2.pdf" ||
printf "[ Error ] Couldn't compile %s\n" "$1"
}
# Function to compile .md to .pdf files
MD_TO_PDF() {
pandoc "$1" -o "$2.pdf" &&
printf "Successfully compiled %s to %s\n" "$1" "$2.pdf" ||
printf "[ Error ] Couldn't compile %s\n" "$1"
}
# Function to compile .tex to .pdf files without making a mess
TEX_TO_PDF() {
printf "If the script seems to hang, try pressing <Enter>\n"
pdflatex "$1" > /dev/null &&
pdflatex "$1" > /dev/null && # This is to ensure certain tex elements being drawn
rm -rf "$2.toc" "$2.log" "$2.aux" &&
printf "Successfully compiled %s to %s\n" "$2.tex" "$2.pdf" ||
printf "[ Error ] Couldn't compile %s\n" "$2.tex"
}
# Check if file exists
if [[ -e "$1" ]]; then
# Determine filename and extension
FILENAME="$(basename -- "$1")"
EXTENSION="${FILENAME##*.}"
# Check if there is a extension at all
if [[ "$FILENAME" == "$EXTENSION" ]]; then
printf "[ Error ] The specified file has no extension\n"
exit 1
fi
# Do the respective compile actions
case "$EXTENSION" in
"tex")
TEX_TO_PDF "$1" "${FILENAME%.*}"
;;
"md")
MD_TO_PDF "$1" "${FILENAME%.*}"
;;
"lp")
LP_TO_PDF "$1" "${FILENAME%.*}"
;;
"pov")
povray "$1"
;;
*)
printf "[ Error ] There is no entry on how to handle '%s' files.\n" "$EXTENSION"
exit 1
esac
fi
exit 0
|