希望将报告中的几行代码显示为一个块,就像代码在 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}