以下是示例代码:
\documentclass[]{article}
\usepackage{listings}
\lstset{
basicstyle=\ttfamily\footnotesize,
frame=single, % adds a frame around the code
}
\begin{document}
\setlength{\fboxsep}{0pt}
\noindent\makebox[\linewidth]{\rule{\textwidth}{1pt}}
abc
\begin{lstlisting}
abc
\end{lstlisting}
\end{document}
结果的屏幕截图:
即使我将设置\fboxsep
为零,结果仍然相同。有什么方法可以让它小一点吗?
由于我的 tex 代码中有许多表格和列表框,我希望它们的宽度都相同。对于表格,可以通过tabularx
包正确设置其宽度,例如\begin{tabularx}{\textwidth}...
。但我不知道如何正确设置lstlisting
的框架宽度。
答案1
框架位于列表之外。因此,可以使用xleftmargin
和xrightmargin
为框架留出空间。 的默认值为framesep
3pt, 的默认值为framerule
0.4pt。
结果:
\documentclass[]{article}
\usepackage{listings}
\lstset{
basicstyle=\ttfamily\footnotesize,
frame=single, % adds a frame around the code
xleftmargin=3.4pt,
xrightmargin=3.4pt,
}
\begin{document}
\noindent\makebox[\linewidth]{\rule{\textwidth}{1pt}}
abc
\begin{lstlisting}
abc
\end{lstlisting}
\end{document}