我有这样的表达:|x-|x-|x-4|||
现在,每个|
符号都有相同的大小,但我想让外面的对更大。
可以做到吗自动地,还是我必须|
手动定义每个符号的大小?它不适用于$\left| \right|$
。在这种情况下,我有 3 个 abs 符号。但如果有 12 个呢?可以这样做吗自动地?
这很好用:
\[
\abs*{\VPhantomL x-\abs*{\VPhantomM x-\abs{x-4}}}
\]
但是内联版本却没有:
$\abs*{\VPhantomL x-\abs*{\VPhantomM x-\abs{x-4}}}$
答案1
TeX 还提供了一个原始参数来始终使分隔符增长。
\documentclass{article}
\delimitershortfall-1sp
\newcommand\abs[1]{\left|#1\right|}
\begin{document}
\[
\abs{ x-\abs{ x-\abs{x-4}}}
\]
\end{document}
给出所需的输出。
\delimitershortfall
旨在衡量在分隔符开始增长之前允许内容变得多大,但是通过将其设置为负值,分隔符总是会增长。
答案2
正如 egreg 所评论的,对于这种特定情况,您还可以使用可选参数来声明命令DeclarePairedDelimiter
并指定大小:
\abs[\Big]{x-\abs[\big]{x-\abs{x-4}}}
笔记:
\left|
,对\right|
仅当其间的内容具有不同的垂直高度时才会调整大小。在您的例子中,所有内容都具有相同的垂直尺寸,因此不会进行调整大小。
作为替代方案,这在其他情况下可能会有用(但确实需要更多工作),您可以插入一个\vphantom{<content with larger vertical size>}
。
这是一个解决方案,\vphatom{}
在对之间插入一个不同的值,\abs
以产生:
笔记:
- 如下面所声明的,如果您希望根据内容的垂直大小调整分隔符的大小,则
DeclarePairedDelimiter
需要使用。\abs*{}
\VPhamtomL
您可以调整(大)和(中)的内容\VPhantomM
来控制分隔符的大小。
代码:
\documentclass{article}
\usepackage{mathtools}
\DeclarePairedDelimiter\abs{\lvert}{\rvert}%
\begin{document}
You can use the optional paramater to \verb|\abs|:
\[
\abs[\Big]{x-\abs[\big]{x-\abs{x-4}}}
\]
With inline math $\abs[\Big]{x-\abs[\big]{x-\abs{x-4}}}$.
%------------------
\newcommand{\VPhantomL}{\vphantom{x^{2^2}}}%
\newcommand{\VPhantomM}{\vphantom{x^{2}}}%
%
or you can insert a \verb|\vphantom{}|
\[
\abs*{\VPhantomL x-\abs*{\VPhantomM x-\abs{x-4}}}
\]
With inline math $\abs*{\VPhantomL x-\abs*{\VPhantomM x-\abs{x-4}}}$.
\end{document}
答案3
低 TeX(双关语显然令人无法抗拒)解决方案:
\documentclass{article}
\begin{document}
$\Bigl| x - \bigl| x - | x-4 | \bigr| \Bigr|$
\end{document}
答案4
您可以使用nath
它来自动缩放分隔符,但请记住它与 amsmath 不兼容(尽管它确实提供了自己的多行显示数学环境版本)
\documentclass[border=3pt]{standalone}
\usepackage{nath}
\delimgrowth=1
\def\abs#1{\lvert#1\rvert}
\begin{document}
\begin{equation*}
\abs{x \abs{x - \abs{x-4}}}
\end{equation*}
\end{document}