In the MWE below, are all general methods, of achieving arbitrarily shifting of symbols up or down or left or right in math mode, represented? If yes, that is the answer. If no, what good methods are missed? Specifically, are there any ways to get around the related problems listed below?
- A tabular stack does the work almost everywhere there are ordered rows and columns of symbols, but a scalebox won't compile inside it.
- A raisebox seems to work well in some cases, but it won't compile when placing math mode font size commands inside it, and in similar instances.
- Also one cannot place a raisebox inside a raisebox: the second one causes the first one to be ignored.
-
Horizontal spacing via
\;
,\
,,
\:
often leads to cluttering of some formulas. Is there any way to set the spacing between all symbols in math mode to be a definite size by default? This can be done by doing all work inside tabular stack and setting a parameter, but is there a parameter of this sort in the ordinary math environment?The formula in the MWE is for illustration:
\documentclass[12pt]{article} \usepackage{amsfonts,mathtools,amssymb} \usepackage{tabstackengine} \usepackage{tikz} \begin{document} \[% \setstackgap{L}{25pt}\setstacktabulargap{2pt}\TABbinary% \underset{\raisebox{-7pt}{$\textstyle 1$}}{\underbrace{\raisebox{4pt}{\;qbqb\;}}}% \raisebox{-9pt}{\hspace{7pt}${\tabularCenterstack{rcl}{\textstyle = \\ \textstyle +}}$\hspace{7pt}}% \underset{\raisebox{-7pt}{$\textstyle 1$}}{\underbrace{\raisebox{4pt}{\;qqbb\;}}}% \raisebox{-9pt}{\hspace{7pt}${\tabularCenterstack{rcl}{\textstyle = \\ \textstyle +}}$\hspace{7pt}}% \underset{\raisebox{-7pt}{$\textstyle 1$}}{\underbrace{\raisebox{4pt}{\;qb\;}}}% \mathrel{\raisebox{-21pt}{$\;=\;\;\;3$}}% \] \[% \underset{\raisebox{-5pt}{\scalebox{0.9}{$1$}}}{\underbrace{\raisebox{4pt}{\;qbqb\;}}}% \;\stackrel{\raisebox{2pt}{=}}{\raisebox{-19pt}{\scalebox{0.9}{\,+}}}\;% \underset{\raisebox{-5pt}{\scalebox{0.9}{$1$}}}{\underbrace{\raisebox{4pt}{\;qqbb\;}}}% \;\stackrel{\raisebox{2pt}{=}}{\raisebox{-19pt}{\scalebox{0.9}{\,+}}}\;% \underset{\raisebox{-5pt}{\scalebox{0.9}{$1$}}}{\underbrace{\raisebox{4pt}{\;qb\;}}}% \mathrel{\raisebox{-19pt}{\scalebox{0.9}{$\;=\;\;\;3$}}}% \] \scalebox{1}{\begin{tikzpicture}[scale=1]% \node at (2.75,-1.2) {$+$};% \node at (2.75,-1.9) {$d$};% \node at (0,0) {$% \underset{\raisebox{-5pt}{\scalebox{0.9}{$1$}}}{\underbrace{\raisebox{4pt}{\;qbqb\;}}}% \;\stackrel{\raisebox{2pt}{=}}{\raisebox{-19pt}{\scalebox{0.9}{\,+}}}\;% \underset{\raisebox{-5pt}{\scalebox{0.9}{$1$}}}{\underbrace{\raisebox{4pt}{\;qqbb\;}}}% \;\stackrel{\raisebox{2pt}{=}}{\raisebox{-19pt}{\scalebox{0.9}{\,+}}}\;% \underset{\raisebox{-5pt}{\scalebox{0.9}{$1$}}}{\underbrace{\raisebox{4pt}{\;qb\;}}}% \mathrel{\raisebox{-19pt}{\scalebox{0.9}{$\;+\;\;\;p$}}}% $};\end{tikzpicture}} \end{document}
Of course a formula can also be placed in a
standalone
document,output
, and then included as graphics in thetikz
environment above where other symbols are drawn over it, and so on, avoiding all issues with macros not compiling one inside the other, but that s a last resort. -
Better: is there a way to do this in one document, say code halfway through outputs to a
pdf
. This is then is read by the compiler (it would be in the same folder as the ultimate outputpdf
and the.tex
file) as it continues down the document code and treated as graphics by the remaining code in the compiler, which outputs a secondpdf
(the actual paper). EDIT: to clarify, has this been implemented anywhere / can it be done?
Best Answer
\scalebox
should work there.a
\raisebox
forms a horizontal (LR) box so to re-enter math mode in its argument you need$
or\(
etc\raisebox
may be nested arbitrarily (although I've never wanted to nest them, or use them in math mode in 3 decades of TeX use, one wonders what is the background to these questions?No the
aux
file contains TeX code that is\input
. It does not work at the level of typeset text.