[Tex/LaTex] Quotation marks: Is there any difference between \grqq/\glqq and “` / “‘

best practicescsquotespunctuation

I am currently employed at university to proof-read lecture notes. This means I read quite a lot of text and correct language errors / wrong references to tables / images, but I also try to improve the LaTeX source.

I saw that the document makes use of two ways to quote:

\grqq{}My Text\glqq{}

and

"`My Text"'

Both quotes seem to be rendered exactly the same way.

I have two questions:

1. What is the difference between those two ways to quote?

2. What should I use (best practice) to quote?

I currently think that defining a new command like:

\newcommand{\quote}[1]{\glqq{#1}\grqq{}}

might be a good way. So I can grep through the source files and replace every instance of the other quotes. This way, I can be sure that every quote has a "matching quote". But I am not sure if this has any negative effects.

(I've added the "quoting" and "csquotes" tags as StackExchange suggested, but I'm not sure if this is appropriate. I've not heard of csquotes before, but I think this might be an answer to the second question.)

Best Answer

You are on the right track. It's always best practice to use semantic markup in text and define the layout somewhere else (preamble, config file, …).

csquotes is a package, that can do this for you. It's even language aware (if set by babel or polyglossia). But bear in mind, that there are several semantically different things, that are usually or occasionally typed in quotes (actual quotes, irony, newly defined terms, …). Don't simply replace all occurances of \grqq[…]\glqq or

"`[…]"'

by \enquote from the csquotes package. Use even higher markup like

\newcommand{\actualquote}[1]{\enquote{#1}}
\newcommand{\definedterm}[1]{\enquote{#1}}
\newcommand{\irony}[1]{\enquote{#1}}

so that you can change this easily, if you want to change the layout of just a single kind of this.

Concerning the question of

\grqq vs. "`

The former won't break anything, but the latter depends on " being made active (by babel for example). This activation might break other (babel unaware or badly designed) packages.

PS: One can also have the point of view, that csquotes only covers actual quotes. That way, you need not define \actualquote but define \definedterm and \irony not using \enquote. But this has the following disadvantage: What to do if there is newly defined term inside an actual quote? That's why I see \enquote more of a way to deal with quotation marks instead of actual quotes.