3

I need to add some text to my LaTeX document, I need to use Times New Roman font, and that text contains cyrillic characters.

I tried using times package:

\usepackage{times}

but that simply omits cyrillic chars.

I tried using fontspec:

\usepackage{fontspec}
\setmainfont[Mapping=tex-text]{Times New Roman}

but that gives me error:

kpathsea: Invalid fontname `Times New Roman', contains ' '
! Font EU1/TimesNewRoman(0)/m/n/24.88="Times New Roman:mapping=tex-text;" at 24
.88pt not loadable: Metric (TFM) file or installed font not found.

What am I doing wrong? How do I fix it?

12
  • Just a guess: try \renewcommand{\rmdefault}{ptm}. May 26, 2013 at 7:47
  • @JohnWickerson - I tried it with both versions, still the same errors.
    – Rogach
    May 26, 2013 at 8:02
  • There's no support in the main distributions for cyrillic Times under pdfLaTeX. So \usepackage{times} doesn't work. You may be luckier with \usepackage{paratype}. The font isn't Times, though. See paratype.com
    – egreg
    May 26, 2013 at 8:08
  • @egreg - There's this problem - I need exactly times. It's not a style issue - I need to follow guidelines.
    – Rogach
    May 26, 2013 at 8:09
  • 1
    Furthermore, you should really update your TeXLive install. Fontspec has seen many improvements since 2009.
    – kahen
    May 26, 2013 at 8:40

3 Answers 3

3

As others have suggested, it's crucial to update your TeX distribution first (some people would even say: don't even think about asking a question without having updated your distribution first).

As you seem to be using XeLaTeX, loading fonts via packages made for pdfTeX isn't the best option in most cases. You should really be using fontspec IMHO.

I'm sure your operating system already includes Times New Roman -- not necessarily under that name, though, and not necessarily a version that includes Cyrillic. One version that definitely does is the one shipped with Windows. Here's how to install it, in case it's not available on your machine yet. Once it is, something like this should work without any problems (unless something more fundamental is wrong with your TeX system):

\documentclass{scrartcl}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\listfiles
\begin{document}
Рома́н О́сипович Якобсо́н — российский и американский лингвист и литературовед,
один из крупнейших лингвистов XX века, оказавший влияние на развитие гуманитарных
наук не только своими новаторскими идеями, но и активной организаторской деятельностью.
\end{document} 

enter image description here

A few other Cyrillic-aware fonts that can be used with fontspec are listed here.

1
  • 1
    One could also use the STIX/XITS fonts or the Free Serif from the GNU Free Fonts package. They are all based on the Times outlines and contain kyrillic characters. May 27, 2013 at 11:26
2

For usage with pdflatex there is tempora, which provides support for a Times like font in the Latin, Greek and Cyrillic alphabets.

\documentclass{article}

\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}

\usepackage{tempora}% for text
\usepackage{newtxmath}% for math

\begin{document}

Роман Осипович Якобсон — российский и американский лингвист и литературовед,
один из крупнейших лингвистов XX века, оказавший влияние на развитие гуманитарных
наук не только своими новаторскими идеями, но и активной организаторской деятельностью.
\[
\int_{-\infty}^{\infty}\exp(-x^2)\,dx=\sqrt{\pi}
\]

\end{document}

enter image description here

1

Using XeLaTeX, I managed to get everything working fine after a while.

The main idea is to get rid of babel in favour of polyglossia. First, you remove these lines as they won't let you use polyglossia adequately:

\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}

Then you configure polyglossia. This is a bit more verbose than with babel, but it is worth it:

\usepackage{polyglossia}
\setmainlanguage{russian} % change this if the order of languages is different 
\setotherlanguage{english}
\setmainfont{Times New Roman}
\setromanfont{Times New Roman} 
\newfontfamily{\cyrillicfont}{Times New Roman}[Ligatures=TeX] % this is needed for << to be converted into «
\newfontfamily{\cyrillicfontrm}{Times New Roman}
\newfontfamily{\cyrillicfonttt}{Courier New}
\newfontfamily{\cyrillicfontsf}{Arial}
\setkeys{russian}{babelshorthands=true}

Worked for me after everything else failed.

You must log in to answer this question.

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