Вопрос «Как сделать документ 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}
Обратите внимание, что размер основного шрифта (\normalsize
-- он пятый, если смотреть сверху) составляет 14.4pt вместо требуемых 14pt.
Исправить это легко. Подключим пакет scrextend из набора KOMA-Script
\usepackage{scrextend} % дополняет другие классы частью возможностей KOMA-Script
и, указав в опциях класса документа новый параметр fontsize
со значением 14pt,
\documentclass[a4paper,fontsize=14pt]{extreport}
получим:
Но и это не всё. Дело в том, что Word использует другие единицы измерения размеров. Они тоже называются пункты, но это не такие пункты как в LaTeX.
LaTeX использует пункты pt
, величина которых равна 1/72.27 дюйма, а Word -- так называемые PostScript-пункты, равные 1/72 дюйма. LaTeX называет такие пункты «большими» (big point) и обозначает bp
. Поэтому для сходства с Word нужно установить шрифт 14bp.
Пакету scrextend и это под силу. Указав
\documentclass[a4paper,fontsize=14bp]{extreport}
получим то, что требовалось
Ещё большего сходства с Word можно достигнуть в XeTeX, используя в качестве основного шрифта Times New Roman. Дополнив предыдущий документ строками
\usepackage{fontspec}
\setmainfont{Times New Roman}
и оттранслировав в XeTeX, получим
Впрочем в XeTeX подключать scrextend не обязательно. Достаточно немного уменьшить основной шрифт -- с 14.4pt до примерно 14.05pt
\setmainfont[Scale=.976]{Times New Roman}
Заметим, что созданный нами макрос выдаёт некорректный размер шрифта.
Вообще говоря, Scale
изменяет только размер шрифта и для полноты нужно ещё соответственно скорректировать расстояние между строками:
\linespread{.976}
Комментарии
comments powered by Disqus