4

In this post I learned that single letter macros purportedly have a significant impact on the typesetting process. For the past n many years I have been redefining letters like '\d', '\x', '\z', and '\e' because of the ubiquity of corresponding mathematical symbols. My questions are

  1. What is the real purpose of the symbols? Why isn't my PDF corrupted, and
  2. what is the real harm in redefining them if its not really messing with anything?
3
  • 2
    Please don't ask me a question in comments and then post a new question without even having the courtesy to say so. I've just wasted my time responding to you because you thought asking the question in multiple places would maximise your chances of an answer and you didn't give a toss about the fact that this would almost certainly waste other people's time. I'll be more wary of replying to you next time you want help. – cfr Jun 24 '16 at 1:22
  • I deleted my comment and lost internet in the process. Was not under the impression that the deletion was unsuccessful. My apologies. – user369210 Jun 24 '16 at 4:27
  • Since you have some responses below that seem to answer your question, please consider marking one of them as ‘Accepted’ by clicking on the tickmark below their vote count (see How do you accept an answer?). This shows which answer helped you most, and it assigns reputation points to the author of the answer (and to you!). It's part of this site's idea to identify good questions and answers through upvotes and acceptance of answers. – samcarter_is_at_topanswers.xyz Aug 1 '18 at 10:27
8

It is not that they are single letter particularly it is that they are used internally already in latex (and plain tex) most accent commands are single character \c, \r \v etc If you redefine these commands then you break accented letters even if they are input as characters via inputenc.

\documentclass{article}

\usepackage[utf8]{inputenc}

\begin{document}

aaa \c{c} bbb \r{a} \v{c}

aaaa ç bbb å č

but...

\def\c{oops}
\def\r{boo}
\def\v{hmm}

aaa \c{c} bbb \r{a} \v{c}

aaaa ç bbb å č

\end{document}

enter image description here

Note this is particularly dangerous as you get no error, just corrupt output, so if you redefine the accent commands but have accented letters (for example in a .bib file) then the output will be nonsense without warning.

So it is better to use \newcommand than \def and if \newcommand says the command is already defined, think hard before deciding to redefine it.

4
  • The user hasn't been using \def but \renewcommand. I wouldn't have bothered answering in the comments if I'd known the OP had already asked a new question. – cfr Jun 24 '16 at 1:18
  • And you know what the OP will say: so if I don't need accented characters, this is just fine! They are even redefining \a. Which isn't to say what you say isn't right, of course. – cfr Jun 24 '16 at 1:30
  • @cfr -- a relatively frequent error found at ams is when an author has redefined \c for a math variable, and the bibliography (which is "normalilzed" with data from mathscinet) contains a name that contains a cedilla. this does result in an error message, and a screeching halt in production, which requires a search through the entire file for the use of \c and a manual change of the input. can lead to real errors in the output, for which the author's bad practice is to blame. so "don't need accented characters" is not a good excuse. – barbara beeton Jun 24 '16 at 14:34
  • @barbarabeeton I agree. I'm certainly recommending it. It is just that I'm pretty sure what the OP will think/say in response. I would, however, be happy to be wrong about this. – cfr Jun 24 '16 at 21:23

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.