# Guillemets in LaTeX («»)

I need the characters «» in my LaTeX document. I'm writing in English though, and I don't want to use Babel. I have the following hack but I'd like a better way:

\newcommand{\q}[1]{{%
\font\larm = larm1000%
\larm%
\char 190}{#1}{%
\font\larm = larm1000%
\larm%
\char 191}}

-

There are several ways to do this:

• With standard methods, you will find \guillemotleft and \guillemotright. For this you need \usepackage[T1]{fontenc} (which is recommended anyways).
• Using the language switching capabilities of babel, e.g. \foreignlanguage.
• Using csquotes and its \foreignquote command.

Personally, I would recommend the third option.

-
I'd probably favour csquotes, as it means you keep the semantics of the mark-up and can reuse the source in other places more readily. –  Joseph Wright Sep 2 '10 at 18:34
Unfortunately it is indeed spelled incorrectly. It should be guillemetleft and guillemetright (with an "e"). A guillemot with an "o" is a seabird :-) But I think we're stuck with it. –  Peter Flynn Jan 19 '12 at 10:48

There's also a convenient way to do it with Latin Modern:

\documentclass{article}

\usepackage{lmodern}

\begin{document}

<<Quoted text>>.

\end{document}

-
Nice and intuitive! –  Hendrik Vogt Mar 8 '11 at 15:59
Tried inside a knitr document. and this was the only way that really worked for me. I must admit I am surprised cause the other answers looked sound, too. However thanks Andrey! –  hans0l0 Dec 19 '12 at 9:45

You could type it directly if you use an utf8 encoding :

\documentclass{minimal}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
«for exemple»
\end{document}


But, the spacing isn't — at least for french typography — correct

-