在 TeX 输出中指示匹配的括号/圆括号

在 TeX 输出中指示匹配的括号/圆括号

我经常需要在 TeX 中排版如下的内容:

在此处输入图片描述

当阅读类似上述表达式时,很难分辨哪些括号彼此匹配。我希望能够定义“(”和“)”的变体,这些变体根据嵌套级别进行不同的排版,以便更容易匹配括号。

我可以设想通过引入增加/减少某个计数器的命令(以跟踪嵌套级别)来实现这一点,然后使用计数器的当前值来选择适当的排版机制。但我的印象是,以这种方式使用计数器不是很 TeXish。最好的方法是什么?

这不是问题的核心,但生成上述摘录的代码是:

\documentclass[a4paper]{article}
\usepackage{libertine}
\begin{document}
$\textrm{subset}(\textrm{applyfn}(\textrm{inverse}(\mathbf{f}),\textrm{union2}(\mathbf{A},\mathbf{B})),\textrm{applyfn}(\textrm{union2}(\textrm{applyfn}(\textrm{inverse}(\mathbf{f}),\mathbf{A}),\textrm{inverse}(\mathbf{f})),\mathbf{B}))$
\end{document}

(涉及用命令替换的解决方案)就可以了。

顺便说一句,编辑器有时使用一种称为“彩虹括号”的功能来达到同样的效果;参见

在此处输入图片描述

我其实不想用彩色,因为颜色太鲜艳了(我也不想被迫使用彩色打印机),但想要的效果基本上是一样的。非常欢迎提出有关更微妙的颜色替代品的建议。

编辑:灰度(使用 Ryan Reich 的方法)很漂亮但无效: 在此处输入图片描述

下划线的数字(有点分散注意力): 在此处输入图片描述

下划线(容易匹配但分散注意力): 在此处输入图片描述

答案1

以这种方式使用计数器实际上非常 TeXish。我(像你的评论者一样)不知道哪种方案适合你,但这里是如何实现你想要的东西。只需更改内容\countlparen\countrparen执行以满足你自己的需求。我承认,就目前而言看起来相当丑陋。这是一个非常简单的解决方案:它计算嵌套级别,但不区分给定级别的括号,因此您仍然需要自己进行一些解析。

\documentclass{standalone}
\newcounter{parens}
\def\countlparen{%
    \addtocounter{parens}{1}\lparen\ensuremath{_{\the\value{parens}}}%
}
\def\countrparen{%
    \rparen\ensuremath{_{\the\value{parens}}}\addtocounter{parens}{-1}%
}
\let\lparen(
\let\rparen)
\begingroup
    \catcode`(\active
    \catcode`)\active
    \gdef\countparens{%
        \let(\countlparen
        \let)\countrparen
    }
\endgroup   
\newenvironment{nested parentheses}
{%
    \catcode`(\active
    \catcode`)\active
    \countparens
    \setcounter{parens}{0}%
}
{}
\begin{document}
\begin{nested parentheses}
    $f(g(x)h(k(x)))$
\end{nested parentheses}

f(g(x))

\begin{nested parentheses}
    f(g(x)h(k(x)))
\end{nested parentheses}
\end{document}

在此处输入图片描述

相关内容