我到处寻找,找到了使用\usepackage{float}
for处理图像的方法\includegraphics
。但我也有来自.txt
文件中的文本\lstinputlisting
,我也想强制执行。
我不太明白关于放置工作如何进行的文档。
5.1 空间与位置
浮点数=[*]<tbphi 的子集>或者
float
浮动放置
只对单个显示的列表有意义,并允许它们浮动。该参数控制允许 LATEX 放置浮动的位置:在当前/下一页的顶部或底部、在单独的页面上,或者在列表所在的位置。可选的星号可用于在双列文档中获取双列浮动浮动位置=<位置说明符> 氘氘
如果使用浮点数而没有值,则用作位置说明符。
有什么想法我可以如何强制使用下面的代码\lstinputlisting
吗?
\lstinputlisting[float=h,frame=tb,
caption=Iteration: 2. Variable importance for unpruned decision tree ,captionpos=b, belowcaptionskip=2cm ,label=zebra]{results/maybe_80_20.txt}
答案1
软件包listings
支持非浮动列表的标题。请参阅手册中第 5.7 节“标题”的初始段落listings
:
尽管 LaTeX 标准行为如此,但标题和浮动在这里是彼此独立的;您可以将标题与非浮动列表一起使用。
因此,您可以简单地float
从示例中删除该选项并使用,例如:
\documentclass{article}
\usepackage{listings}
\usepackage{mwe}
\begin{document}
\blindtext
\lstinputlisting[frame=tb,caption=Source of this file,
captionpos=b,belowcaptionskip=2cm,
label=zebra]{\jobname.tex}
\blindtext
\end{document}
要得到
您只需要float
对那些应该浮动的列表使用选项。
注意:还允许在带有标题的非浮动列表中使用分页符!因此,如果不允许分页符,则listings
必须在它们周围使用或\parbox
:minipage
\documentclass{article}
\usepackage{listings}
\usepackage{mwe}
\begin{document}
\blindtext[3]
\noindent\begin{minipage}{\linewidth}
\lstinputlisting[frame=tb,caption=Source of this file,
captionpos=b,belowcaptionskip=2cm,
label=zebra]{\jobname.tex}
\end{minipage}
\blindtext
\end{document}
结果是:
尽管
\documentclass{article}
\usepackage{listings}
\usepackage{mwe}
\begin{document}
\blindtext[3]
%\noindent\begin{minipage}{\linewidth}
\lstinputlisting[frame=tb,caption=Source of this file,
captionpos=b,belowcaptionskip=2cm,
label=zebra]{\jobname.tex}
%\end{minipage}
\blindtext
\end{document}
结果是:
顺便说一句:H
包的选项float
不能与以下内容一起使用\lstinputlisting
:
% CAVEAT: THIS WILL NOT WORK! DON'T DO IT!!!
\documentclass{article}
\usepackage{float}
\usepackage{listings}
\usepackage{mwe}
\begin{document}
\blindtext
\lstinputlisting[float=H,frame=tb,
caption=Source of this file,
captionpos=b,belowcaptionskip=2cm,
label=zebra]{\jobname.tex}
\blindtext
\end{document}
会导致
如您所见,列表丢失(没有任何错误消息)。所以:不要这样做!