5

I am trying to put a text in "" using \textquotedblleft and \textquotedblright. It works perfectly fine except it does not put ANY space after \textquotedblright. In other words, BEFORE \textquotedblleft TEXT \textquotedblright AFTER comes out as BEFORE "TEXT"AFTER. Is there any way to fix it? One obvious way is using BEFORE \textquotedblleft TEXT \textquotedblright \ AFTER. I was wondering if there is any better way to fix this. Thanks

2
  • 5
    \textquotedblright like any other TeX command gobbles following spaces unless you place {} or \ after it. I'd rather use csquotes for quotes, anyway.
    – cgnieder
    Commented Dec 13, 2012 at 17:58
  • See tex.stackexchange.com/q/150945/9075 for a long discussion for quotes. Maybe it helps to solve the underlying issue.
    – koppor
    Commented Dec 6, 2020 at 12:23

3 Answers 3

5

\textquotedblleft and \textquotedblright (as well as most other commands without arguments, which do not use the xspace package) gobble their following space (as if the name was \textquotedblleft␣). To get a space character there, you need to use \textquotedblleft{} and \textquotedblright{}. You could also use explicit space (e.g. \␣ (slash space) or \hspace{1em}), but you want the space to be stretchable, dont't you? Alternatively, as suggested by cgnieder, the csquotes package can be used for quotes.

1
  • 2
    The usual shortcuts as well as the babel shortcuts would also be a good alternative.
    – cgnieder
    Commented Dec 13, 2012 at 18:11
2
  1. Use the xspace package:

    \usepackage{xspace}
    

    and define a new command as (for example)

    \newcommand{\tqdr}{\textquotedblright\xspace}
    
  2. (easier): Use shorthands as `` and ''

2

If you:

  • aren't comfortable with the shorthands (suggested by Luis Parrado)
  • don't want to have to remember to use {} or \␣ (as noted by Stephen and cgnieder)
  • don't want to bother with the huge csquotes package
  • recognise that xspace can cause more problems than it solves,...

then why not just define your own macro that takes an argument:

\documentclass{article}
\newcommand*{\textquotedouble}[1]{\textquotedblleft #1\textquotedblright}
\begin{document}
    BEFORE \textquotedouble{TEXT} AFTER.
\end{document}

(And perhaps use a shorter name than this!)

Note: I personally prefer the shorthands myself!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .