我正在使用该listings
包将文件中的代码插入到我的 .tex 文档中,如下所示 -https://stackoverflow.com/a/21344989/4647107
我的 .tex 文档中有一些实例,我使用 插入来自文件的代码\lstinputlisting
,也有一些实例,我使用 插入手写代码片段\begin{lstlisting}..\end{lstlisting}
。
我希望插入的代码(以上述任何一种/两种方式插入)具有灰色背景。
我找到了这个答案 -https://tex.stackexchange.com/a/177019/193728它提供了一个解决方案,但代码周围似乎有额外的灰色空间(作为边框?),特别是在顶部和底部。
我该如何避免这种情况?
或者有更好的方法吗?
答案1
事实上,答案https://tex.stackexchange.com/a/177019/81639基本上解决了您的问题,您只需修改 mdframed 参数中的边距。
\documentclass{article}
\usepackage{listings} %code extracts
\usepackage{xcolor} %custom colours
\usepackage{mdframed} %nice frames
\definecolor{light-gray}{gray}{0.95} %the shade of grey that stack exchange uses
\begin{document}
\begin{mdframed}[backgroundcolor=light-gray, roundcorner=10pt,leftmargin=1, rightmargin=1, innerleftmargin=1, innertopmargin=1,innerbottommargin=1, outerlinewidth=1, linecolor=light-gray]
\begin{lstlisting}
#include <stdio.h>
int main(int argc, char ** argv)
{
printf("Hello world!\n");
return 0;
}
\end{lstlisting}
\end{mdframed}
\end{document}