diff options
Diffstat (limited to 'macros/luatex/latex/lua-placeholders/doc/lua-placeholders-example/example.tex')
-rw-r--r-- | macros/luatex/latex/lua-placeholders/doc/lua-placeholders-example/example.tex | 225 |
1 files changed, 225 insertions, 0 deletions
diff --git a/macros/luatex/latex/lua-placeholders/doc/lua-placeholders-example/example.tex b/macros/luatex/latex/lua-placeholders/doc/lua-placeholders-example/example.tex new file mode 100644 index 0000000000..805dd2469c --- /dev/null +++ b/macros/luatex/latex/lua-placeholders/doc/lua-placeholders-example/example.tex @@ -0,0 +1,225 @@ +%% example.tex +%% Copyright 2024 E. Nijenhuis +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3c +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status ‘maintained’. +% +% The Current Maintainer of this work is E. Nijenhuis. +% +% This work consists of the files lua-placeholders.sty lua-placeholders-manual.pdf +% lua-placeholders.lua lua-placeholders-common.lua lua-placeholders-namespace.lua lua-placeholders-parser.lua +% and lua-placeholders-types.lua + +\documentclass{article} +\usepackage{gitinfo-lua} +\usepackage{lua-placeholders} +\usepackage{listings} +\usepackage{amsmath} +\usepackage{calc} + +\loadrecipe[\jobname]{example-specification.yaml} + +\setlength{\parindent}{0pt} + +\begin{document} + \title{Lua \paramplaceholder{placeholders} Example\thanks{This example corresponds to \texttt{lua-placeholders} version \gitversion{} written on \gitdate.}} + \author{\dogitauthors[\\]} + \maketitle + + \section*{Basics} + Wrong parameter:\\ + + \lstinline[style=TeX,morekeywords={param}]|\param{non existing}| + $\implies$ + \param{non existing}\\ + + Conditional Parameter:\\ + + \lstinline[style=TeX,morekeywords={hasparam}]|\hasparam{list example}{is set}{is not set}| + $\implies$ + \hasparam{list example}{is set}{is not set} + + \section*{Before values loaded} + + Boolean example:\\ + + \lstinline[style=TeX,morekeywords={param}]|\param{bool example}| + $\implies$ + \param{bool example}\\ + + \lstinline[style=TeX,morekeywords={ifparam}]|\ifparam{bool example}{TRUE}{FALSE}| + $\implies$ + \ifparam{bool example}{TRUE}{FALSE}\\ + + String example:\\ + + \lstinline[style=TeX,morekeywords={param}]|\param{string example}| + $\implies$ + ``\param{string example}''\\ + + Number example:\\ + + \lstinline[style=TeX,morekeywords={param}]|\param{number example}| + $\implies$ + \param{number example}\\ + + List example:\\ + + \lstinline[style=TeX,morekeywords={param}]|\param{list example}| + $\implies$ + \param{list example}\\ + + \begin{lstlisting}[language={[LaTeX]TeX},morekeywords={formatitem,forlistitem}] +\begin{enumerate} + \newcommand\formatitem[1]{\item #1} + \forlistitem{list example}{formatitem} +\end{enumerate} + \end{lstlisting} + $\implies$ + \begin{enumerate} + \newcommand\formatitem[1]{\item #1} + \forlistitem{list example}{formatitem} + \end{enumerate} + + Object example:\\ + + \lstinline[style=TeX,morekeywords={paramfield}]|\paramfield{object example}{name}|\\ + \lstinline[style=TeX,morekeywords={paramfield}]|\paramfield{object example}{email}|\\ + $\implies$ + \paramfield{object example}{name} + \paramfield{object example}{email}\\ + + \begin{lstlisting}[style=TeX,morekeywords={name,email}] +\newcommand\name{...} +\begin{paramobject}{object example} + \name \email +\end{paramobject} +% And here it works again +\name + \end{lstlisting} + $\implies$ + \newcommand\name{...}% + \parbox{\linewidth}{ + \begin{paramobject}{object example} + \name \email + \end{paramobject} + \name + }\\ + + Table example:\\ + + \begin{lstlisting}[style=TeX,morekeywords={formatrow,fortablerow,description,price}] +\newcommand\formatrow{\description & \price \\}% +\begin{tabular}{l | l} + \textbf{Description} & \textbf{Price} \\ \hline + \fortablerow{table example}{formatrow} +\end{tabular} + \end{lstlisting} + $\implies$ + \newcommand\formatrow{\description & \price \\}% + \begin{tabular}{l | l} + \textbf{Description} & \textbf{Price} \\ \hline + \fortablerow{table example}{formatrow} + \end{tabular} + + + \section*{After values loaded} + \loadpayload[\jobname]{example.yaml} + + Boolean example:\\ + + \lstinline[style=TeX,morekeywords={param}]|\param{bool example}| + $\implies$ + \param{bool example}\\ + + \lstinline[style=TeX,morekeywords={ifparam}]|\ifparam{bool example}{TRUE}{FALSE}| + $\implies$ + \ifparam{bool example}{TRUE}{FALSE}\\ + + String example:\\ + + \lstinline[style=TeX,morekeywords={param}]|\param{string example}| + $\implies$ + ``\param{string example}''\\ + + Number example:\\ + + \lstinline[style=TeX,morekeywords={param}]|\param{number example}| + $\implies$ + \param{number example}\\ + + List example:\\ + + \lstinline[style=TeX,morekeywords={param}]|\param{list example}| + $\implies$ + \param{list example}\\ + + \begin{lstlisting}[language={[LaTeX]TeX},morekeywords={formatitem,forlistitem}] +\begin{enumerate} + \newcommand\formatitem[1]{\item #1} + \forlistitem{list example}{formatitem} +\end{enumerate} + \end{lstlisting} + $\implies$ + \begin{enumerate} + \newcommand\formatitem[1]{\item #1} + \forlistitem{list example}{formatitem} + \end{enumerate} + + Object example:\\ + + \lstinline[style=TeX,morekeywords={paramfield}]|\paramfield{object example}{name}|\\ + \lstinline[style=TeX,morekeywords={paramfield}]|\paramfield{object example}{email}|\\ + $\implies$ + \paramfield{object example}{name} + \paramfield{object example}{email}\\ + + \begin{lstlisting}[style=TeX,morekeywords={name,email}] +\newcommand\name{...} +\begin{paramobject}{object example} + \name \email +\end{paramobject} +% And here it works again +\name + \end{lstlisting} + $\implies$ + \parbox{\linewidth}{ + \begin{paramobject}{object example} + \name \email + \end{paramobject} + \name + }\\ + + Table example:\\ + + \begin{lstlisting}[style=TeX,morekeywords={formatrow,fortablerow,description,price}] +\newcommand\formatrow{\description & \price \\}% +\begin{tabular}{l | l} + \textbf{Description} & \textbf{Price} \\ \hline + \fortablerow{table example}{formatrow} +\end{tabular} + \end{lstlisting} + $\implies$ + \begin{tabular}{l | l} + \textbf{Description} & \textbf{Price} \\ \hline + \fortablerow{table example}{formatrow} + \end{tabular} + + \section*{Specification File} + \lstinputlisting[language=YAML,numbers=left,xleftmargin=15pt,caption={example-specification.yaml},columns=fullflexible]{example-specification.yaml} + + \clearpage + + \section*{Payload File} + \lstinputlisting[language=YAML,numbers=left,xleftmargin={15pt},caption={example.yaml},columns=fullflexible]{example.yaml} + + \section*{Fallback Payload} + \lstinputlisting[language=JSON,numbers=left,xleftmargin={15pt},caption={example.json},columns=fullflexible]{example.json} +\end{document} |