TransWikia.com

Is it bad practice to replace a^{-1} with a user-defined command?

TeX - LaTeX Asked by V.Ch. on March 15, 2021

I’ve recently started doing my homework in LaTeX, so I’m still very new to this world. One of the things I don’t very much like doing is typing out ^{-1} everytime I want the inverse of something, so I’ve taken to replacing this with a pre-defined command newcommand{inv}{^{-1}}. So far nothing seems to have broken and everything’s displaying fine, but I was curious if this is somehow bad practice in LaTeX. Perhaps this results in some miniscule changes I am simply not aware of?

One Answer

You run into a problem the moment you want to take e.g. the inverse of a', as a'inv will yield a double superscript error. This issue annoyed me for many years, and eventually, I created the package SemanTeX to solve this and many other problems. It allows you to type all your math semantically, using keyval syntax, and issues like double superscripts never happen. Here is a code example:

documentclass{article}

usepackage{semantex}

NewVariableClassMyVar[
    output=MyVar,
    definekeys={
        {inv}{ upper=-1 },
    },
]

NewObjectMyVarva{a} % this means "variable a"

begin{document}

$ va[inv] $, $ va[prime,inv] $, $ va[prime,spar,inv] $

end{document}

enter image description here


Following a request from the comments (not to this answer, but to the original question), I provide a macro inv taking two optional arguments: an optional *, which adds a prime, and an optional argument, which allows you to raise to a negative power other than -1:

documentclass{article}

usepackage{xparse}

NewDocumentCommandinv{ s O{1} }
{%
    IfBooleanTF{#1}%
    {%
        ^{prime-#2}%
    }%
    {%
        ^{-#2}%
    }%
}

begin{document}

$ ainv $, $ ainv[2] $, $ ainv* $, $ ainv*[2] $

end{document}

enter image description here

You can in principle also use a ' instead of a * by replacing { s O{1} } by { t{'} O{1} }. I did not use this approach, as I don’t really find ainv' to be an intuitive syntax for a'⁻¹ (the inversion and prime are in the opposite order of how they are printed). But that is entirely a matter of personal taste.

Correct answer by Gaussler on March 15, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP