\documentclass[14pt]{extarticle}
\usepackage{xcolor}
\definecolor{deepblue}{rgb}{0,0,0.5}
\definecolor{deepred}{rgb}{0.6,0,0}
\definecolor{deepgreen}{rgb}{0,0.5,0}
\usepackage{listings}
\lstloadlanguages{[LaTeX]TeX}
\lstdefinestyle{listLaTeX}{
language={[LaTeX]TeX},
extendedchars=true,
belowcaptionskip=5pt,
xleftmargin=0.5cm,
numbers=left,
numberstyle=\scriptsize\ttfamily\bf,
frame=single,
breaklines=true,
breakatwhitespace=true,
breakindent=0pt,
basicstyle=\small\ttfamily,
keywordstyle=\color{deepblue}\ttfamily,
identifierstyle=\color{deepred}\ttfamily,
commentstyle=\color{deepgreen}\ttfamily,
morekeywords={},
emphstyle=\color{red},
emph={},
columns=fullflexible,
showstringspaces=false
}
\begin{document}
Test -- \lstinline[style=listLaTeX]!\Huge!!
\begin{tabular}{|p{0.29\linewidth}|p{0.29\linewidth}|p{0.29\linewidth}|}
\hline
1&2&3\\
\lstinline[style=listLaTeX]!\Huge!&2&3\\%This line has an error!!!!
\hline
\end{tabular}
\end{document}
答案1
egreg 的回答对我来说不起作用,所以她是我如何做的一个例子:
\documentclass[varwidth]{standalone}
\usepackage {listings}
\usepackage {xcolor}
% Color scheme: original matlab
\definecolor{src_none}{HTML} {555555} %
\definecolor{src_comment}{HTML} {008000} % gruen
\lstset{language = Matlab,
basicstyle = \color{src_none}\ttfamily\footnotesize,
stringstyle = \color{src_comment}}
\begin{document}
lorem \lstinline{foo = 'bar';} ipsum.\\
\begin{tabular}{ll}
11 & 12\\
\lstinline[]$bar = 'foo';$ & 22\\
\end{tabular}
\end{document}
请注意,我使用“$$”而不是括号“{}”,结果是:
答案2
\lstinline
这与用于查找其参数末尾的“向前看”技术有关;它会根据您的输入找到单元格的末尾,这是 TeX 内部使用的隐式标记,在用户输入中是不合法的。
用大括号保护\lstinline
解决了这个问题,因为向前查找会找到右大括号而不是非法标记\endtemplate
:
\begin{tabular}{|p{0.29\linewidth}|p{0.29\linewidth}|p{0.29\linewidth}|}
\hline
1 & 2 & 3\\
{\lstinline[style=listLaTeX]!\Huge!} & 2 & 3 \\
\hline
\end{tabular}
答案3
不要使用\lstinline{xxx}
,而要尝试\lstinline|xxx|
或\lstinline$xxx$
。