如两张图片所示, 的第一个条目listoffigures
比我的缩写列表更靠右。 是否可以检索环境中使用的边距设置listoffigures
并将其应用于acronym
环境?如果可以,如何操作?
平均能量损失
\documentclass{scrbook}
\usepackage[demo]{graphicx}
\usepackage{booktabs}
\usepackage{imakeidx}
\makeindex
\usepackage{acronym}
\begin{document}
\chapter*{List of abbreviations}
\begin{acronym}
\acro{3PL}{Third-party logistics}
\acro{APS}{Advanced Planning and Scheduling}
\end{acronym}
\listoffigures
\chapter{First chapter}
\section{Section}
\begin{figure}[htbp]
\centering
\includegraphics{example.png}
\caption{example caption}
\label{fig:example1}
\end{figure}
\index{Figure!Example1}
\end{document}
答案1
您可以使用xpatch
和enumitem
,因为该包将首字母缩略词列表实现为description
环境:
\documentclass{scrbook}
\usepackage{xpatch,enumitem}
\usepackage{acronym}
\xpatchcmd{\acronym}{\begin{description}}
{\begin{description}[labelindent=1.5em]}{}{}
\begin{document}
\chapter*{List of abbreviations}
\begin{acronym}
\acro{3PL}{Third-party logistics}
\acro{APS}{Advanced Planning and Scheduling}
\end{acronym}
...
图形列表中的缩进量存储在宏中,\l@figure
该宏通常具有如下定义
\@dottedtocline {1}{1.5em}{2.3em}
如果您使用这样的定义类,那么避免猜测长度的解决方法如下
\documentclass{scrbook}
\usepackage{xpatch,enumitem}
\usepackage{acronym}
\newlength\lfigureindent
\xpatchcmd{\acronym}{\begin{description}}
{\begin{description}[labelindent=\lfigureindent]}{}{}
\makeatletter
\def\get@l@figure@indent{\expandafter\get@l@figure@indentaux\l@figure}
\def\get@l@figure@indentaux#1#2#3#4{\lfigureindent=#3\relax}
\AtBeginDocument{\get@l@figure@indent}
\makeatother
但是,如果某个包(或类)更改了 的定义\l@figure
,则此方法可能会失败。不幸的是,没有该长度的参数。
答案2
一个快速的解决方法是使用列表来包装首字母缩略词环境并使用所需的缩进;这可以很容易地在changepage
包裹:
\documentclass{scrbook}
\usepackage[demo]{graphicx}
\usepackage{booktabs}
\usepackage{imakeidx}
\usepackage{changepage}
\makeindex
\usepackage{acronym}
\begin{document}
\chapter*{List of abbreviations}
\begin{adjustwidth}{1.5em}{}
\begin{acronym}
\acro{3PL}{Third-party logistics}
\acro{APS}{Advanced Planning and Scheduling}
\end{acronym}
\end{adjustwidth}
\listoffigures
\chapter{First chapter}
\section{Section}
\begin{figure}[htbp]
\centering
\includegraphics{example.png}
\caption{example caption}
\label{fig:example1}
\end{figure}
\index{Figure!Example1}
\end{document}