Шрифты в Техе

turik

Меня всегда удивляло, почему пдфы, полученные из теха, практически невозможно читать на экране (как ни странно, на печати они выглядят довольно пристойно).
Попробовал сейчас посмотреть на эти пдфы с увеличением, и увидел такое:

Слева - буква из текста, справа - буква из формулы; никаким особым образом ничего не настраивал, такого эффекта можно добиться с помощью простого
p$u$

такой эффект наблюдается и с кириллицей, и с латиницей
Можно ли как-нибудь подключить нормальные шрифты вместо этих вырвиглазных, для экрана не предназначенных? Это ещё Adobe Reader из них что-то удобоваримое делает, а в TeXworks они совсем нечитаемо выглядят (там, похоже, в дополнение к этим шрифтам мелкого размера ещё и что-то похуже Nearest Neighbour используется для отображения).

turik

Что интересно, форум их обрабатывает вполне нормально:
[math][res=1000]p$u$[/math]

pilaf4

Пдфы генерируются по умолчанию с разрешением 600dpi, ты, в общем, вряд ли различишь сильно больше.
Как ты генерируешь pdf? Через pdflatex или dvi -> dvips -> ps2pdf? Корректные векторные шрифты в miktex должны быть в первом случае, если включен \usepackage[T1]{fontenc}.

turik

Пдфы генерируются по умолчанию с разрешением 600dpi, ты, в общем, вряд ли различишь сильно больше.
На скриншоте как-то непохоже на 600dpi. У этой буквы высота на бумаге - где-то порядка четверти-половины дюйма, и на эту высоту тут явно приходится не 300 и не 150 пикселей. Вообще, по идее, шрифты должны быть векторными?
к ты генерируешь pdf?
В miktex по дефолту - pdflatex+makeindex+bibtex.
Корректные векторные шрифты в miktex должны быть в первом случае, если включен \usepackage[T1]{fontenc}.
Добавил эту строчку - никакого эффекта, текст по-прежнему пиксельный, формулы по-прежнему векторные.

pilaf4

У тебя full package или basic с докачкой? Есть пакет cm-super? Попробуй с ним.

turik

Поставил cm-fonts, всё стало, конечно, не совсем уж хорошо, но по сравнению с тем, что было раньше - просто замечательно.
Спасибо за совет.
Не стоит ли добавить это в FAQ?

turik

Кстати, ты, видимо, хорошо в этом разбираешься - есть ещё один вопрос.
Я сделал для сокращения работы команду вроде
\newcommand{\newsection}[2]{\section{-- #2}\label{#1}}

Проблема в том, что аргумент \section не может содержать символы подчёркивания (потому что это спецсимвол, его надо экранировать); \label, наоборот, символы подчёркивания содержать может, а на \_ падает. В результате, нельзя позвать ни \newsection{some_title}{описание}, ни \newsection{some\_title}{описание}.
Пробовал извратиться с \StrSubstitute; но, видимо, из-за того, что это что-то низкоуровневое, его нельзя использовать ни в аргументе к \section, ни в аргументе к \label.
Есть ли какие-нибудь решения, кроме "заведи у \newsection ещё аргумент" и "не используй _ в названиях"?
Пробовал \usepackage[strings]{underscore}, но после этого перестают показываться подключаемые файлы исходников с подчёркиванием в пути, даже если перед этим usepackage написать \newcommand{\UnderscoreCommands}{\do\lstinputlisting} :confused:

pilaf4

Пробовал \usepackage[strings]{underscore}, но после этого перестают показываться подключаемые файлы исходников с подчёркиванием в пути, даже если перед этим usepackage написать \newcommand{\UnderscoreCommands}{\do\lstinputlisting}
Подключаемые через \input или через \lstinputlisting?

turik

Через \lstinputlisting.
Ну вот даже какой-нибудь такой пример:
\newcommand{\samplexml}[1]{\lstinputlisting[title=language=XML]{../samplexml/#1}

При вызове \samplexml{filename_with_underscores.xml} всё падает, потому что в title не могут быть подчёркивания.
Если вызвать \samplexml{filename\_with\_underscores.xml} - всё упадёт, потому что кривое имя файла.
Если в title=вместо написать что-нибудь с использованием \StrSubstitute - всё упадёт, потому что в title нельзя использовать такие конструкции.
Если подключить пакет underscore и перед ним указать, что не надо раскрывать подчёркивание в lstinputlisting - всё упадёт, потому что подчёркивание в имени файла всё равно раскроется.

8888157

чем тебе поскрипт не устраивает? Попробуй дистилером поскрипт в перегнать.

kachokslava

спешу тебя огорчайть, в постскрипте тоже растровые шрифты эмбеддятся.
просто старые акробаты и старые миктехи делали такие pdf, что там растровость действительно глаза мозолила. современные делают так, что пиксельность почти не заметна.
Современные = миктех >=2.6 и адоберидер >=8

kachokslava

шрифты в ТеХе по умолчанию растровые.
это долбанутость тянется с давних времён. сейчас технология примерно такая:
(векторный шрифт в метафонте .mf ) --(metafont)--> (растровый .pk) --(tex)--> (dvi/ps/pdf)
Можно использовать не родные Кнутовские (computer modern а новомодные cm-super и пр. некоторые используют cm-super. если мне прямо непременно нужен векторный шрифт, я использую pscyr

kachokslava

кстати, видимо у тебя тех старый.
у меня: texlive-2009

> pdflatex --version
pdfTeX 3.1415926-1.40.10-2.2 (Web2C 2009)
kpathsea version 5.0.0
Copyright 2009 Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
There is NO warranty. Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
Compiled with libpng 1.2.43; using libpng 1.2.43
Compiled with zlib 1.2.4; using zlib 1.2.4
Compiled with poppler version 0.12.4

исходник:

\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\pagestyle{empty}
\begin{document}
{\bf Контрольное домашнее задание.}

1. Написать определение определителя квадратной матрицы и вычислить определители матриц:
...


компилирую pdflatex dz.tex ---> dz.pdf

turik

современные делают так, что пиксельность почти не заметна.
Современные = миктех >=2.6 и адоберидер >=8
miktex 2.8, adobe reader 9. В штатной программе просмотра miktex вообще адский вырвиглаз, в adobe reader просто плохо.
Если смотреть на моём 1280*800 в adobe reader в режиме fit page:
С установленными cm-fonts:

Без cm-fonts:

Adobe reader в режиме fit to width (в котором обычно читают):
С cm-fonts

Без cm-fonts

Просматривалка texworks, режим fit to page
С cm-fonts

Без cm-fonts

Режим fit to width:
С cm-fonts

Без cm-fonts

По-моему, разница очевидна.

turik

Ну вот я поставил это cm-super - и теперь у меня шрифты нормальные что с \usepackage[T1]{fontenc} , что без него.
Самый последний miktex с офсайта.

kachokslava

сейчас глянул - cm-super по умолчанию в texlive встаёт

avgustinka

О, круто! Я даже не замечал такую проблему пока не сравнил цифры написанные в формулах и просто так.
Про cm-super однозначно надо в FAQ. Там, конечно, он упоминается, но не говорится, вроде, зачем нужен.
А ещё тогда такой вопрос: почему файл сгенерированный pdflatex'ом весит бывает,
что в четыре раза больше, чем то же самое сгенерённое по цепочке: latex->dvipdfm?
Вот, у меня, например файлы получились: 117 kb и 28 kb соответственно.

turik

Я даже не замечал такую проблему пока не сравнил цифры написанные в формулах и просто так.
То есть, ты не замечал, что тексты (не в формулах) читать невозможно?
Оставить комментарий
Имя или ник:
Комментарий: