
Não tenho ideia de como fazer uma configuração global para enquadrar todas as matemáticas exibidas e embutidas. A caixa é decorada com molduras coloridas, fundo colorido e primeiro plano colorido (texto ou matemática).
Ao fazer a configuração global, posso facilmente ligá-lo ou desligá-lo e o restante permanece intacto.
Eu sei que existem 2 macros \everydisplay
e \everymath
, mas não posso fazer uso delas além de alterar a cor do traço com \color{red}
, por exemplo.
Responder1
Para jogar, o exemplo a seguir adiciona uma \fbox
matemática embutida:
\documentclass{article}
\newsavebox{\mymathbox}
\everymath{%
\mathsurround=0pt$%
\begin{lrbox}{\mymathbox}\everymath{}$%
\aftergroup\mathboxend
}
\newcommand*{\mathboxend}{%
\end{lrbox}%
\fbox{\usebox{\mymathbox}}%
}
\begin{document}
$abc$ Hello\textsuperscript{World}
\begin{tabular}{l}Hello\\World\end{tabular}
\begin{minipage}{4em}Hello\\World\end{minipage}
\begin{minipage}[t]{4em}Hello\\World\end{minipage}
\end{document}
Atualizar:Explicação e \mathsurround=0pt
adicionado.
O objetivo é ter algo como
\fbox{$...$}
Se \everymath
for chamado, já estamos no modo matemático. Portanto o primeiro $
encerra o modo matemático. O espaço dado por \mathsurround
seria definido em torno da fórmula vazia, portanto é definido como zero.
Em seguida, uma caixa horizontal é aberta ( lrbox
) e mudamos novamente para o modo matemático, mas com vazio \everymath
. Via \aftergroup
chegamos ao ponto logo após o fechamento $
e podemos fechar a caixa e definir a caixa com \fbox
.
Variaçãoadicionado.
Também poderíamos deixar o grupo de matemática no lugar e colocar o lrbox
interior:
\everymath{%
\begin{lrbox}{\mymathbox}%
\everymath{}$\mathsurround=0pt\relax
\aftergroup\mathboxend
}
\newcommand*{\mathboxend}{%
\end{lrbox}%
\fbox{\usebox{\mymathbox}}%
$%
}
A diferença desses métodos é o tratamento de \mathsurround
, caso não seja zero. No primeiro caso o espaço é colocado dentro da caixa, no segundo caso o espaço fica fora.
No entanto, há uma séria desvantagem neste método geral via \everymath
. A matemática inline é usada em muitos lugares diferentes, portanto, o exemplo também mostra caixas em locais onde a matemática inline não é esperada.