Das folgende MWE (entlehnt von@Celdor Antwort}, wo die Tabelle verwendet wird tabular
, funktioniert einwandfrei:
\documentclass{article}
\usepackage{array}
\usepackage{xcolor}
\usepackage{listings}
\lstset{language=sql,
keywordstyle=\color{black!30!blue}\bfseries,
columns=flexible,
}
\begin{document}
\noindent\begin{tabular}{w{l}{11cm}|c}
\begin{lstlisting}
SELECT SUM(lo_extendedprice*lo_discount) AS revenue
FROM lineorder, dwdate
WHERE d_yearmonthnum = 199401
AND lo_orderdate = d_datekey
AND lo_discount BETWEEN 4
AND 6 AND lo_quantity
BETWEEN 26 AND 35;
\end{lstlisting} & 1 \\
\end{tabular}
\end{document}
Unterdessen funktioniert die Umwandlung zur Verwendung des tblr
Pakets, selbst mit der Option verb
, nicht:
\documentclass{article}
\usepackage{tabularray}
\usepackage{xcolor}
\usepackage{listings}
\lstset{language=sql,
keywordstyle=\color{black!30!blue}\bfseries,
columns=flexible,
}
\begin{document}
\noindent\begin{tblr}{colspec = {X[j,m] | c},
rowsep=3pt,
verb}
\begin{lstlisting}
SELECT SUM(lo_extendedprice*lo_discount) AS revenue
FROM lineorder, dwdate
WHERE d_yearmonthnum = 199401
AND lo_orderdate = d_datekey
AND lo_discount BETWEEN 4
AND 6 AND lo_quantity
BETWEEN 26 AND 35;
\end{lstlisting} & 1 \\
\end{tblr}
\end{document}
Beim Kompilieren über MWE treten die folgenden Warnungen auf:
Package Listings Warning: Text dropped after begin of listing on input line 1.
! Missing } inserted.
<inserted text>
}
l.25 \end
{tblr}
?
und nichts produzieren. Habe ich das Einfügen von lstlisting
Code zu stark vereinfacht oder tabularray
wird dies noch nicht unterstützt?
Zu dieser Frage können Sie als Folgefrage nachsehenFehler bei gemeinsamer Verwendung von `listings` und `tabularray`
Antwort1
Hier ist eine Problemumgehung mit filecontents*
:
\documentclass{article}
\usepackage{tabularray}
\usepackage{xcolor}
\usepackage{listings}
\lstset{
language=sql,
keywordstyle=\color{black!30!blue}\bfseries,
columns=flexible,
}
\begin{document}
\begin{filecontents*}[force]{\jobname-sql.tex}
SELECT SUM(lo_extendedprice*lo_discount) AS revenue
FROM lineorder, dwdate
WHERE d_yearmonthnum = 199401
AND lo_orderdate = d_datekey
AND lo_discount BETWEEN 4
AND 6 AND lo_quantity
BETWEEN 26 AND 35;
\end{filecontents*}
\noindent\begin{tblr}{colspec = {X[j,m] | c},
rowsep=3pt,
verb}
\lstinputlisting{\jobname-sql.tex} & 1 \\
\end{tblr}
\end{document}