tabularray 및 목록 결합 가능성

tabularray 및 목록 결합 가능성

다음 MWE(다음에서 빌림)@Celdor 답변}, tabular테이블이 사용되는 곳은 잘 작동합니다.

\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}

여기에 이미지 설명을 입력하세요

tblr한편 option 을 사용하더라도 패키지를 사용하도록 변환하면 다음과 같은 작업이 verb수행되지 않습니다.

\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}

MWE 위에서 컴파일하면 다음 경고가 발생합니다.

Package Listings Warning: Text dropped after begin of listing on input line 1.

! Missing } inserted.
<inserted text>
                }
l.25     \end
             {tblr}
? 

아무것도 생산하지 않습니다. 코드 삽입을 지나치게 단순화했습니까 lstlisting, 아니면 tabularray아직 이를 지원하지 않습니까?

이 질문에 대해 후속 질문으로 볼 수 있습니다.'listings'와 'tabularray'를 함께 사용하면 오류가 발생합니다.

답변1

다음을 사용하는 해결 방법은 다음과 같습니다 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}

관련 정보