我想在其中包含一张图片lst-listing
,但我不确定是否可行,因为当我运行下面的代码时,它给出了
那么,这可能吗?
代码:
\documentclass{article}
\usepackage{listings}
\usepackage{xcolor}
\usepackage[scaled=.85]{beramono}
\usepackage{graphicx}
\lstset{
language=R,
backgroundcolor=\color{black!5}, % set backgroundcolor
basicstyle=\footnotesize\ttfamily,% basic font setting
columns=fullflexible,
}
\begin{document}
\begin{lstlisting}
R code
@
\includegraphics{example-image}
\end{lstlisting}
\end{document}
答案1
是的,您可以通过在列表中转义为 LaTeX 代码来实现这一点。您只需选择一些代码中未使用的字符即可。在这里,我使用竖线 ( |
) 作为转义字符。
为了使背景正确显示,如第 7.2 节所述listings
包装手册,您必须从文件中输入列表,并用您喜欢的框架环境将其包围。这里我使用了mdframed
手册中所示的内容。listings
'内置背景在转义内容周围有间隙。
\begin{filecontents*}{my_r_code_test.r}
R code
@
|\includegraphics[width=0.5\textwidth]{example-image}|
\end{filecontents*}
\documentclass{article}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{listings,mdframed}
\lstset{
language=R,
backgroundcolor=\color{black!5}, % set backgroundcolor
basicstyle=\footnotesize\ttfamily,% basic font setting
columns=fullflexible,
}
\begin{document}
Plain escapes (note gaps in background):
\begin{lstlisting}[escapeinside=||]
R code
@
|\includegraphics[width=0.5\textwidth]{example-image}|
\end{lstlisting}
With \verb|mdframed|:
\begin{mdframed}[backgroundcolor=black!5,linewidth=0pt,%
innerleftmargin=0pt,innertopmargin=0pt,innerbottommargin=0pt]
\lstinputlisting[escapeinside=||]{my_r_code_test.r}
\end{mdframed}
\end{document}
答案2
是的,确实如此,使用escapeinside
,例如:
\begin{lstlisting}[escapeinside=`']
R code
@
`\includegraphics{example-image}'
\end{lstlisting}
以下是完整的 MWE:
% arara: pdflatex
\documentclass{article}
\usepackage{listings}
\usepackage{xcolor}
\usepackage[scaled=.85]{beramono}
\usepackage{graphicx}
\lstset{
language=R,
backgroundcolor=\color{black!5}, % set backgroundcolor
basicstyle=\footnotesize\ttfamily,% basic font setting
columns=fullflexible,
}
\begin{document}
\begin{lstlisting}[escapeinside=`']
R code
@
`\includegraphics{example-image}'
\end{lstlisting}
\end{document}