是否可以在 lst-listing 中包含图形?

是否可以在 lst-listing 中包含图形?

我想在其中包含一张图片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}

相关内容