我使用 \lstdefinelanguage 为我想添加到文件中的某些 JSON 块创建格式,我使用了该问题答案中的格式:
因此我创建了自己的 \lstdefinelanguage,如下所示:
\lstdefinelanguage{json}{
basicstyle=\normalfont\ttfamily,
numbers=left,
numberstyle=\scriptsize,
stepnumber=1,
numbersep=8pt,
showstringspaces=false,
breaklines=true,
frame=lines,
backgroundcolor=\color{background},
literate=
*{0}{{{\color{numb}0}}}{1}
{1}{{{\color{numb}1}}}{1}
{2}{{{\color{numb}2}}}{1}
{3}{{{\color{numb}3}}}{1}
{4}{{{\color{numb}4}}}{1}
{5}{{{\color{numb}5}}}{1}
{6}{{{\color{numb}6}}}{1}
{7}{{{\color{numb}7}}}{1}
{8}{{{\color{numb}8}}}{1}
{9}{{{\color{numb}9}}}{1}
{:}{{{\color{punct}{:}}}}{1}
{,}{{{\color{punct}{,}}}}{1}
{\{}{{{\color{delim}{\{}}}}{1}
{\}}{{{\color{delim}{\}}}}}{1}
{[}{{{\color{delim}{[}}}}{1}
{]}{{{\color{delim}{]}}}}{1},
}
像这样使用它:
\begin{figure}[htbp]
\centering
\begin{lstlisting}[language=json][firstnumber=1]
{
"type": "auth-request",
"content": {
"user": "agentA1",
"pw": "1"
}
}
\end{lstlisting}
\caption{Example of an AUTH-REQUEST message.}
\label{fig:auth-request}
\end{figure}
这将给出以下文档:
所以对于我的问题,改变此列表宽度的最佳方法是什么?如果可能的话,我想让它达到 80% 左右\textwidth
。但如果我这样做:
\begin{lstlisting}[language=json][firstnumber=1, linewidth=.8\textwidth]
{
"type": "auth-request",
"content": {
"user": "agentA1",
"pw": "1"
}
}
\end{lstlisting}
我收到一个警告,即:Package Listings Warning: Text dropped after begin of listing
。它实际上并没有改变文档中列表的外观。
那么如何更改特定列表的宽度?