我想为lstlisting
s 使用自定义浮动环境,以便能够使用 在列表周围绘制框架mdframed
。
我的 float 使用与 lstlisting 相同的计数器,也出现在列表列表中。但是,列表列表中的相应行没有像其他行一样缩进。
我的问题:
- 这是为什么?
- 我该怎么做才能使自定义浮点数的条目看起来一样?
最小示例:
\documentclass[a4paper,oneside,article,final]{memoir}
\usepackage{listings}
\newfloat[chapter]{myfloat}{lol}{Listing}
\newlistentry{myfloat}{lol}{0}
\begin{document}
\lstlistoflistings
\chapter{Content}
\begin{lstlisting}[caption={A}]
A!
\end{lstlisting}
\begin{lstlisting}[caption={B}]
B!
\end{lstlisting}
\begin{myfloat}[b]
\begin{lstlisting}
C!
\end{lstlisting}
\caption{C}
\end{myfloat}
\end{document}
我会发布它的样子(已经截屏了),但显然需要 10 点声誉才能发布图像 :/
答案1
memoir 中 listof... 条目的缩进由命令指定\cftsetindents
。这需要三个参数:
- 此列表条目类型:在这种情况下
myfloat
- 内容行的缩进
- 为条目编号留出的宽度
对于后两者,使用回忆录部分内容行中的值
\cftsetindents{section}{1.5em}{2.3em}
正是你想要的:
\documentclass[a4paper,oneside,article,final]{memoir}
\usepackage{listings}
\newfloat[chapter]{myfloat}{lol}{Listing}
\newlistentry{myfloat}{lol}{0}
\cftsetindents{myfloat}{1.5em}{2.3em}
\begin{document}
\lstlistoflistings
\chapter{Content}
\begin{lstlisting}[caption={A}]
A!
\end{lstlisting}
\begin{lstlisting}[caption={B}]
B!
\end{lstlisting}
\begin{myfloat}[b]
\begin{lstlisting}
C!
\end{lstlisting}
\caption{C}
\end{myfloat}
\end{document}
请参阅回忆录手册第 9.2 节,以获得更好的解释以及更多可以调整的内容。