我一直试图用方括号中的条件子堆栈将楔子括起来。
我的原始代码是:
\left[\bigwedge_{\substack{j=1\\\text{where }i(j)=1}}^n e_j\right]
其结果为:
这包含了很多冗余空间,看起来相当不舒服。我试图创建类似这样的内容:
为了制作这个,我写道:
\DeclareMathOperator{\fakewedge}{\textbf{\Large/\hspace{-0.085cm}\textbackslash}}
\left[\hspace{0.05cm}\substack{\\n\\\\\vspace{-0.325cm}\\\fakewedge\\\mbox{}\\j=1\\
\text{where }i(j)=1\vspace{0.08cm}}\hspace{-0.425cm}\let\scriptstyle\textstyle
\substack{e_j\\\vspace{0.175cm}}\hspace{0.15cm}\right]
我确信这涵盖了几乎所有的不良做法。
有没有什么办法可以实现接近我的意图而不用写得这么乱?
我已经阅读了以下答案这个问题例如,但我想将我的条件也包含在括号中。我尝试定义我自己的版本,例如\bigl
和\bigr
我想要的大小,但似乎不起作用。
\left[\vbox spread <HEIGHT>cm{}\right.
我最终设法使用和制作出任意大小的括号\left]\vbox spread <HEIGHT>cm{}\right.
,但楔子仍然需要垂直移动(这就是我求助于的原因\substack
),而这本身就是一个不好的做法。
任何建议将不胜感激。
更新:感谢 Bernard 的评论。我bmatrix
现在已经使用环境来解决包围问题,并尝试将smashoperator
其放置$e_j$
在楔形旁边。
\begin{bmatrix}
\smashoperator{{\displaystyle\bigwedge}_{\substack{j=1\\\text{where }i(j)=1}}}^n e_j
\end{bmatrix}
但这导致了以下结果:
有没有办法让矩阵忽略smashoperator
?如果这是一个新问题,请告诉我。
答案1
不要使用\left
和\right
来调整方括号的大小;而是使用\Bigl
/ \Bigr
(正如@egreg 所建议的)或\biggl
/ \biggr
。
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\[
\Bigl[
\bigwedge_{\substack{j=1\\ \mathclap{\text{where $i(j)=1$}}}} ^n \! e_j
\Bigr]
\qquad\qquad
\biggl[\,
\bigwedge_{\substack{j=1\\ \mathclap{\text{where $i(j)=1$}}}} ^n \! e_j
\biggr]
\]
\end{document}
答案2
答案3
使用\smashoperator[r]
并添加额外的空间以确保正确放置\right]
:
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\[
\left[
\bigwedge_{\substack{j = 1 \\ \text{where } i(j) = 1}}^n e_j
\right]
\]
\[
\left[
\smashoperator[r]{\bigwedge_{\substack{j = 1 \\ \text{where } i(j) = 1}}^n} e_j \hspace{0.7em}
\right]
\]
\end{document}