Date Редакция Категория comp Теги LaTeX / Office / XeTeX

Вопрос «Как сделать документ LaTeX похожим на MS Word?» возникает довольно часто. Его решению посвящено множество заметок на TeX Stack Exchange. Есть даже специальный пакет wordlike. Разными авторами движут разные мотивы и требуется различная степень сходства. Но всё это прочтёте сами, если захотите, а здесь мы остановимся всего на одном моменте… После того, как изменены поля документа, сделаны «вордообразные» заголовки разделов, и всё уже выглядит почти как надо, остаётся обратить внимание на размеры шрифтов.

Рассмотрим следующий пример:

\documentclass[a4paper,14pt]{extreport}
\makeatletter
\newcommand\thefontsize[1]{{#1 The current font size is: \f@size pt\par}}
\makeatother

\begin{document}
\thefontsize\tiny
\thefontsize\scriptsize
\thefontsize\footnotesize
\thefontsize\small
\thefontsize\normalsize
\thefontsize\large
\thefontsize\Large
\thefontsize\LARGE
\thefontsize\huge
\thefontsize\Huge
\end{document}

fontsizes.png

Обратите внимание, что размер основного шрифта (\normalsize -- он пятый, если смотреть сверху) составляет 14.4pt вместо требуемых 14pt.

Исправить это легко. Подключим пакет scrextend из набора KOMA-Script

\usepackage{scrextend} % дополняет другие классы частью возможностей KOMA-Script

и, указав в опциях класса документа новый параметр fontsize со значением 14pt,

\documentclass[a4paper,fontsize=14pt]{extreport}

получим:

scrfntsizes.png

Но и это не всё. Дело в том, что Word использует другие единицы измерения размеров. Они тоже называются пункты, но это не такие пункты как в LaTeX.

LaTeX использует пункты pt, величина которых равна 1/72.27 дюйма, а Word -- так называемые PostScript-пункты, равные 1/72 дюйма. LaTeX называет такие пункты «большими» (big point) и обозначает bp. Поэтому для сходства с Word нужно установить шрифт 14bp.

Пакету scrextend и это под силу. Указав

\documentclass[a4paper,fontsize=14bp]{extreport}

получим то, что требовалось

scrfntsizes_bp.png

Ещё большего сходства с Word можно достигнуть в XeTeX, используя в качестве основного шрифта Times New Roman. Дополнив предыдущий документ строками

\usepackage{fontspec}
\setmainfont{Times New Roman}

и оттранслировав в XeTeX, получим

tnr14bp.png

Впрочем в XeTeX подключать scrextend не обязательно. Достаточно немного уменьшить основной шрифт -- с 14.4pt до примерно 14.05pt

\setmainfont[Scale=.976]{Times New Roman}

tnr14bp_scale.png

Заметим, что созданный нами макрос выдаёт некорректный размер шрифта.

Вообще говоря, Scale изменяет только размер шрифта и для полноты нужно ещё соответственно скорректировать расстояние между строками:

\linespread{.976}


Комментарии

comments powered by Disqus