我对此还不太熟悉,想把一个包含我使用的方程式的简要描述的表格放入我的论文中。事实证明这是一个相当令人恼火的问题。我在网上找到了一个很好的简洁解决方案(http://www.latex-community.org/forum/viewtopic.php?f=5&t=428) 非常有用(感谢 gmedina)。解决方案使用 tocloft 包来定义新列表。
我现在遇到的问题是,随着方程编号变长,文本描述和方程编号会重叠,有人能帮我解决这个问题吗?此外,如果有人能清楚地解释命令,那将非常有帮助。下面是我使用 texmaker 和 Miktex 的 MWE。
%%Preamble
\documentclass[12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tocloft}
\usepackage[a4paper,width=150mm,top=25mm,bottom=25mm,bindingoffset=6mm]{geometry}
\usepackage[pdftex]{graphicx}
\usepackage[english]{babel}
%%gmedina solution
\newcommand{\listequationsname}{List of Equations}
\newlistof{myequations}{equ}{\listequationsname}
\newcommand{\myequations}[1]{%
\addcontentsline{equ}{myequations}{\protect\numberline{\theequation}#1}\par}
\begin{document}
\listofmyequations
\chapter{sums}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.1}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.2}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.3}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.4}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.5}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.6}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.7}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.8}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.9}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.10}
\myequations{sum}
\end{document}
答案1
tocloft
规定\cft<set>numwidth
了与条目关联的数字的宽度<set>
。 在您的例子中<set>
是myequations
,因此我们可以\cftmyequationsnumwidth
按以下方式进行调整:
\documentclass[12pt]{report}
\usepackage{tocloft}
\usepackage[a4paper,width=150mm,top=25mm,bottom=25mm,bindingoffset=6mm]{geometry}
%%gmedina solution
\newcommand{\listequationsname}{List of Equations}
\newlistof{myequations}{equ}{\listequationsname}
\newcommand{\myequations}[1]{%
\addcontentsline{equ}{myequations}{\protect\numberline{\theequation}#1}\par}
\setlength{\cftmyequationsnumwidth}{2.5em}% Width of equation number in List of Equations
\begin{document}
\listofmyequations
\chapter{sums}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.1}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.2}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.3}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.4}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.5}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.6}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.7}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.8}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.9}
\myequations{sum}
\begin{equation}
1 + 1 = 2
\end{equation}
\label{eq:2.10}
\myequations{sum}
\end{document}
我使用了2.5em
,其中默认值通常是1.5em
。
答案2
我扩展了前面的答案来定义一个您可以像这样使用的命令:
\noteworthy{a^2 + b^2 = c^2}{Pythagorean theorem}
而且它会自动标记、引用、框出和列出我认为值得注意的方程式。我对结果非常满意。
请注意,红色方块仅突出显示超链接,它们在 pdf 上不可见。
然后对方程式进行编号、框选、标记文字(与方程式列表相匹配),并贴上标签以便我们引用它。
最小可行示例:
\documentclass{article}
\usepackage{tocloft} % for list of equations
\usepackage{ragged2e} % to undo \centering
\usepackage{hyperref} % to make references hyperlinks
\usepackage{glossaries}
% define list of equations
\newcommand{\listequationsname}{\Large{List of Equations}}
\newlistof{myequations}{equ}{\listequationsname}
\newcommand{\myequations}[1]{
\addcontentsline{equ}{myequations}{\protect\numberline{\theequation}#1}
}
\setlength{\cftmyequationsnumwidth}{2.3em}
\setlength{\cftmyequationsindent}{1.5em}
% command to box, label, reference, and
% include noteworthy equation in list of equations
\newcommand{\noteworthy}[2]{
\begin{align} \label{#2} \ensuremath{\boxed{#1}} \end{align}
\myequations{#2} \centering \small \textit{#2} \normalsize \justify }
\begin{document}
\listofmyequations \pagebreak
\noteworthy{P(\bigcup_{n=1}^n A_n) \leq \sum_{n=1}^n P(A_n)}{Boole's inequality}
Where the events $A_n$ are disjoint, then the inequality
in equation \ref{Boole's inequality} becomes an equality.
\end{document}
答案3
如果你不介意使用电子工具箱,其提供:
\AfterEndEnvironment{〈environment〉}{〈code〉}
在持有环境的组关闭之后,将任意〈code〉附加到由 \endcommand 在很晚的时间点执行的钩子上。
然后你可以把
\AfterEndEnvironment{equation}{\myequations{}}
在您的序言中,每次您使用方程式环境(并且仅使用方程式环境,因此对于对齐等,您需要复制上述内容并使用对齐而不是方程式)时,它都会将所述环境的使用添加到由其他答案生成的列表中。
这也意味着带星号的环境变体将不会出现在列表中。