插入代码块作为段落

插入代码块作为段落

希望将报告中的几行代码显示为一个块,就像代码在 Stack Exchange 上显示的方式一样。对于内联代码,我一直使用\tikzhl\texttt

\usepackage{tikz}
\newcommand*{\tikzhl}[1]{\tikz[baseline=(X.base)]
 \node[fill=black!10] (X) {#1};}

对于段落中集成的代码,这似乎是一个很好的解决方案:在此处输入图片描述

但对于几行作为自己的段落来说,这并不理想: 在此处输入图片描述 我想要做的是让它显示如下,并带有一个灰色边界框:

Found 20 valid images for calibration
DIM=(1920, 1080)
K=np.array([[1374.9140598345757, 0.0, 996.2559942548266], [0.0, 1376.7481511557473, 541.0310811091442], [0.0, 0.0, 1.0]])
D=np.array([[-0.017077674858759682], [-0.30267173652198426], [1.7521950786149205], [-3.054359786737165]])

如果可能的话,添加一个比页边距更宽的新行,但如果不可能的话,我也可以手动执行此操作。

提前致谢。使用 Texmaker 和 MiKTeX 2.9。

答案1

我保留了你的\tikzhl命令,但是它不能与类似的东西一起工作\tikzhl{\documentclass}(它应该输出\documentclass)。

\documentclass{article}
\usepackage{listings}
\usepackage{xcolor}
\lstset{
    basicstyle=\ttfamily,
    backgroundcolor=\color{black!10},
    breaklines=true
}
\usepackage{tikz}
\newcommand*{\tikzhl}[1]{\tikz[baseline=(X.base)]
 \node[fill=black!10,font=\ttfamily,inner sep=1pt] (X) {#1};}
\begin{document}
\begin{lstlisting}
Found 20 valid images for calibration
DIM=(1920, 1080)
K=np.array([[1374.9140598345757, 0.0, 996.2559942548266], [0.0, 1376.7481511557473, 541.0310811091442], [0.0, 0.0, 1.0]])
D=np.array([[-0.017077674858759682], [-0.30267173652198426], [1.7521950786149205], [-3.054359786737165]])
\end{lstlisting}

Package \tikzhl{listings} can do it for you.
\end{document}

在此处输入图片描述

相关内容