例如,在使用 scrreprt 类时,我可以使用选项 listof=entryprefix 将“Abbildung”置于我的图表列表中的编号前面。使用命令
\renewcommand*\listoflofentryname{Abb.}
\renewcommand*\listoflotentryname{Tab.}
我可以分别将图形列表更改为“Abb.”和将表格列表更改为“Tab.”
现在我声明一个新的浮动环境
\usepackage{newfloat}
\DeclareFloatingEnvironment[ % neue Float Umgebung für Gleichungen
fileext=loe,
listname={Formelverzeichnis},
name=Formel,
placement=h,
within=chapter,
chapterlistsgaps=off,
]{eq}
并添加方程列表
\listofeqs
是否有类似的方法让“Formel”位于方程式列表中方程式编号的前面?或者是否有更简单的方法,而不必声明新的浮点环境?
编辑:在 newfloat 文档中有一个使用 tocloft 包的示例(第 5 页),但这个包似乎与 KOMA 类存在一些问题,如果没有它,声明就会产生错误并停止编译。
梅威瑟:
\documentclass[
listof=totoc, % "List of" in toc
listof=entryprefix, % "List of" with entryprefix
]{scrreprt}
\usepackage[british, ngerman]{babel}
\usepackage{booktabs}
\usepackage{amsmath}
\usepackage{newfloat}
\DeclareFloatingEnvironment[ % new Float environment for equations
fileext=loe,
listname={Formelverzeichnis},
name=Formel,
placement=h,
within=chapter,
chapterlistsgaps=off,
]{eq}
\renewcommand*\listoflotentryname{Tab.} % change entryprefix for tables
\begin{document}
\tableofcontents
\listoftables
\listofeqs % List of Equations
\chapter{Test}
\begin{table}[h]
\centering
\caption[Testtabelle (Verzeichnis)]{Testtabelle}
\begin{tabular}{ll}
a & b \\
c & d \\
e & f
\end{tabular}
\end{table}
\begin{eq} % Testformel
\begin{subequations}
\begin{align}
a &= b \\
b &= c.
\end{align}
\end{subequations}
\caption[Testformel (Verzeichnis)]{Testformel}
\end{eq}
\end{document}
答案1
警告/免责声明:新环境的计数器eq
和方程的计数器是独立的计数器。因此它们的值可能不同:eq
环境中可能存在多个编号方程,环境外可能存在编号方程eq
,或者环境可能eq
没有编号方程。
要定义依赖于前缀的语言,请使用
\newcaptionname{ngerman}{\listoflofentryname}{Abb.}
\newcaptionname{ngerman}{\listoflotentryname}{Tab.}
和
\newcaptionname{ngerman}{\listofloeentryname}{Gl.}
另外,无需加载包newfloat
。您可以使用\DeclareNewTOC
KOMA-Script提供的包tocbasic
。请注意,是tocbasic
由KOMA-Script类加载的。
使用选项可以声明float
一个浮动环境<type>
(eq
在下面的例子中),使用选项可以声明nonfloat
一个非浮动环境(在下面的例子中)<type>-
eq-
\documentclass[
listof=totoc,
listof=entryprefix,
listof=nochaptergap,% <- added: no chapter gaps in LoF, LoT, ...
captions=tableabove% <- added
]{scrreprt}
\usepackage{lipsum}% only for dummy text
\usepackage[british,ngerman]{babel}
\usepackage{booktabs}
\usepackage{amsmath}
\DeclareNewTOC[
category=float,
counterwithin=chapter,
float,% declares floating environment eq
floatpos=ht,
nonfloat,% declares non-floating environment eq-
listname={Formelverzeichnis},
name=Formel,
tocentrystyle=tocline,
tocentrylevel:=table,
tocentryindent:=table,
tocentrynumwidth:=table,
type=eq,
]{loe}
\newcaptionname{ngerman}{\listoflotentryname}{Tab.}% <- changed
\newcaptionname{ngerman}{\listofloeentryname}{Gl.}% <- added
\begin{document}
\tableofcontents
\listoftables
\listofeqs
\chapter{Test}
\begin{table}[h]
\centering
\caption[Text 1 für das Tabellenverzechnis]{Text 1 über Tabelle}
\begin{tabular}{ll}
a & b \\
c & d \\
e & f
\end{tabular}
\end{table}
\begin{eq} \label{eq:eq1}
\begin{subequations}
\begin{align}
a &= b \\
b &= c.
\end{align}
\end{subequations}
\caption[Testformel 1 (Verzeichnis)]{Testformel 1}
\end{eq}
\chapter{Foo}
\begin{table}[h]
\centering
\caption[Text 2 für das Tabellenverzechnis]{Text 2 über Tabelle}
\begin{tabular}{ll}
a & b \\
c & d \\
e & f
\end{tabular}
\end{table}
\lipsum[1-3]
\begin{eq-} \label{eq:eq2}
\begin{subequations}
\begin{align}
a &= b \\
b &= c.
\end{align}
\end{subequations}
\caption[Testformel 2 (Verzeichnis)]{Testformel 2}
\end{eq-}
\lipsum
\end{document}
如果你确实想使用包newfloat
:
例子:
\documentclass[
listof=totoc,
listof=entryprefix,
listof=nochaptergap% <- added: no chapter gaps in LoF, LoT, ...
]{scrreprt}
\usepackage{lipsum}% only for dummy text
\usepackage[british,ngerman]{babel}
\usepackage{booktabs}
\usepackage{amsmath}
\usepackage{newfloat}
\DeclareFloatingEnvironment[ % neue Float Umgebung für Gleichungen
fileext=loe,
listname={Formelverzeichnis},
name=Formel,
placement=h,
within=chapter,
%chapterlistsgaps=off,
]{eq}
\newcaptionname{ngerman}{\listoflotentryname}{Tab.}% <- changed
\newcaptionname{ngerman}{\listofloeentryname}{Gl.}% <- added
\begin{document}
\tableofcontents
\listoftables
\listofeqs
\chapter{Test}
\begin{table}[h]
\centering
\caption[Text 1 für das Tabellenverzechnis]{Text 1 über Tabelle}
\begin{tabular}{ll}
a & b \\
c & d \\
e & f
\end{tabular}
\end{table}
\begin{eq} \label{eq:eq1}
\begin{subequations}
\begin{align}
a &= b \\
b &= c.
\end{align}
\end{subequations}
\caption[Testformel 1 (Verzeichnis)]{Testformel 1}
\end{eq}
\chapter{Foo}
\begin{table}[h]
\centering
\caption[Text 2 für das Tabellenverzechnis]{Text 2 über Tabelle}
\begin{tabular}{ll}
a & b \\
c & d \\
e & f
\end{tabular}
\end{table}
\lipsum[1-3]
\begin{eq} \label{eq:eq2}
\begin{subequations}
\begin{align}
a &= b \\
b &= c.
\end{align}
\end{subequations}
\caption[Testformel 2 (Verzeichnis)]{Testformel 2}
\end{eq}
\lipsum
\end{document}