![Pontos sensíveis ao contexto no final das fórmulas](https://rvso.com/image/348619/Pontos%20sens%C3%ADveis%20ao%20contexto%20no%20final%20das%20f%C3%B3rmulas.png)
amsmath
define \dots
o que faz uma antecipação e usa pontos diferentes (centralizados verticalmente ou não, basicamente) dependendo do próximo token. VerComo os pontos mágicos funcionam no amsmath?
Porém, por causa disso (pelo menos é o meu entendimento), não funciona quando os pontos estãono finalda fórmula:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[ x + \dots + x + \dots \]
\end{document}
Agora, não é grande coisa quando uso +
porque posso usar diretamente \dotsb
. No entanto, comandos personalizados também podem ser "reconhecedores de pontos":
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\newcommand*\myop{\DOTSB\rightarrow}
\[ x \myop \dots \myop x \myop \dots \]
\end{document}
Neste caso eu gostaria que o último \dots
se ajustasse automaticamente dependendo da definição de \myop
. Como isso pode ser feito?
Não espero necessariamente \dots
"lembrar" o que aconteceu antes (embora fosse bom), seria bom dar algum tipo de dica repetindo o operador após os pontos:
\[ x \myop \dots \myop x \myop \dots \hint\myop \]
EDITAR: ou melhor ainda:
\[ x \myop \dots \myop x \myop \dotsfor{\myop} \]
Talvez uma macro antecipada olhando para o primeiro token de seu argumento pudesse ser usada? Embora não fosse apenas uma antecipação, o resto do argumento deveria ser descartado.
Responder1
isso não parece ser explicado em nenhuma documentação disponível, mas há éuma explicação ema alegria do tex(o manual do ams-tex), onde as variações de pontos foram definidas pela primeira vez. da página 156:
Assim, quando você usa
\dots
o modo matemático, o tipo específico de pontos a serem digitados é determinado pelo estilo e pelo próximo símbolo na fórmula. Infelizmente, há uma situação em que este esquema falha, nomeadamente quando há não équalquer próximo símbolo. Se você digitar [exemplos exibidos\dots
no final de uma fórmula],\dots
não se pode esperar que saiba quais tipos de pontos você deseja - ele só pode olhar para frente e não tem como saber qual símbolo foi digitado antes dele - e\dots
simplesmente escolhe\dotso
em todos esses casos. Portanto, quando uma fórmula termina com pontos, a coisa certa a fazer é informar ao AMS-TeX que tipo de pontos ele deve usar.
na época em que o ams-tex foi criado, esse problema foi pensado com cuidado e os casos extremos eram imprevisíveis demais para serem considerados.
acho que a abordagem de duas macros é sua melhor opção: \myop
e \myopdots
(ou outro nome, possivelmente mais curto, para o segundo); fácil de encontrar em seu arquivo se você precisar alterar.
editar:conforme apontado por @Zarko em um comentário, \dotsm
(para "pontos de multiplicação") seria apropriado, assim como \dotsb
("pontos com operadores/relações binárias"). ambos resolvem \cdots
.