我怎样才能强迫\lstinputlisting[...]{filename}
服从全部由 ? 设置的参数\lstset
(请注意,这float
是给 TeX 示例的选项,而不是给 LaTeX 示例的选项。)
\begin{filecontents*}{helloworld.tex.example}
Hello, World!
\bye
\end{filecontents*}
\begin{filecontents*}{helloworld.ltx.example}
\documentclass{article}
\usepackage[margin=1in]{geometry}
\begin{document}
Hello, World!
\end{document}
\end{filecontents*}
%%%%%%%%%%%%%%%%%%%%%%%
\documentclass{article}
\usepackage{listings}
\lstset{float,frame=lines}
\usepackage{mwe}
\begin{document}
\lipsum[1]
\lstinputlisting[language = TeX, float, caption=A \TeX\ example]
{helloworld.tex.example}
\lipsum[2]
\lstinputlisting[language = {[LaTeX]TeX}, caption=A \LaTeX\ example]
{helloworld.ltx.example}
\lipsum[3]
\end{document}
答案1
文档说明了float
:
仅对单独显示的列表有意义并让它们浮动。
因此它可能是一个功能,该选项float
不能全局设置。
尽管如此,以下解决方法似乎有效:
\usepackage{listings}
\lstset{float}
\makeatletter
\let\lst@floatdefault\lst@float
\makeatother