From 408cee422af9031e99d8dedefb57bdce7887a111 Mon Sep 17 00:00:00 2001 From: utensil Date: Sun, 18 Aug 2024 18:27:07 +0800 Subject: [PATCH] Use `TEXINPUTS` for locating my .tex/.sty files --- README.md | 2 +- assets/article.xsl | 2 +- assets/book.xsl | 2 +- build.sh | 7 +++++++ dev.sh | 2 +- tex/a_book.tex | 2 +- tex/a_minipage.tex | 2 +- tex/an_article.tex | 2 +- tex/code.tex | 2 +- tex/diagrams.tex | 2 +- tex/preamble.tex | 10 +++++----- tex/string-diagrams.tex | 2 +- trees/latex-preamble.tree | 10 +++++----- 13 files changed, 27 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index c67d69c..eef3154 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ so I can check Jon Sterling's use of Forester conveniently. In order to use `dvisvgm` required by forester to compile LaTeX to SVG, I have to: ```bash -brew uninstall textlive +brew uninstall texlive brew install --cask mactex ``` diff --git a/assets/article.xsl b/assets/article.xsl index 2a9924f..b72e5c0 100644 --- a/assets/article.xsl +++ b/assets/article.xsl @@ -9,7 +9,7 @@ - \input{../tex/an_article} + \input{an_article} diff --git a/assets/book.xsl b/assets/book.xsl index 242bc73..32c3fed 100644 --- a/assets/book.xsl +++ b/assets/book.xsl @@ -9,7 +9,7 @@ - \input{../tex/a_book} + \input{a_book} diff --git a/build.sh b/build.sh index 567151e..3c5070d 100755 --- a/build.sh +++ b/build.sh @@ -1,5 +1,12 @@ #!/bin/bash +SCRIPT_DIR=$(dirname "$(readlink -f "$0")") +PROJECT_ROOT="$SCRIPT_DIR" + +export TEXINPUTS=.:$PROJECT_ROOT/tex/: + +echo "TEXINPUTS=$TEXINPUTS" + function show_result { # if return code is zero, then echo "Done" else echo "Failed" if [ $? -ne 0 ]; then diff --git a/dev.sh b/dev.sh index 03b5145..8815699 100755 --- a/dev.sh +++ b/dev.sh @@ -2,7 +2,7 @@ echo "🛁 Cleaning up build and output" # rm -rf build -rm -rf output +# rm -rf output ./build.sh watchexec --quiet --no-vcs-ignore --project-origin . --on-busy-update queue --poll 500ms -e tree,tex,css,js,xsl,glsl -w trees -w assets -w tex --emit-events-to=stdio -- ./build_changed.sh & diff --git a/tex/a_book.tex b/tex/a_book.tex index 4ca9cd6..4bd71a3 100644 --- a/tex/a_book.tex +++ b/tex/a_book.tex @@ -1,3 +1,3 @@ \documentclass[a4paper]{book} \usepackage{fontspec} % requires xelatex -\input{../tex/preamble} \ No newline at end of file +\input{preamble} \ No newline at end of file diff --git a/tex/a_minipage.tex b/tex/a_minipage.tex index 8099730..796a346 100644 --- a/tex/a_minipage.tex +++ b/tex/a_minipage.tex @@ -1,4 +1,4 @@ -\input{../tex/preamble} +\input{preamble} \usepackage[a4paper,lmargin=1in,rmargin=1in,tmargin=0.82in,bmargin=1ex]{geometry} % shims for macros useful only in LaTeX but not on forester web pages diff --git a/tex/an_article.tex b/tex/an_article.tex index c03ebab..313a49a 100644 --- a/tex/an_article.tex +++ b/tex/an_article.tex @@ -10,7 +10,7 @@ % \the\realoutput % } \usepackage{fontspec} % requires xelatex -\input{../tex/preamble} +\input{preamble} % \newcommand{\frontmatter}{} % \newcommand{\mainmatter}{} % \newcommand{\backmatter}{} diff --git a/tex/code.tex b/tex/code.tex index 819a678..bc71015 100644 --- a/tex/code.tex +++ b/tex/code.tex @@ -8,6 +8,6 @@ \definecolor{sortcolor}{rgb}{0.1, 0.5, 0.1} % green \definecolor{attributecolor}{rgb}{0.7, 0.1, 0.1} % red -\def\lstlanguagefiles{../tex/lstlean.tex} +\def\lstlanguagefiles{lstlean.tex} % set default language \lstset{language=lean} \ No newline at end of file diff --git a/tex/diagrams.tex b/tex/diagrams.tex index 598f871..f0c5a53 100644 --- a/tex/diagrams.tex +++ b/tex/diagrams.tex @@ -5,7 +5,7 @@ \usepgfplotslibrary{colormaps} \usepackage[outline]{contour} % glow around text % https://q.uiver.app/ -\usepackage{../tex/quiver} +\usepackage{quiver} \usetikzlibrary{math} \usetikzlibrary{matrix,arrows} \usetikzlibrary{backgrounds,intersections,fit,positioning,calc,shapes,spath3} diff --git a/tex/preamble.tex b/tex/preamble.tex index 045bc47..f140119 100644 --- a/tex/preamble.tex +++ b/tex/preamble.tex @@ -100,8 +100,8 @@ %% Framed boxes for definitions, theorems, remarks etc. -\input{../tex/mdframed} -% \input{../tex/tcolorbox} +\input{mdframed} +% \input{tcolorbox} % for tree ids in the margin % \usepackage{marginnote} @@ -132,9 +132,9 @@ % we have errors like: % (/usr/local/texlive/2024/texmf-dist/tex/latex/spath3/tikzlibraryspath3.code.tex % (/usr/local/texlive/2024/texmf-dist/tex/latex/spath3/spath3.sty))) -% (../tex/string-diagrams.tex +% (string-diagrams.tex % (/usr/local/texlive/2024/texmf-dist/tex/latex/string-diagrams/string-diagrams.s -% ty)) (../tex/diagrams.tex +% ty)) (diagrams.tex % ! LaTeX Error: Command \dontworryaboutit already defined. % Or name \end... illegal, see p.192 of the manual. @@ -180,4 +180,4 @@ %% Code highlighting -\input{../tex/code} \ No newline at end of file +\input{code} \ No newline at end of file diff --git a/tex/string-diagrams.tex b/tex/string-diagrams.tex index 531fa96..bbeb541 100644 --- a/tex/string-diagrams.tex +++ b/tex/string-diagrams.tex @@ -1,5 +1,5 @@ % \usepackage{string-diagrams} -\usepackage{../tex/string-diag} +\usepackage{string-diag} % \usepackage{xparse} \definecolor{catccolor}{RGB}{255,244,138} diff --git a/trees/latex-preamble.tree b/trees/latex-preamble.tree index 63f0a8e..6bb63df 100644 --- a/trees/latex-preamble.tree +++ b/trees/latex-preamble.tree @@ -3,26 +3,26 @@ \p{These LaTeX preambles are used by [[macros]].} -\p{We place LaTeX preambles in the directory \code{tex} which is at the same level of the directory \code{trees}, but we need to refer to them \code{../tex/name.tex}, because LaTeX is running in \code{build} directory.} +\p{We place LaTeX preambles in the directory \code{tex}, and add the absolute directory path to \code{TEXINPUTS} as we can't assume where LaTeX is building from.} \p{Here we define:} \p{\code{latex-preamble/common}: Common LaTeX preambles in \code{preamble.tex}.} \def\latex-preamble/common\verb<<<| -\input{../tex/preamble} +\input{preamble} <<< \p{\code{latex-preamble/minipage}: LaTeX preambles for embeding LaTeX in minipage.} \def\latex-preamble/minipage\verb<<<| -\input{../tex/a_minipage} +\input{a_minipage} <<< \def\latex-preamble/diagrams\verb<<<| -\input{../tex/diagrams} +\input{diagrams} <<< \def\latex-preamble/string-diagrams\verb<<<| -\input{../tex/string-diagrams} +\input{string-diagrams} <<<