377

I am trying to insert the symbol in the title of the question, which I copied from a PDF article, but it appears as space in the output file. What is the corresponding LaTeX command?

4
  • Probably the input encoding does not have the em dash configured. I'd suggest to use the solution by Keks Dose.
    – topskip
    Apr 26, 2012 at 10:58
  • 6
    Also see How to look up a symbol?
    – Caramdir
    Apr 26, 2012 at 20:51
  • If my typographer's memory serves me, the first item in the list above is not known as a hyphen but as a tee dash. (Or was it simply a matter of tee spaces, en spaces, and em spaces?) Gosh, I used to all know this back when I did actual physical typography... Jan 9, 2013 at 3:45
  • 1
    Just came here for an answer, since the em dash looked like a space in the PDF previewer I was using. Turns out the font just had a very thin line for a dash. I embiggened the previewer, and voila!--there were the em dashes! In case someone else has the same issue. Nov 8, 2021 at 21:50

5 Answers 5

400

The LaTeX command for such a line are three small ones: ---

11
  • 133
    Alternatively \textemdash. Apr 26, 2012 at 15:20
  • 13
    Or use Xe/LuaLaTeX and just type .
    – Caramdir
    Apr 26, 2012 at 20:48
  • 10
    @Caramdir: You don't even have to use Xe/LuaLaTeX; pdfLaTeX with \usepackage[utf8]{inputenc}\usepackage[T1]{fontenc} works fine for directly inputting an em dash .
    – doncherry
    Apr 28, 2012 at 9:54
  • 5
    This is not a LaTeX command and it doesn't work universally: scripts.sil.org/cms/scripts/page.php?item_id=xetex_faq#ligs Feb 14, 2013 at 9:41
  • 11
    If you're using Unicode fonts (i.e. you're using XeTeX or LuaTeX), just add Ligatures = TeX as a font option. You need that for any of the typical TeX conversions such as `````, ', -- etc.
    – Sverre
    Sep 25, 2013 at 15:08
282

The question has already been answered, but for completeness' sake:

  • Hyphen: -
  • En-dash: --
  • Em-dash: ---
7
  • 15
    To avoid misunderstandings, I like to call the first one (-) a hyphen, because it's usually not used as a dash. In Unicode it's called Minus-hyphen, that's the one normal keyboards enter. (Unicode also has a symbol called Hyphen.
    – doncherry
    May 1, 2012 at 13:13
  • 22
    Donald Knuth, for completeness, adds the fourth one, the mathematical minus sign, $-$. (The TEXbook, page 4.)
    – Pål GD
    May 15, 2013 at 14:57
  • 3
    Using xelatex (XeTeX, Version 3.1415926-2.4-0.9998 (MiKTeX 2.9)) this does not work. Two hyphens just come out as two hyphens.
    – Marcin
    Sep 10, 2013 at 21:01
  • 4
    @Marcin Add Ligatures = TeX as an option when you load your font.
    – Sverre
    Sep 25, 2013 at 15:09
  • @Sverre Did you get that from my answer?
    – Marcin
    Sep 25, 2013 at 17:00
92

The latex commands are:

  • Hyphen: -
  • En-dash: \textendash
  • Em-dash: \textemdash

With the latter two, you will likely want to append {}, because they swallow following space.

If you want to use the ligatures -- and --- with standard unicode fonts, use:

\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text}
% and/or - see comments
\defaultfontfeatures{Ligatures=TeX}

This will emulate substitution of unicode characters for certain "latex standard" ligatures which are present as ordinary unicode characters in modern fonts.

5
  • 5
    It's preferable to use the Ligatures=TeX version, which works both with XeLaTeX and LuaLaTeX, while the other (older) version can't be interpreted by LuaLaTeX. The option can also be used when defining a specific font with \setmainfont, \newfontfamily and similar commands; it's not necessary to use \defaultfontfeatures. If one uses it, probably a declaration \setmonofont should go before \defaultfontfeatures{Ligatures=TeX}.
    – egreg
    Sep 25, 2013 at 16:03
  • Question to anyone following this thread. Are there any known package clashes? I have \usepackage{fontspec} with \defaultfontfeatures{Ligatures=TeX} with \usepackage{libertine} and I compile with XeLaTeX and I don't get the --- emdash effect at all. I'm considering asking a separate question, but perhaps I'm overlooking something obvious.
    – PatrickT
    Apr 30, 2016 at 12:06
  • 1
    package clash with \usepackage{xesearch} apparently...
    – PatrickT
    Apr 30, 2016 at 13:14
  • @PatrickT Right, hence why I include the official latex commands.
    – Marcin
    Apr 29, 2019 at 17:17
  • ! Fatal Package fontspec Error: The fontspec package requires either XeTeX or LuaTeX. - FWIW
    – i336_
    Mar 25, 2021 at 7:51
15

In some contexts it is appropriate to put thin spaces around an em dash, e.g., \,---\,. I defer to the Chicago Manual of Style and Bringhurst on typography for more.

1
  • I use full on spaces, like { }---{ }.
    – hatmatrix
    Dec 24, 2017 at 21:21
2

I used the command to achieve long dash

\textemdash 

For example:

2021 \textemdash \ The Capability of Wavelet Convolutional Neural Network for Detecting Cyber Attack of Distributed Denial of Service in Smart Grid, ICCWAMTIP, (EI)

enter image description here

1
  • 2
    Isn't this already covered by Marcin's answer? Mar 13, 2022 at 7:14

You must log in to answer this question.

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