61

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}}

6 Answers 6

67

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.

The similar looking mathmode symbols ≪ and ≫ (much less/greater than) are created with \ll and \gg.

7
  • 10
    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
    Commented Sep 2, 2010 at 18:34
  • 14
    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. Commented Jan 19, 2012 at 10:48
  • @PeterFlynn In my case it works only with ''o''.
    – Dog_69
    Commented Oct 16, 2019 at 22:51
  • 2
    Of course. Read what I said. It was misspelled when created. Commented Jan 4, 2020 at 12:19
  • See my last answer, \MarkOuterQuote{"} is simpler with csquote package
    – Metal3d
    Commented Apr 28, 2020 at 7:01
33

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

\documentclass{article}

\usepackage{lmodern}

\begin{document}

<<Quoted text>>.

\end{document}
3
  • 1
    Nice and intuitive! Commented Mar 8, 2011 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
    Commented Dec 19, 2012 at 9:45
  • Does not work for me. I use koma-script book with babel
    – lalebarde
    Commented May 6, 2014 at 15:03
18

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

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
«For example.»
\end{document}

But, the automatic spacing isn't correct — at least for French typography. As suggested in the comments, you can always input manually the correct spacing (~, for non-breaking space).

1
  • 1
    I think you can add the due non-breaking spaces manually with the ~ character.
    – Olivier
    Commented Feb 26, 2023 at 21:45
13

I find this way is very convenient:

package: \usepackage[frenchb]{babel}

in text: \og text \fg{}

2
  • 4
    This is indeed the correct way when using French with babel.
    – egreg
    Commented Oct 31, 2014 at 20:35
  • @egreg and wrong for non-French text.
    – vonbrand
    Commented Sep 1, 2018 at 23:09
5

The best I now use in french is:

\usepackage{csquotes}
\MakeOuterQuote{"}

I now can use " to as "guillemet" and it's correctly replaced by « and »

3
  • This did not work in French for me.
    – Cedric
    Commented Aug 3, 2020 at 13:04
  • Weird, it works perfectly for me (I'm french)
    – Metal3d
    Commented Jan 9, 2021 at 8:35
  • Have you tried with Babel, cause it definitely worked here
    – Tiwenty
    Commented Jul 21, 2021 at 15:35
2

I tried several of those options all leading to a small square instead of «». This did the trick for me.

\documentclass{article}  
\usepackage[francais]{babel} % guillemets \og text \fg{}
\usepackage{aeguill} % guillemets
 \begin{document}
 \og text \fg{}
 \end{document}
1
  • 2
    The OP requests this without use of Babel. Also, Babel has various unwanted side effects such as hyphenation, change of parindent in the first line, change of itemization bullets etc. Commented Mar 28, 2021 at 21:14

You must log in to answer this question.