Como declarar um delimitador como delimitador esquerdo ou direito?

Como declarar um delimitador como delimitador esquerdo ou direito?

O TeX conhece a diferença entre um delimitador "esquerdo" e um delimitador "direito" (por exemplo, (e )) e ajusta o espaçamento de acordo. No entanto, as versões esquerda e direita do delimitador |são iguais, então o TeX precisa adivinhar. Normalmente o TeX adivinha corretamente, mas às vezes isso não acontece. Agora, eu sei que posso usar \lefte \rightpara forçar o TeX a considerar um dado |como um delimitador esquerdo ou direito, porém isso tem o efeito adicional de alterar o tamanho (o que talvez eu não queira). Mesmo os menores comandos são "grandes" \bigle \bigraumentam o tamanho (embora apenas uma pequena quantidade). Existe uma maneira de criar |um delimitador esquerdo ou direito sem alterar seu tamanho?

Aqui está um exemplo específico onde sei como fazer, mas não é uma solução geral:

\documentclass{article}

\usepackage{amsmath,amssymb}

\begin{document}

$|\operatorname{A}|$

$|{\operatorname{A}}|$

$\left|\operatorname{A}\right|$

\end{document}

O espaçamento está incorreto na primeira linha e correto na segunda e terceira linhas. A segunda linha funciona bem, mas me parece um pouco hackeada. A terceira linha não é boa, pois aumentaria o tamanho dos delimitadores se o material intermediário fosse mais alto (e talvez eu não queira isso).

(Sim, eu sei que o motivo pelo qual o espaçamento está incorreto na primeira linha é porque o TeX está tratando a segunda |como o "argumento" de \operatorname{A}.)

Responder1

Se você disser, em uma fórmula matemática, \mathopen|então a barra vertical será interpretada como um átomo aberto (ou seja, um delimitador esquerdo), mas seu tamanho não será alterado. Da mesma forma, \mathclose|produz um átomo próximo (ou seja, um delimitador à direita) sem qualquer alteração no tamanho. Veja também a resposta ao Exercício 18.14 emO TeXbook. MWE:

% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly 
                                 % declare the paper format.

\usepackage[T1]{fontenc}         % Not always necessary, but recommended.
% End of standard header.  What follows pertains to the problem at hand.



\begin{document}

For example, \( \mathopen|-x\mathclose| \neq |-x| \).

\end{document}

Apesar disso, acho que a solução que @Bernard recomenda emum comentário, isto é, usar \DeclarePairedDelimiter, é a coisa certa a fazer.

Editar: Como lembra Barbara Beeton em seu comentário, se o problema estiver confinado a barras verticais simples e duplas (e se você preferir não carregar o mathtoolspacote, mas seguir amsmath), você também pode usar os quatro comandos predefinidos \lvert, \rvert, \lVert, e \rVert: l significa “esquerda”, rpara “direita”, minúscula  vpara barra simples, maiúscula Vpara barra dupla.

Para uma discussão mais profunda, ver, por exemplo,Usando \big| e \certo| versus bigr rvert e right rvert(Lembro-me desta pergunta porque uma das respostas foi minha!).

informação relacionada