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?
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}
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}
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
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP