大多数时候,我使用带有下标的方程式,有时我想对下标做一个简短的解释,例如,极限是什么,或者哪些是类别,它们是否足够小。
在这个最小示例中,我不喜欢下标说明的位置(我使用了\qquad
),但它仍然非常接近主体部分。我希望它位于行末。
\documentclass[12pt,a4paper]{article}
\usepackage[utf8x]{inputenc}
\usepackage{ucs}
\usepackage[leqno]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{makeidx}
\usepackage{graphicx}
\author{PSK}
\begin{document}
Some stuff ...
\begin{equation}
V_i = a_i + B_i \qquad (i = 1, \dots, N)
\end{equation}
\end{document}
答案1
我介绍\notateeqn{equation}{notation}
一下如何做到这一点。
\documentclass[12pt,a4paper]{article}
\usepackage[utf8x]{inputenc}
\usepackage{ucs}
\usepackage[leqno]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{stackengine}
\stackMath
\newcommand\notateeqn[2]{%
\stackengine{0pt}{\displaystyle#1}{\makebox[\textwidth]{\hfill#2}}{O}{c}{F}{T}{L}%
}
\begin{document}
Some stuff ...
\begin{equation}
\notateeqn{V_i = a_i + B_i}{(i = 1, \dots, N)}
\end{equation}
\noindent\hrulefill
\end{document}
附录
为了满足 egreg 的强烈建议以及 OP 对固定方程缩进的附加要求,我展示了如何使用我的技术通过定义新的长度来固定方程的缩进\eqnindent
,同时仍为右对齐符号留出空间。在这个 MWE 中,我将符号空间用于除说明符之外的其他内容(i =...)
(以免冒犯 egreg 的敏感性)。我设置了一个人工“标尺”,以便可以确认 .3、.2 和 .5 的缩进级别\textwidth
得到正确满足。
\documentclass[12pt,a4paper]{article}
\usepackage[utf8x]{inputenc}
\usepackage{ucs}
\usepackage[leqno]{amsmath}
\usepackage{amsfonts, amssymb, makeidx, graphicx, stackengine}
\newlength\eqnindent
\stackMath
\newcommand\notateeqn[2]{%
\setbox0=\hbox{$\displaystyle#1$}%
\hspace{\dimexpr2\eqnindent-\textwidth+\wd0\relax}%
\stackengine{0pt}{\displaystyle#1}{\makebox[\textwidth-\eqnindent]{\hfill#2}}{O}{l}{F}{T}{L}%
}
\begin{document}
\setlength\eqnindent{.3\textwidth}
Setting indent to 0.3 textwidth
\begin{equation}
\notateeqn{V_i = a_i + B_i,\qquad(i = 1, \dots, N)}{(Notation)}
\end{equation}
Setting indent to 0.2 textwidth
\setlength\eqnindent{.2\textwidth}
\begin{equation}
\notateeqn{V_i = a_i + B_i}{(The Equation Name)}
\end{equation}
Setting indent to 0.5 textwidth
\setlength\eqnindent{.5\textwidth}
\begin{equation}
\notateeqn{V_i = a_i + B_i}{(My Notation)}
\end{equation}
\noindent$|$\hrulefill$\cdot$\hrulefill$|$\hrulefill$\cdot$\hrulefill$|$\hrulefill$\cdot$%
\noindent\hrulefill$|$\hrulefill$\cdot$\hrulefill$|$\hrulefill$\cdot$\hrulefill$|$
\end{document}
答案2
您可以使用\flalign
环境和mathtools
(加载amsmath
)来做到这一点:它对 amsmath 进行了许多增强,纠正了一些错误,并且在您的情况下特别令人感兴趣的是,定义了一个数学版本\llap
。
\documentclass[12pt,a5paper]{article}
\usepackage[utf8x]{inputenc}
\usepackage{ucs}
\usepackage[leqno]{mathtools}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage[showframe, nomarginpar]{geometry}
\author{PSK}
\begin{document}
Some stuff ...
\begin{flalign}
& & V_i & = a_i + B_i & & \mathllap{(i = 1, \dots, N)}
\end{flalign}
\end{document}
当然,对于较长的等式,解释可能会与等式末尾重叠。在这种情况下,您可以将解释放在下一行(用 编号\notag
),但仍在行末。