diff --git a/dist/full.tex b/dist/full.tex index 25cd9a7..a50f2a6 100644 --- a/dist/full.tex +++ b/dist/full.tex @@ -1085,8 +1085,11 @@ \usepackage{minted} \usepackage{fancyvrb} +% Args: Code. +% Alternative: Use \mint{}|code| \newcommand{\inlinecode}[1]{\shade{gray}{\texttt{#1}}} +% Args: Language, Code \newenvironment{code}[1]{ \VerbatimEnvironment \begin{minted}[ @@ -1097,5 +1100,29 @@ framesep=2mm, mathescape, baselinestretch=1.1, - linenos]{#1}} + linenos + ]{#1}} {\end{minted}} + +% Args: Language, file relative to root file +\newcommand{\inputcode}[2]{ + \inputminted[ + autogobble, + breaklines, + breakindentnchars=2, + frame=lines, + framesep=2mm, + mathescape, + baselinestretch=1.1, + linenos + ]{#1}{#2} +} + +% Args: Language, Base directory (with trailing slash), file (no slash at start) +\newcommand{\inputcodewithfilename}[3]{ + \begin{figure}[h!] + \texttt{File: \detokenize{#3}} + \rmvspace + \inputcode{#1}{#2#3} + \end{figure} +} diff --git a/docs/docs.pdf b/docs/docs.pdf index 32192a5..ab103c6 100644 Binary files a/docs/docs.pdf and b/docs/docs.pdf differ diff --git a/docs/parts/reference/extras.tex b/docs/parts/reference/extras.tex index 923b429..7686696 100644 --- a/docs/parts/reference/extras.tex +++ b/docs/parts/reference/extras.tex @@ -9,11 +9,14 @@ To add more sources, simply use bibter's built-in macro \verb|\addbibresource|\t You need to use that inside the preamble as well. +% ──────────────────────────────────────────────────────────────────── \subsubsection{Glossary} \textit{Included in \texttt{recommended} and up} Use \verb|\setupGlossary| in the preamble to prepare, then use the normal glossary commands to add entries to the glossary. When you want to print it, use \verb|\printGlossary|. + +% ──────────────────────────────────────────────────────────────────── \subsubsection{Minted} \textit{Included in \texttt{full}} @@ -24,7 +27,7 @@ When \texttt{minted} is available via these helpers, you will also have access t \begin{minted}{latex} \begin{code}{language} - //Code goes here + // Code goes here \end{code} \end{minted} @@ -33,10 +36,32 @@ This is nothing different than a wrapper for a minted environment with a box dra Example (in python): \begin{code}{python} - def hello_world(): +def hello_world(): print("hello world!") \end{code} +If instead, you want to have the code in separate source files, you can use (relative to root file) +\begin{minted}{latex} +\inputcode{}{path/to/source/file} +\end{minted} + +The helpers also provide a wrapper for this, which also prints the filename: + +\begin{minted}{latex} +\inputcodewithfilename{}{}{} +\end{minted} +where the base dir is relative to the root file of the latex document and is not displayed (and should end in \texttt{/}), and the file is relative to the base dir and is displayed. + +Example (assume file at \texttt{./code/lib/demo.py} and you want the file name to be \texttt{lib/demo.py}): +\begin{minted}{latex} +\inputcodewithfilename{python}{code/}{lib/demo.py} +\end{minted} +You may of course leave the base dir argument empty as well. + + +\fhlc{Cyan}{Inline Code} If you want to print code inline, use \verb|\inlinecode|\textit{\{string\}}, which renders to \inlinecode{code}. \textit{Caveat: This is not using the \texttt{verbatim} environment due to various limitations of that environment and instead is simply using} \verb|\texttt{}|, so you cannot use this to print \LaTeX-commands + +Alternatively, to get code highlighting, you can use \verb|\mint{}|\texttt{|code|} diff --git a/extra/minted.tex b/extra/minted.tex index 44c72b5..01669cb 100644 --- a/extra/minted.tex +++ b/extra/minted.tex @@ -4,8 +4,11 @@ \usepackage{minted} \usepackage{fancyvrb} +% Args: Code. +% Alternative: Use \mint{}|code| \newcommand{\inlinecode}[1]{\shade{gray}{\texttt{#1}}} +% Args: Language, Code \newenvironment{code}[1]{ \VerbatimEnvironment \begin{minted}[ @@ -16,5 +19,29 @@ framesep=2mm, mathescape, baselinestretch=1.1, - linenos]{#1}} + linenos + ]{#1}} {\end{minted}} + +% Args: Language, file relative to root file +\newcommand{\inputcode}[2]{ + \inputminted[ + autogobble, + breaklines, + breakindentnchars=2, + frame=lines, + framesep=2mm, + mathescape, + baselinestretch=1.1, + linenos + ]{#1}{#2} +} + +% Args: Language, Base directory (with trailing slash), file (no slash at start) +\newcommand{\inputcodewithfilename}[3]{ + \begin{figure}[h!] + \texttt{File: \detokenize{#3}} + \rmvspace + \inputcode{#1}{#2#3} + \end{figure} +}