linux-insides/Scripts/latex.sh
SeongJae Park 50332b3b4b Scripts/latex: Fix shellcheck warnings
Shellcheck[1] gives below warnings for `latex.sh` as below.  Those are
not real problems for now, but fixing those would be helpful for future
update.  This commit therefore fixes those except the shebang position,
as the warning is for Shellcheck itself.

[1] https://www.shellcheck.net/

    $ shellcheck latex.sh
    In latex.sh line 1:
    # latex.sh
    ^-- SC2148: Tips depend on target shell and yours is unknown. Add a
    shebang.

    In latex.sh line 8:
    for D in $(ls ../); do
             ^-- SC2045: Iterating over ls output is fragile. Use globs.

    In latex.sh line 12:
            pandoc ../$D/README.md ../$D/linux-*.md -o build/$D.tex
    --template default
                      ^-- SC2086: Double quote to prevent globbing and word
    splitting.
                                      ^-- SC2086: Double quote to prevent
    globbing and word splitting.
                                                             ^-- SC2086:
    Double quote to prevent globbing and word splitting.

    In latex.sh line 16:
    cd ./build
    ^-- SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails.

    In latex.sh line 19:
        pdflatex -interaction=nonstopmode $f
                                          ^-- SC2086: Double quote to
    prevent globbing and word splitting.

    In latex.sh line 22:
    cd ../
    ^-- SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails.

Signed-off-by: SeongJae Park <sj38.park@gmail.com>
2020-10-02 20:58:42 +02:00

29 lines
792 B
Bash
Executable File

# latex.sh
# A script for converting Markdown files in each of the subdirectories into a unified PDF typeset in LaTeX.
# Requires TexLive, Pandoc templates and pdfunite. Not necessary if you just want to read the PDF, only if you're compiling it yourself.
#!/bin/bash
rm -r build
mkdir build
for D in ../*; do
if [ -d "$D" ]
then
name=$(basename "$D")
echo "Converting $name . . ."
pandoc "$D"/README.md "$D"/linux-*.md \
-o build/"$name".tex --template default
fi
done
cd ./build || exit 1
for f in *.tex
do
pdflatex -interaction=nonstopmode "$f"
done
cd ../ || exit 1
pandoc ../README.md ../SUMMARY.md ../CONTRIBUTING.md ../contributors.md \
-o ./build/Preface.tex --template default
pdfunite ./build/*.pdf LinuxKernelInsides.pdf