我对 LaTeX 的奇妙世界还很陌生,我需要您的帮助。
我想为图表列表的每个条目添加前缀“Abb.”,为表格列表的每个条目添加前缀“Tab.”。此外,我想在列表中的每个数字后添加“:”。我尝试使用 KOMA 脚本执行以下操作,但不起作用。它只显示数字和图表的标题。
请查看我的样本:
\documentclass[11pt,a4,bibliography=totoc,liststotoc]{scrartcl}
\usepackage[german]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{tocstyle}
\usepackage{tocloft}
\newtocstyle[KOMAlike][leaders]{KOMAlikewithdot}{}
\usetocstyle{KOMAlikewithdot}
\settocfeature[lof]{entryhook}{\noindent Abb.\nobreakspace}%
\settocfeature[lot]{entryhook}{\noindent Tab.\nobreakspace}%
\renewcommand{\cftfigpresnum}{Abb. }
\renewcommand{\cfttabpresnum}{Tab. }
\renewcommand{\cftfigaftersnum}{:}
\renewcommand{\cfttabaftersnum}{:}
\begin{document}
\renewcommand{\figurename}{Abb.}
\renewcommand{\tablename}{Tab.}
\listoffigures
\pagebreak
\begin{figure}
\centering
\includegraphics[width=0.7\linewidth]{Bilder/GMH_Fertigungsprozess_mit_Logo}
\caption{Fertigungsprozess der GMH}
\label{fig:GMH_Fertigungsprozess_mit_Logo}
\end{figure}
\end{document}
提前致以亲切的问候和感谢
答案1
不要使用两个不同的包来更改目录或列表。对于 KOMA-Script 类,我更喜欢使用包,tocstyle
因为它是 KOMA-Script 包的一部分。但在我看来,不需要额外的包。
您可以使用选项
listof=totoc,
获取列表的目录条目,
listof=entryprefix,
获取列表条目的前缀,
toc=sectionentrywithdots,
获取目录中章节条目和其页码之间的点。
重命名\figurename
并\tablename
使用
\renewcaptionname{german}{\figurename}{Abb.}
\renewcaptionname{german}{\tablename}{Tab.}
以及:
列表中图表或表格后面的编号
\BeforeStartingTOC[lof]{\def\autodot{:}}
\BeforeStartingTOC[lot]{\def\autodot{:}}
代码:
\documentclass[
bibliography=totoc,
listof=totoc,
listof=entryprefix,
toc=sectionentrywithdots
]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage[german]{babel}
\renewcaptionname{german}{\figurename}{Abb.}
\renewcaptionname{german}{\tablename}{Tab.}
\BeforeStartingTOC[lof]{\def\autodot{:}}
\BeforeStartingTOC[lot]{\def\autodot{:}}
\begin{document}
\tableofcontents
\listoffigures
\clearpage
\section{Test}
\begin{figure}
\centering
\includegraphics[width=0.7\linewidth]{example-image}
\caption{Fertigungsprozess der GMH}
\label{fig:GMH_Fertigungsprozess_mit_Logo}
\end{figure}
\end{document}
顺便问一下,您真的想用german
代替吗ngerman
?