的条目\listoffigures
与的左边框不对齐身体,有一个缩进。那么,我该如何删除它呢?
\documentclass{article}
\usepackage{lipsum}
\usepackage{mwe}
\usepackage{caption}
\begin{document}
\lipsum[1]
\subsubsection*{Figures}
\makeatletter
\renewcommand\listoffigures{%
\@starttoc{lof}%
}
\makeatother
\listoffigures
\begin{figure}
\includegraphics{example-image-a}
\caption{A}
\label{fig:a}
\end{figure}
\end{document}
答案1
LoF 中的每个图形集都用于\l@figure
设置格式。该类下的格式article
定义为
\@dottedtocline{1}{1.5em}{2.3em}
\@dottedtocline{<level>}{<indent>}{<numwidth>}{<title>}{<page>}
其中identify的参数
- 正在设置的条目
<level>
的 <indent>
从该条目的左边距开始,<numwidth>
保存该条目数字的框 ( ) 的宽度,- 该条目的
<title>
(通常由\caption{<title>}
或提供\caption[<LoF entry>]{<title>}
),以及 - 这
<page>
。
您可以通过搜索获取上述信息LaTeX2e 源文档。如您所见,\l@figure
仅提供格式化组件(前 3 个参数),您可以根据需要进行调整。因此,添加
\makeatletter
\renewcommand{\l@figure}{\@dottedtocline{1}{0pt}{2.3em}}
\makeatother
在您的序言中(或在调用之前\listoffigures
)应该删除缩进(将其设置为0pt
)。
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\subsubsection*{Figures}
\makeatletter
\renewcommand\listoffigures{%
\@starttoc{lof}%
}
\renewcommand{\l@figure}{\@dottedtocline{1}{0pt}{2.3em}}% Usual indent is 1.5em
\makeatother
\listoffigures
\begin{figure}
\caption{A}% Figure 1
\caption{B}% Figure 2
\setcounter{figure}{9}%
\caption{C}% Figure 10
\end{figure}
\end{document}
对于小型应用程序,这种手动调整就足够了。如果要在大型项目中实现更一致的更改,请考虑使用tocloft
(您可以使用它\setlength{\cftfigindent}{0pt}
来获得相同的结果)。