我想将文本放在整个多变量表达式下,就像使用\underbrace
,但不使用括号一样。我希望它具体描述表达式中的第一个变量,但文本要跨越整个表达式。我搜索了网络,发现都是关于将文本放在单个符号或命令下。例如,\underset
,\smashoperator
和\limits
似乎无法与多个命令或变量一起使用,即使我在命令行周围使用括号。
我用这个得到了我想要的东西:
\begin{align*}
N_{e}(r)\, =\, \sum_{u, v, w}\; &n_{e}\,(\overrightharp{\text{r}}\, -\, u\overrightharp{\text{a}}\, -\, v\overrightharp{\text{b}}\, -\, w\overrightharp{\text{c}}) \\[-.4cm]
& \lcurvearrownw \text{\footnotesize{electron density per}}\\[-.2cm]
&\; \; \; \; \; \; \; \text{\footnotesize{primitive unit cell.}}
\end{align*}
但我想知道是否有一种不那么坑爹的方法。我希望我的客户在我完成后能够方便地编辑他们的文档。换句话说,我希望他们知道这里发生了什么。
答案1
您可以使用\parbox
来编写文本;使用\mathrclap
(来自mathtools
包),\raisebox
您可以将放置\parbox
在所需的位置;这是一个使用定义的命令的简单示例,该命令\Desc
带有两个强制参数(框宽度和文本)和一个控制垂直移动的可选参数:
\documentclass{article}
\usepackage{mathtools,MnSymbol,harpoon}
\newcommand\Harp[1]{%
\overrightharp{\textrm{#1}}}
\newcommand\Desc[3][-2.5ex]{%
\mathrlap{\raisebox{#1}{$\lcurvearrownw$ \parbox[t]{#2}{\footnotesize #3}}}}
\begin{document}
\[
N_{e}(r) = \sum_{\mathclap{u, v, w}}\, n\Desc{3cm}{electron density per \\ primitive unit cell.}_{e}(\Harp{r} - u\Harp{a} - v\Harp{b} - w\Harp{c})
\]
\end{document}
由于您正在使用该命令,\lcurvearrownw
我假定您正在加载该MnSymbol
包;该包更改了许多符号。