
Можно ли заставить LaTeX поместить ограничивающую рамку вокруг каждого элемента в уравнении, как вэтотфайл? Я в курсеэтотвопрос, но ни одно из представленных там решений, не требующих LuaTeX, похоже, не работает в уравнениях, содержащих, например, такие команды, как \sum
.
Я пытался решить эту проблему «вручную», поместив рамку вокруг каждого символа в уравнении, но ни один из этих способов не работает для таких команд, как \sum
, хотя он работает для более простых символов, таких как цифры, например
\fboxrule=.1pt \fboxsep=-\fboxrule
$\framebox[\width]{1}$
решение1
Этот подход никоим образом не автоматизирован, но может быть выполнен вручную. Он использует \boxxed
макрос для помещения вещей в коробки. Однако ручное вмешательство все еще необходимо следующим образом: \mathop
и \mathrel
должны быть введены вручную для упакованного оператора или отношения, поскольку коробка удаляет любую память об этом.
Синтаксис \ThisStyle{...\SavedStyle...}
пакета scalerel
используется для сохранения \scriptstyle
аргументов в их надлежащем стиле после помещения их внутрь пакета.
Хорошая новость в том, что кернинг сохранен.
\documentclass{article}
\usepackage{amsmath}
\fboxrule=.1pt
\fboxsep=-.1pt
\usepackage{scalerel}
\newcommand\boxxed[1]{{\ThisStyle{\fbox{$\SavedStyle#1$}}}}
\begin{document}
\( \mathop{\boxxed{\sum}}_\boxxed{i}^\boxxed{n} \boxxed{A}^\boxxed{2}\)
\( \sum_i^n A^2\)
\( \displaystyle\mathop{\boxxed{\sum}}_\boxxed{i}^\boxxed{n} \boxxed{A}^\boxxed{2}\)
\( \displaystyle\sum_i^n A^2\)
\end{document}