# How to use standard TeX fonts in XeLaTeX

How do I use the inbuilt LaTeX standard fonts (in this case Times for roman, Helvetica for sans serif and Courier for mono) when using XeLaTeX and fontspec?

I have tried:

\documentclass[journal, a4paper]{IEEEtran}

\usepackage{fontspec}
\renewcommand\rmdefault{ptm}
\renewcommand\sfdefault{phv}
\renewcommand\ttdefault{pcr}

\begin{document}
“Touché,” \textsf{he} \texttt{said}.
\end{document}


without success. Note that I want to be able to type utf8, non-English characters directly and therefore I use fontspec.

• The encoding of this fonts is not suitable for xelatex -- even more if you want to use characters with accents. Switch to open type fonts. Eg. \setmainfont{Times New Roman} or use the tex gyre fonts. – Ulrike Fischer Sep 1 '14 at 7:43
• The task at hand requires me to use the standard fonts specified by the class IEEEtran. Is it possible to use XeLaTeX then? – MunHo Sep 1 '14 at 7:45
• Why would you want to use xelatex in this case? – Ulrike Fischer Sep 1 '14 at 7:49
• If you are using a 'constrained' class for a specific reason, you should be cautious about adding any extra complexity. Perhaps consider sticking with pdfTeX and using \usepackage[utf8]{inputenc} or the even more 'traditional' approach of \'{e}, etc. – Joseph Wright Sep 1 '14 at 8:13
• the ieee seems more forgiving than most, but surely they'll use their chosen fonts when printing your paper. in this situation i would go for the simplest possible configuration of fonts. (it wasn't an issue when i was involved in publications in ieee journals...) – wasteofspace Sep 1 '14 at 13:42

The document @Sverre wrote, but with LuaLaTeX gives a correct output. However, as @UlrikeFischer said, it seems to be “wrong” in many ways.

%!TEX TS-program = lualatex
\documentclass{article}
\usepackage[utf8]{luainputenc}
\usepackage[T1]{fontenc}
\usepackage{mathptmx} % Times font
\usepackage{helvet} % Helvetica font
\usepackage{courier} % Courier font
\begin{document}
“Touché,” \textsf{he} \texttt{said}
\end{document}


EDIT:

If you want to be able to compile in pdfLaTeX without changing input you can

\usepackage{ifluatex}
\usepackage[utf8]{\ifluatex lua\fi inputenc}


PS: I added the fontenc package that I missed before, and the document seems to work the same way as with OT1.

• This seems to work just like I had hoped for! What is the difference between luainputenc and inputenc? The latter does not work. – MunHo Sep 2 '14 at 6:43
• @MunHo That it works in LuaTeX, which has a different treatment for input encodings. See my edit. – Manuel Sep 2 '14 at 8:29

There are many way to write with your preferred fonts. Just one simple example with XeLaTeX/LuaLaTeX

% !TEX program = xelatex
% !TEX encoding = utf8

\documentclass[journal,a4paper]{IEEEtran}

\usepackage{fontspec}
\defaultfontfeatures+[\sffamily,\ttfamily]{Scale=MatchLowercase}
\setmainfont{FreeSerif}
\setsansfont{FreeSans}
\setmonofont{FreeMono}

\begin{document}
“Touché,” \textsf{he} \texttt{said}.
\end{document}


Another way is based on the TeX Gyre fonts

\setmainfont{TeX Gyre Termes}
\setsansfont{TeX Gyre Heros}
\setmonofont{TeX Gyre Cursor}


If you want a Math support, you can use STIX Math fonts with unicode-math package.