Красивый русский текст в техе
Вопрос, а как добиться в латехе красивого русского текста?
Пакет cm-super установлен. Для английского языка, например, есть пакет с Palatino. Получается хорошо для этого языка. А с русским языком есть доступные шрифты? В принципе, могу и купить шрифт, если недорого
Computer modern прекрасен, разве нет?
А если по существу, то мне вот STIX Two нравится.
Через пакет fontogroup подключаются различные шрифты (Банниковский и т.п.) Про этот пакет читать здесь: http://herba.msu.ru/shipunov/software/tex/tex-ru.htm
Кое-что гуглится. Благодарю за подсказку
Да, я поленился ссылку дать. Вот, держи: https://sourceforge.net/projects/stixfonts/files/ (на CTAN он все еще не попал почему-то). И для его использования пока что нужен LuaLaTeX или XeLaTeX с пакетом fontspec.
Пример документа с использованием этого шрифта: https://sgolovan.nes.ru/tex/russian.pdf
Зависит от критериев, точнее от привычек. При прочих равных Computer Modern достаточен почти всегда. Если ничего про шрифты не знаете, то лучшее — враг хорошего.
С качественной кириллицей в свободных качественных шрифтах особенно при условии согласованности с математическими символами всё очень и очень плохо. Именно поэтому настоятельно рекомендуется держаться Computer Modern
Из свободных качественных шрифтов можно посмотреть в сторону Old Standard https://fonts.google.com/specimen/Old Standard TT — есть привязка к pdflatex. Если освоили xelatex, то можно использовать любой из Type1 шрифтов (взять на тех же googlefonts). Если очень хочется купить шрифты, то это легко можно сделать у того же ParaType.
Следует однако понимать, что экранные шрифты (ориентированные на низкий DPI) и шрифты для печати — это очень разные сущности. И согласованность с математическими символами мало у каких шрифтов есть просто потому, что полноценных математических шрифтов меньше чем пальцев на одной руке.
Спасибо за совет! Да у меня математических символов очень мало. В основном выдержки кода, немного диаграмм, пара таблиц и много текста
Да и я по привычке как двадцать лет назад использую LaTeX. А насколько хорош XeLaTeX? Вот только недавно узнал о нем из интерфейса TeXShop
Если я правильно понимаю, то он уже готов к использованию, но я сам его не использую, так как мне Computer Modern достаточно.
Некоторые пакеты (в частности будут проблемы от совместного использования listings и кириллицы — нужно аккуратно обходить грабли) будут отваливаться, но такое происходит и в случае перехода от однобайтных кодировок к Unicode. Вроде пока ещё технически не полностью замещает pdflatex, в частности возможны проблемы с микротипографикой (может уже починили).
Да я вот прямо сейчас экспериментирую с XeLaTeX. Текст выглядит хорошо, а вот листинги надо подогнать. Может быть, XeLaTeX как раз то, что ищу, но пока рано загадывать.
Касательно бумаги и экрана, мне кажется, что в наше время в основном читают с экрана
Круто! Макосные шрифты прекрасно подхватились в XeLaTeX и показываются в дебиане. Наверное, в винде также будет
Ну, не совсем прекрасно, но подхватились. Засечки, расстояния те же, но выглядит похуже немного на линуксе, но в целом очень неплохо
Шрифты из семейства PT довольно хороши
Касательно бумаги и экрана, мне кажется, что в наше время в основном читают с экрана
Это не имеет отношения к делу. Алгоритмы растеризации разные. В случае «привычных Windows-шрифтов» при низких разрешениях де факто используется растр буквально прибитый гвоздями для каждого размера. В этом нет ничего плохого, так как позволяет читать мелкие буквы, но начерание шрифта и расстояние между символами будет принципиально другое чем на печати.
При чтении pdf с экрана для комфортного чтения размер шрифта увеличивается пока векторный растеризатор не начнёт давать вменяемых результатов.
Это да (пример IMHO как надо тратить бюджетные деньги — к сожалению подобных примеров было по-моему всего два, если не считая шрифтов от издательства Мир, и один не шибко удачный). Там есть все начертания. Следует правда осознавать, что эти шрифты ориентированы на WEB, а не на печать и были сделаны только с целью публикации кириллических текстов, то есть расширенными символами кроме обычной латиницы там не густо. Есть коммерческие PT-шрифты, где символов много больше.
Для меня не годится, так как не согласуется с матсимволами.
но начерание шрифта и расстояние между символами будет принципиально другое чем на печати.
Это важно, так как сделать абзац с ровными краями одновременно для низких и высоких разрешений при сохранении читаемости символов не получится никак. Нужны мониторы хотя бы с 200-300 dpi — в телефонах это есть, но экранчики там уж больно маленькие.
Всем спасибо! Нашел решение в виде использования XeLaTeX и шрифтов семейства PT. Совсем не ожидал, что получится такой шикарный результат
(на маке и линуксе работает; еще на винде надо проверить)
Зилатех за яйца привязан к хрюникоду + не очень хорошо совместим с латеховскими пакетами.
Да я похоже, что рано обрадовался. Пакеты, что я использую, поддерживаются. Тут все хорошо, особенно на маке (на винде MiKTeX как всегда хромает). Проблема же в переносах слов.
Если говорить об английском языке и обычном LaTeX, то там переносы слов очень грамотно ставятся, и Overfull встречается крайне редко. Вообще, об этом особо не надо париться.
Когда переходишь на русский текст, то LaTeX часто не справляется с переносом слов, и приходится разбавлять текст ненужными словами, подгоняя, чтобы не было Overfull.
А вот попробовал посмотреть внимательнее на то, что выдает XeLaTeX - там же сплошные Overfull! Надо думать, что делать дальше)
Не очень понятно где возникают проблемы. И да, overfull — это норма — не нужно стараться от него избавляться слишком рьяно. Там больше влияет ширина текстового поля, чем выбор языка, хотя английские слова в среднем короче. Тут может ещё помочь микротипографика (microtype — изменение межбуквенных интервалов), но в этом случае альтернативы Computer Modern нет от слова вообще.
Попробую пованговать: не переносятся сложные слова, которые пишутся через тире и слова, где есть смесь кириллицы и латиницы. Как в xelatex я не знаю, но в случае использования babel вместо короткого дефиса следует вставлять комбинацию
Да самые обыкновенные слова не переносятся в XeLaTeX, межбуквенные интервалы не варьируются. Как будто шлепает постоянный интервал, а потом с удивлением обнаруживает, что не может перенести короткое слово из двух слогов, причем шрифт 10pt. В общем, задумался о Computer Modern. Может быть, он и не так плох? :)
Когда писал на английском в LaTeX, вообще, проблем с Overfull не знал
Из парочки XeLaTeX-LuaLaTeX (оба юникодные и с поддержкой современных форматов шрифтов, т.е. OpenType) я бы посоветовал LuaLaTeX скорее. Он помедленнее, но у него совместимость со всякими существующими пакетами получше (в частности, работает microtype для незаметных искажений букв, улучшающих читаемость.
Юникодность (требование, чтобы исходный текст был в UTF-8), на мой взгляд, это большой плюс.
Что касается переносов, то покажи минимальный пример документа, в котором они не включились. В том же LuaLaTeX переносы включаются точно так же, как и в pdfLaTeX:
Возвращаясь к шрифтам, вот список тех, что я использую регулярно (не все свободные, некоторые просто входят в поставку виндов):
- Computer Modern Unicode (да, он в части русского языка плоховат и заезжен до ужаса, но все же)
- Гарнитура Литературная + CM для математики
- STIX 1 + XITS для математики (не отличить от Times New Roman)
- STIX Two и он же для математики
- Palatino Linotype (из поставки виндов) + mathpazo или euler для математики
- Libertinus + Libertinus Math для математики
- Cambria (из поставки виндов) + Cambria Math для математики
- New Сentury Schoolbook (из поставки виндов) + TeX Gyre Schola Math для математики
- PT Serif + Cambria Math для математики
- PT Astra + Cambria Math для математики
Да самые обыкновенные слова не переносятся в XeLaTeX
очень и очень странно. Что-то по всей видимости не так. Нужен пример кода, чтобы сказать что-то определённое.
межбуквенные интервалы не варьируются.
По умолчанию этого и не должно быть. Данная фича крайне специфична и алгоритм зависит от конкретного шрифта.
Не так выразился. Не переносятся в смысле «целиком», когда можно было бы немного расширить расстояние между словами. Иногда две буквы не может отправить на другую строку.
babel на маке подключается в xelatex (в винде - нет).
lualatex попробую, но много позже. Для этого просит обновиться сначала (из-за диаграмм xy)
А, ну как бы надо тогда просто включить переносы для русского языка. КО
Как это делается для babel я знаю (просто указать язык в опциях), а в xelatex вроде нужно посмотреть в сторону пакета polyglossia
Да, нет же, переносы-то есть, но мне не нравится, что между словами один и тот же интервал. Из-за этого даже простые слова не влезают в строку, даже где вторая половина слова была перенесена. А можно было просто полностью перенести слово на следующую строку, а в текущей чуточку увеличить интервалы между словами и буквами. Ан, нет же
(многозначный смысл у слова «перенос»)
Ты покажи пример-то (хотя бы скриншот). Обычно LaTeX вполне адекватно справляется с переносами. А может у тебя ширина колонки в 3 сантиметра? Тогда ой.