9

I understand that this request may sound stupid, but my eyes are just bleeding when I see how $\frac{x^-}{2}$ is rendered:

enter image description here

I'm wondering if there's a moderately simple way to make it look like this?

enter image description here

(Please do not suggest $\frac{x^-}{2^{\phantom{-}}}$ or $\frac{{}^{\phantom{-}}x^-}{2}$.)

UPDATE

Well, OK, I've realized that \frac{x}{2}^{-} may work as a temporary solution, but now my eyes are bleeding when looking at the source code.

5
  • 1
    How about \frac{x^{\mathmakebox[0pt][l]{-}}}{2} with mathtools? – user121799 Nov 30 '18 at 4:28
  • Cool, thanks. What exactly is happening here? – mavzolej Nov 30 '18 at 4:30
  • (Even though, it would be preferable to ensure that minus does not stay above the following symbols.) – mavzolej Nov 30 '18 at 4:30
  • 3
    Maybe the result of \frac{x^{-}}{2} is not that pretty, but the proposed layout is much worse to my eyes. – egreg Nov 30 '18 at 11:31
  • Not only your eyes are bleeding when you look at the code $\frac{x}{2}^{-}$, it gives undesired output in non-display mathmode, especially if the denominator is not a single character, as in $\frac{x}{222}^{-}$. Putting two ~ in front of x does a reasonable job, no matter what the denominator is, as in $\displaystyle \frac{~~x^{-}}{2}$ – Máté Wierdl Dec 5 '18 at 4:26
3

My eyes bleed with your proposal. Anyway

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newcommand{\fracto}[3]{%
  {\mathpalette\frac@to{{#1}{#2}{#3}}}%
}
\newcommand{\frac@to}[2]{\frac@@to#1#2}
\newcommand{\frac@@to}[4]{%
  % #1 = mathstyle
  % #2 = full numerator
  % #3 = denominator
  % #4 = reduced numerator
  \begingroup
  \sbox\z@{$\m@th#1\frac{#2}{#3}$}%
  \sbox\tw@{$\m@th#1\frac{#4}{#3}$}%
  \settowidth\dimen@{$\m@th\frac@to@demote#1#4$}%
  \frac{{}\makebox[\dimen@][l]{$\frac@to@demote#1#2$}}{#3}%
  \kern-\wd\tw@
  \kern\wd\z@
  \endgroup
}
\newcommand\frac@to@demote[1]{%
  \ifx#1\displaystyle\textstyle\else
  \ifx#1\textstyle\scriptstyle\else
  \scriptscriptstyle\fi\fi
}
\makeatother

\begin{document}

\begin{gather*}
X + \frac{x^{-}}{2} + \frac{x^{-}}{100} + X \\
X + \fracto{x^{-}}{2}{x} + \fracto{x^{-}}{100}{x} + X \\
\end{gather*}

\end{document}

enter image description here

First I typeset the standard fraction, then the same but with the “reduced numerator” in two boxes, so I can use their widths. I also measure the reduced numerator.

Then I typeset the fraction with the numerator having the same width as the reduced one (aligned left). This fraction is as wide as box 2, so I back up by this amount and reinstate the width of the standard fraction, which is the width of box 0.

2
  • Oh God, I will not even ask how this works. – mavzolej Nov 30 '18 at 18:03
  • @mavzolej Added short explanation. – egreg Nov 30 '18 at 18:16
11

I'll be happy to remove this but you could do

\documentclass{article}
\usepackage{mathtools}
\begin{document}
\[\frac{x^{\mathrlap{-}}}{2}\hphantom{\scriptstyle -}x\]
\end{document}

enter image description here

1
  • Not bad! This is smth that can be easily generalised for more complicated cases. – mavzolej Nov 30 '18 at 4:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.