在此回答@esdd 帮助我使用 KOMA 自己的功能声明了一个新的方程列表。根据要求,每个方程式在方程式本身后面用 eq (1.1) 编号。将此方程式添加到上述方程式列表的唯一方法是通过 -command \caption
,但这会在方程式下添加一个标题。如果我使用\caption[this goes in the list of equations]{}
它,方程式下仍会显示“Gl.:”,因此标题仍然存在于方程式下,但没有文字。
是否有一个选项可以删除方程式下的完整标题,但仍将内容添加到方程式列表中?
我尝试使用它\addcontentsline{loe}{eq}{Gl.: Testformel 2 (Verzeichnis)}
,但无法添加方程编号,因为使用\addcontentsline{loe}{eq}{Gl.\ref{eq:eq2}: Testformel 2 (Verzeichnis)}
没有在方程列表中的方程编号周围给出适当的间距,并且它只显示“2”而不是“2.1”
梅威瑟:
\documentclass[
listof=totoc,
listof=entryprefix,
]{scrreprt}
\usepackage{lipsum}% only for dummy text
\usepackage[british,ngerman]{babel}
\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}{\listofloeentryname}{Gl.}
\begin{document}
\tableofcontents
\listofeqs
\chapter{Test}
\begin{eq} \label{eq:eq1}
\begin{subequations}
\begin{align}
a &= b \\
b &= c.
\end{align}
\end{subequations}
\caption[Testformel 1 (Verzeichnis)]{}
\end{eq}
\chapter{Foo}
\begin{eq} \label{eq:eq2}
\begin{subequations}
\begin{align}
a &= b \\
b &= c.
\end{align}
\end{subequations}
\addcontentsline{loe}{eq}{Gl.\ref{eq:eq2}: Testformel 2 (Verzeichnis)}
\end{eq}
\end{document}
答案1
两点评论:
- 的计数器
eq
和编号方程的计数器是单独的计数器。因此它们的值可能不同。 - 标签
eq:eq1
和eq:eq2
都指章节计数器。如果它们应该指计数器,eq
请将它们放在相关\caption
命令之后。如果它们应该指equation
计数器,请将它们放在之后\begin{subequations}
。
如果您想要eq
在文档中将一个不带标题的方程式添加到列表中,您可以使用:
\refstepcounter{eq}
\addxcontentsline{loe}{eq}[\theeq]{listentry}
例子:
\documentclass[
listof=totoc,
listof=entryprefix,
]{scrreprt}
\usepackage{lipsum}% only for dummy text
\usepackage[british,ngerman]{babel}
\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}{\listofloeentryname}{Gl.}
\begin{document}
\tableofcontents
\listofeqs
\chapter{Test}
\begin{eq}
\begin{subequations}
\begin{align}
a &= b \\
b &= c.
\end{align}
\end{subequations}
\refstepcounter{eq}
\addxcontentsline{loe}{eq}[\theequation]{Testformel 1 (Verzeichnis)}
\end{eq}
\chapter{Foo}
\begin{eq}
\begin{subequations}
\begin{align}
a &= b \\
b &= c.
\end{align}
\end{subequations}
\refstepcounter{eq}
\addxcontentsline{loe}{eq}[\theequation]{Testformel 2 (Verzeichnis)}
\end{eq}
\end{document}
但是如果你想要equation
在方程式列表中使用计数器,你应该使用:
\addxcontentsline{loe}{eq}[\theequation]{listentry}
但那时就不需要环境了eq
。
例子:
\documentclass[
listof=totoc,
listof=entryprefix,
]{scrreprt}
\usepackage{lipsum}% only for dummy text
\usepackage[british,ngerman]{babel}
\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}{\listofloeentryname}{Gl.}
\begin{document}
\tableofcontents
\listofeqs
\chapter{Test}
\begin{subequations}
\addxcontentsline{loe}{eq}[\theequation]{Testformel 1 (Verzeichnis)}
\begin{align}
a &= b \\
b &= c.
\end{align}
\end{subequations}
\chapter{Foo}
\begin{subequations}
\addxcontentsline{loe}{eq}[\theequation]{Testformel 2 (Verzeichnis)}
\begin{align}
a &= b \\
b &= c.
\end{align}
\end{subequations}
\end{document}