LINUX.ORG.RU

Поясните, пож-та, как русифицировать pdf, генерируемый системой texinfo

 , , ,


3

3

Здравствуйте!

В .pdf-файле, сформированном системой texinfo, не отображаются русские символы. В .log-файле с результатами формирования pdf содержатся сообщения типа:

unknown document encoding: utf-8 /var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map .. Missing character: There is no џ in font cmbx12!

Последовательность действий:

1. Формирую исходный .texinfo-файл, содержащий русские буквы и директивы: @documentlanguage ru @documentencoding utf-8

2. Формирую pdf из исходного .texinfo-файла: texi2pdf xxxx.texinfo

3. Получаю «нерусифицированный» результат (описан выше)

Не подскажете, как русифицировать pdf?

Дополнительно:

1. Использую ОС ubuntu с установленными exinfo-6.3 и texlive-full.

2. Думал, что куда-то нужно вписать директивы типа \usepackage[russian,english]{babel}, но куда вписать - не знаю

нужно вписать директивы типа \usepackage[russian,english]{babel}, но куда вписать - не знаю

в самое начало, прям первой строкой.

Rastafarra ★★★★
()
Ответ на: комментарий от Rastafarra

К сожалению, не помогло.. Возможно, что-то не так сделал :(

В самое начало исходного .texinfo-файла вставил \usepackage:

\usepackage[russian, english]{babel} \input texinfo @c -*-texinfo-*-

@c %**start of header @setfilename 001.info

@documentlanguage ru @documentencoding utf-8

@settitle Пример документа @c %**end of header

..

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

roman@Texinfo:~/texinfo-6.3$ texi2pdf 001.texinfo This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) (preloaded format=pdfetex) restricted \write18 enabled. entering extended mode (./001.texinfo ./001.texinfo:1: Undefined control sequence. l.1 \usepackage [russian, english]{babel} ?

Fifazer
() автор топика

Так как texinfo использует Plain TeX, а не LaTeX, а кириллицей в Plain TeX уже давным-давно никто не интересуется (подозреваю, что с тех пор, как вышли и были забыты переводы кнутовских The TeXbook и The Metafontbook), то простых способов добавить кириллицу, увы, нет.

Поиск в Google дал вот эту интересную ссылку на список рассылки Lilypond, где народ как-то решает эту проблему: https://lists.gnu.org/archive/html/lilypond-devel/2012-08/msg00072.html

Надеюсь, поможет.

TeopeTuK ★★★★
()
Ответ на: комментарий от Rastafarra

Не помогло и это :(

Вставил после documentencoding - ошибки «Undefined control sequence» больше нет, но осталась «Missing character: There is no . in font cmbx12!».

Вырезка из исходного .texinfo-файла:

\input texinfo @c -*-texinfo-*-

@c %**start of header

@setfilename 001.info

@documentlanguage ru

@documentencoding utf-8

\usepackage[T2A]{fontenc}

\usepackage[koi8-r]{inputenc}

\usepackage[russian, english]{babel}

@settitle Пример документа

..

Fifazer
() автор топика
Ответ на: комментарий от TeopeTuK

Не понятная инструкция на Lilypond

Автор предлагает «где-то в начале документа» добавить его файл:

\gdef\cyrfont{%

% Use the EC size information.

\edef\ecsize{\csname\curfontsize ecsize\endcsname}%

..

Не понятно - как вставлять, куда конкретно..

1. Сделал отдельный файл 001.tex,

2. в него поместил скрипт автора,

3. сам файл 001.tex положил в ту же директорию, что и мой исходный .texinfo-файл,

4. в начале моего .texinfo-файла добавил строки: \input texinfo \input 001.tex ..

5. запустил создание PDF - результат тот же - без русских букв

Fifazer
() автор топика
Ответ на: комментарий от monk

У меня отсутствует texconfig. Есть варианты?

Как я понял, texconfig - это графическая утилита для конфигурирования TeX-а (https://linux.die.net/man/1/texconfig-sys). Но у меня данная утилита отсутствует:

roman@Texinfo:~$ texconfig

texconfig: команда не найдена

roman@Texinfo:~$ texconfig-sys

texconfig-sys: команда не найдена

хотя я устанавливал у себя texlive-full.

Есть ли какой-то файл, где можно было бы «вручную» добавить форматы из cyrplain набора?

Fifazer
() автор топика
Ответ на: комментарий от monk

А здесь пишут:

# japanese pdf has problems, when build with texi2pdf 
# as alternative we can use platex 
# for russian pdf you need package 'texlive-lang-cyrillic' installed 

monk ★★★★★
()
Ответ на: Не понятная инструкция на Lilypond от Fifazer

Быстрый хак для русского языка вот такой: вставить в самое начало

\def\fontprefix{wcm}
(это позволит использовать старенькие и так себе качеством шрифты Самарина--Глонти) и сам документ сохранять в кодировке cp1251. Тогда кириллические слова вполне видны. Но нет переносов, и в предметном указателе ужас что творится для определений на русском языке.

Внутри texinfo.tex все очень плохо, так что просто и быстро подключить нормальную кодировку, переносы, более приличный шрифт не получится. Придется перекрывать большие куски кода. Возможно, и правда, реанимация формата cyrplain поможет, но это уже без меня.

TeopeTuK ★★★★
()
Ответ на: комментарий от TeopeTuK

Уже лучше, но пока не на столько. Возможно, я что-то не так сделал.

Воспользовался Вашим советом - в начало своего исходного .texinfo-файла добавил строки:

\def\fontprefix{wcm}

\input texinfo @c -*-texinfo-*-

@c %**start of header

@setfilename 001.info

@documentlanguage ru

@documentencoding cp1251

@settitle Пример документа

@c %**end of header

..

Хотя при компиляции и выдало ошибки вида:

Missing character: There is no . in font wcmr10!

Но в полученном PDF уже видны буквы:

rsr srrrsrr<rrr rrsrrr/ rr>rrs.

Скажите, пож-та, всё ли верно я сделал (заранее извиняюсь - я не специалист в infotex и Tex)

Fifazer
() автор топика

Тогда бы я порекомендовал не пользоваться texinfo вообще. Откуда взялась эта идея, да еще и для русскоязычной документации? Может, взять что-нибудь другое вместо texinfo?

TeopeTuK ★★★★
()
Ответ на: комментарий от TeopeTuK

Можно и другое. Но с texinfo же нужно разобраться

А что бы посоветовали в замен texinfo? Нужно из одного источника генерить как pdf-файлы по ГОСТу (с рамками), так и интерактивные справки.

Fifazer
() автор топика

Нужно из одного источника генерить как pdf-файлы по ГОСТу (с рамками), так и интерактивные справки.

Если исходник уже в tex, то переделай в latex, а интерактивная справка будет через latex2html или htlatex

monk ★★★★★
()

Боюсь, что предложить что-нибудь, умеющее ГОСТ, я не смогу (никогда не приходилось этим заморачиваться). Но texinfo в этом смысле уж совсем странный выбор. Он-то уж точно к ГОСТ никакого отношения не имеет.

TeopeTuK ★★★★
()

Из /usr/share/doc/texinfo/README.cyrtexinfo

The current combinations teTeX/TeX live/TeXinfo do not provide the
        cyrtexinfo
format anymore. If you want to get cyrtexinfo, the cyrillic texinfo format,
please follow the following steps:
. install either tetex-base and tetex-extra, or texlive-langcyrillic
. comment out the format line in /etc/texmf/fmt.d/50cyrtexinfo.cnf
. create a link
        /usr/local/bin/cyrtexinfo -> ../../bin/pdfetex
. call update-fmtutil
. call fmtutil-sys --missing (or --all)

monk ★★★★★
()
Ответ на: комментарий от monk

Не могли бы уточнить, что имеется в виду под cyrtexinfo

Насчёт вашей вырезки из README.cyrtexinfo.

Верно я понял, что не имеет дальнейшего смысла пытаться установить пакет cyrplain (https://www.ctan.org/tex-archive/macros/latex/contrib/t2/cyrplain),

а нужно выполнять те шаги, которые указаны в README.cyrtexinfo?

Fifazer
() автор топика

Все еще пытаешься вынудить работать texinfo? Держи вот второе приближение, которое худо-бедно работает с LuaTeX. Там есть пример sample.texi, который собирается так:

TEXINDEX=./texindex.tcl PDFTEX=luatex texi2pdf sample.texi
Работает только в локали с кодировкой UTF-8. И сам документ должен быть в кодировке UTF-8 (иначе luatex не работает).

TeopeTuK ★★★★
()
Ответ на: Огромное Вам спасибо - работает :) от Fifazer

Оказалось, что даже оригинальный пример на английском языке из документации не работает с texinfo 5.2 из Debian, что удивительно. Но ладно.

Ну и повторю еще раз, что ГОСТ тут никак не прикрутить без кардинального переделывание всего texinfo.

TeopeTuK ★★★★
()
Ответ на: комментарий от TeopeTuK

Насчёт ГОСТ - всё-таки попытаюсь. По результатам отпишусь

А какой бы Вы посоветовали инструмент, поддерживающий ГОСТ? DocBook, Txt2tags, Markdown?

Fifazer
() автор топика

Не знаю, что из предложенного (и вообще что, кроме быть может самого LaTeX) умеет или можно легко обучить ГОСТу. Как я уже говорил, мне с ГОСТ не приходилось иметь дела.

TeopeTuK ★★★★
()
Ответ на: комментарий от TeopeTuK

Вопрос немного не по теме топика, но всё же задам

Для реализации рамок по ГОСТ я планировал добавить следующие TeX-команды:


% Подключить пакет для работы с фоновыми изображениями

\usepackage{eso-pic}


% Добавить рамку ГОСТ (в файле iGOSTtitlePageFrame.pdf)

\AddToShipoutPicture*{

	\put(0,0){

    	\parbox[b][\paperheight]{\paperwidth}{

        	\vfill

            \centering\includegraphics[width=\paperwidth,height=\paperheight,

                keepaspectratio]{#1iGOSTtitlePageFrame.pdf}

            \vfill

        }

    }

}

Скажите, пож-та, где эти TeX-команды я должен прописать?

PS: пакет eso-pic у меня установлен

Fifazer
() автор топика
Ответ на: комментарий от TeopeTuK

Как я понимаю, Вы про добавление TeX-команд в исходный .texinfo-файл?

Я добавлял \usepackage в разные места исходного файла. Например, так:


\input texinfo   @c -*-texinfo-*-

\usepackage{eso-pic}

@setfilename 001.info

Но результат один - в полученном pdf-файле отображается \usepackageeso-pic и ничего другого :(

Возможно, вы имели в виду другой способ добавления TeX-команд?

Fifazer
() автор топика
Ответ на: комментарий от TeopeTuK

Но хотя бы в каком направлении двигаться?

Есть ли возможность как-то докрутить этот Plain TeX, чтобы он работал с eso-pic?

Или, возможно, в Plain TeX есть пакеты, аналогичные eso-pic (и соответствующие команды)?

Fifazer
() автор топика
Ответ на: Но хотя бы в каком направлении двигаться? от Fifazer

Направление может быть любое, главное, чтобы подальше от texinfo (которое предназначено для верстки документации к программным продуктам GNU и для всего остального подходит отнюдь не кадый раз).

TeopeTuK ★★★★
()

Зато из дискусии вынеслась какая-никакая реализация поддержки русского языка для Texinfo (без необходимости реанимировать cyrplain, которому нужны 8-битные кодировки текста). Так что польза все-таки есть, даже если и не пригодилось в данном конкретном случае.

TeopeTuK ★★★★
()
8 августа 2017 г.
Ответ на: Но хотя бы в каком направлении двигаться? от Fifazer

Мне помогло следующее (на arch-linux):

  • ставим texlive-core и texlive-lang-cyrillic (с ними ставится cyrplain)
  • копируем в рабочую папку txi-ru.tex (из automake или tex)
  • перекодируем txi-ru.tex в iso-8859-5
  • перекодируем *.texi в iso-8859-5
  • перед \input texinfo.tex приписываем:
    \def\fontprefix{ycm}

готово. PDF делается так: pdftex *.texi
automake тоже вроде работает.
переносы не работают (хотя на \- реакция есть)
закладки - кракозябрами на latin-1.

pva-1
()
Ответ на: комментарий от pva-1

то же самое, для UTF-8

  • перекодируем *.texi в UTF-8
  • указываем после \input texinfo.tex
    @documentencoding UTF-8
    @documentlanguage ru
    
  • указываем перед \input texinfo.tex
    \def\fontprefix{ycm} 
    
  • Создаём файл txi-ru.tex следующего содержимого:
    \chardef\CYRYO=161
    \chardef\CYRA=176
    \chardef\CYRB=177
    \chardef\CYRV=178
    \chardef\CYRG=179
    \chardef\CYRD=180
    \chardef\CYRE=181
    \chardef\CYRZH=182
    \chardef\CYRZ=183
    \chardef\CYRI=184
    \chardef\CYRISHRT=185
    \chardef\CYRK=186
    \chardef\CYRL=187
    \chardef\CYRM=188
    \chardef\CYRN=189
    \chardef\CYRO=190
    \chardef\CYRP=191
    \chardef\CYRR=192
    \chardef\CYRS=193
    \chardef\CYRT=194
    \chardef\CYRU=195
    \chardef\CYRF=196
    \chardef\CYRH=197
    \chardef\CYRC=198
    \chardef\CYRCH=199
    \chardef\CYRSH=200
    \chardef\CYRSHCH=201
    \chardef\CYRHRDSN=202
    \chardef\CYRERY=203
    \chardef\CYRSFTSN=204
    \chardef\CYREREV=205
    \chardef\CYRYU=206
    \chardef\CYRYA=207
    \chardef\cyra=208
    \chardef\cyrb=209
    \chardef\cyrv=210
    \chardef\cyrg=211
    \chardef\cyrd=212
    \chardef\cyre=213
    \chardef\cyrzh=214
    \chardef\cyrz=215
    \chardef\cyri=216
    \chardef\cyrishrt=217
    \chardef\cyrk=218
    \chardef\cyrl=219
    \chardef\cyrm=220
    \chardef\cyrn=221
    \chardef\cyro=222
    \chardef\cyrp=223
    \chardef\cyrr=224
    \chardef\cyrs=225
    \chardef\cyrt=226
    \chardef\cyru=227
    \chardef\cyrf=228
    \chardef\cyrh=229
    \chardef\cyrc=230
    \chardef\cyrch=231
    \chardef\cyrsh=232
    \chardef\cyrshch=233
    \chardef\cyrhrdsn=234
    \chardef\cyrery=235
    \chardef\cyrsftsn=236
    \chardef\cyrerev=237
    \chardef\cyryu=238
    \chardef\cyrya=239
    \chardef\cyryo=241
    \message{Bound cyrillic characters for ycmXXX fonts (iso-8859-5)}
    
    \DeclareUnicodeCharacter{0401}{\CYRYO}
    \DeclareUnicodeCharacter{0451}{\cyryo}
    \DeclareUnicodeCharacter{0410}{\CYRA}
    \DeclareUnicodeCharacter{0411}{\CYRB}
    \DeclareUnicodeCharacter{0412}{\CYRV}
    \DeclareUnicodeCharacter{0413}{\CYRG}
    \DeclareUnicodeCharacter{0414}{\CYRD}
    \DeclareUnicodeCharacter{0415}{\CYRE}
    \DeclareUnicodeCharacter{0416}{\CYRZH}
    \DeclareUnicodeCharacter{0417}{\CYRZ}
    \DeclareUnicodeCharacter{0418}{\CYRI}
    \DeclareUnicodeCharacter{0419}{\CYRISHRT}
    \DeclareUnicodeCharacter{041A}{\CYRK}
    \DeclareUnicodeCharacter{041B}{\CYRL}
    \DeclareUnicodeCharacter{041C}{\CYRM}
    \DeclareUnicodeCharacter{041D}{\CYRN}
    \DeclareUnicodeCharacter{041E}{\CYRO}
    \DeclareUnicodeCharacter{041F}{\CYRP}
    \DeclareUnicodeCharacter{0420}{\CYRR}
    \DeclareUnicodeCharacter{0421}{\CYRS}
    \DeclareUnicodeCharacter{0422}{\CYRT}
    \DeclareUnicodeCharacter{0423}{\CYRU}
    \DeclareUnicodeCharacter{0424}{\CYRF}
    \DeclareUnicodeCharacter{0425}{\CYRH}
    \DeclareUnicodeCharacter{0426}{\CYRC}
    \DeclareUnicodeCharacter{0427}{\CYRCH}
    \DeclareUnicodeCharacter{0428}{\CYRSH}
    \DeclareUnicodeCharacter{0429}{\CYRSHCH}
    \DeclareUnicodeCharacter{042A}{\CYRHRDSN}
    \DeclareUnicodeCharacter{042B}{\CYRERY}
    \DeclareUnicodeCharacter{042C}{\CYRSFTSN}
    \DeclareUnicodeCharacter{042D}{\CYREREV}
    \DeclareUnicodeCharacter{042E}{\CYRYU}
    \DeclareUnicodeCharacter{042F}{\CYRYA}
    \DeclareUnicodeCharacter{0430}{\cyra}
    \DeclareUnicodeCharacter{0431}{\cyrb}
    \DeclareUnicodeCharacter{0432}{\cyrv}
    \DeclareUnicodeCharacter{0433}{\cyrg}
    \DeclareUnicodeCharacter{0434}{\cyrd}
    \DeclareUnicodeCharacter{0435}{\cyre}
    \DeclareUnicodeCharacter{0436}{\cyrzh}
    \DeclareUnicodeCharacter{0437}{\cyrz}
    \DeclareUnicodeCharacter{0438}{\cyri}
    \DeclareUnicodeCharacter{0439}{\cyrishrt}
    \DeclareUnicodeCharacter{043A}{\cyrk}
    \DeclareUnicodeCharacter{043B}{\cyrl}
    \DeclareUnicodeCharacter{043C}{\cyrm}
    \DeclareUnicodeCharacter{043D}{\cyrn}
    \DeclareUnicodeCharacter{043E}{\cyro}
    \DeclareUnicodeCharacter{043F}{\cyrp}
    \DeclareUnicodeCharacter{0440}{\cyrr}
    \DeclareUnicodeCharacter{0441}{\cyrs}
    \DeclareUnicodeCharacter{0442}{\cyrt}
    \DeclareUnicodeCharacter{0443}{\cyru}
    \DeclareUnicodeCharacter{0444}{\cyrf}
    \DeclareUnicodeCharacter{0445}{\cyrh}
    \DeclareUnicodeCharacter{0446}{\cyrc}
    \DeclareUnicodeCharacter{0447}{\cyrch}
    \DeclareUnicodeCharacter{0448}{\cyrsh}
    \DeclareUnicodeCharacter{0449}{\cyrshch}
    \DeclareUnicodeCharacter{044A}{\cyrhrdsn}
    \DeclareUnicodeCharacter{044B}{\cyrery}
    \DeclareUnicodeCharacter{044C}{\cyrsftsn}
    \DeclareUnicodeCharacter{044D}{\cyrerev}
    \DeclareUnicodeCharacter{044E}{\cyryu}
    \DeclareUnicodeCharacter{044F}{\cyrya}
    \message{Bound cyrillic Unicodes to characters}
    
    % $Id: txi-ru.tex,v 1.4 2008/10/16 17:13:10 karl Exp $
    % txi-ru.tex -- Russian translations for texinfo.tex. 
    %
    % Copyright 2005, 2007, 2008 Free Software Foundation.
    %
    % Author: Sergey Poznyakoff
    %
    % This program is free software; you can redistribute it and/or modify
    % it under the terms of the GNU General Public License as published by
    % the Free Software Foundation; either version 3 of the License, or
    % (at your option) any later version.
    %
    % This program is distributed in the hope that it will be useful,
    % but WITHOUT ANY WARRANTY; without even the implied warranty of
    % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    % GNU General Public License for more details.
    %
    % You should have received a copy of the GNU General Public License
    % along with this program.  If not, see <http://www.gnu.org/licenses/>.
    
    \txisetlanguage{russian}{2}{2}
    
    \plainfrenchspacing
    
    \gdef\putwordAppendix{\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyre}
    \gdef\putwordChapter{\CYRG\cyrl\cyra\cyrv\cyra}
    \gdef\putwordfile{\cyrf\cyra\cyrishrt\cyrl}
    \gdef\putwordin{\cyrv}
    \gdef\putwordIndexIsEmpty{(\CYRI\cyrn\cyrd\cyre\cyrk\cyrs \cyrp\cyru\cyrs\cyrt)}
    \gdef\putwordIndexNonexistent{(\CYRI\cyrn\cyrd\cyre\cyrk\cyrs \cyrn\cyre \cyrs\cyru\cyrshch\cyre\cyrs\cyrt\cyrv\cyru\cyre\cyrt)}
    \gdef\putwordInfo{Info}
    \gdef\putwordInstanceVariableof{\CYRP\cyre\cyrr\cyre\cyrm\cyre\cyrn\cyrn\cyra\cyrya \cyrk\cyrl\cyra\cyrs\cyrs\cyra} % hmm ??
    \gdef\putwordMethodon{\CYRM\cyre\cyrt\cyro\cyrd}
    \gdef\putwordNoTitle{\CYRB\cyre\cyrz \cyrz\cyra\cyrg\cyrl\cyra\cyrv\cyri\cyrya}
    \gdef\putwordof{\cyrd\cyrl\cyrya}   % (??) Категория X для класса Y 
    \gdef\putwordon{\cyrn\cyra\cyrd}  % Операция над ...
    \gdef\putwordpage{\cyrs\cyrt\cyrr\cyra\cyrn\cyri\cyrc\cyra}
    \gdef\putwordsection{\cyrr\cyra\cyrz\cyrd\cyre\cyrl}
    \gdef\putwordSection{\CYRR\cyra\cyrz\cyrd\cyre\cyrl}
    \gdef\putwordsee{\cyrs\cyrm.}
    \gdef\putwordSee{\CYRS\cyrm.}
    \gdef\putwordShortTOC{\CYRK\cyrr\cyra\cyrt\cyrk\cyro\cyre \cyro\cyrg\cyrl\cyra\cyrv\cyrl\cyre\cyrn\cyri\cyre}
    \gdef\putwordTOC{\CYRO\cyrg\cyrl\cyra\cyrv\cyrl\cyre\cyrn\cyri\cyre}
    %
    %% Месяцы используются только в родительном падеже (см. ниже today) 
    \gdef\putwordMJan{\cyrya\cyrn\cyrv\cyra\cyrr\cyrya}
    \gdef\putwordMFeb{\cyrf\cyre\cyrv\cyrr\cyra\cyrl\cyrya}
    \gdef\putwordMMar{\cyrm\cyra\cyrr\cyrt\cyra}
    \gdef\putwordMApr{\cyra\cyrp\cyrr\cyre\cyrl\cyrya}
    \gdef\putwordMMay{\cyrm\cyra\cyrya}
    \gdef\putwordMJun{\cyri\cyryu\cyrn\cyrsftsn}
    \gdef\putwordMJul{\cyri\cyryu\cyrl\cyrya}
    \gdef\putwordMAug{\cyra\cyrv\cyrg\cyru\cyrs\cyrt\cyra}
    \gdef\putwordMSep{\cyrs\cyre\cyrn\cyrt\cyrya\cyrb\cyrr\cyrya}
    \gdef\putwordMOct{\cyro\cyrk\cyrt\cyrya\cyrb\cyrr\cyrya}
    \gdef\putwordMNov{\cyrn\cyro\cyrya\cyrb\cyrr\cyrya}
    \gdef\putwordMDec{\cyrd\cyre\cyrk\cyra\cyrb\cyrr\cyrya}
    %
    \gdef\putwordDefmac{\CYRM\cyra\cyrk\cyrr\cyro\cyro\cyrp\cyrr\cyre\cyrd\cyre\cyrl\cyre\cyrn\cyri\cyre}
    \gdef\putwordDefspec{\CYRO\cyrs\cyro\cyrb\cyra\cyrya \cyrf\cyro\cyrr\cyrm\cyra}
    \gdef\putwordDefvar{\CYRP\cyre\cyrr\cyre\cyrm\cyre\cyrn\cyrn\cyra\cyrya}
    \gdef\putwordDefopt{\CYRO\cyrp\cyrc\cyri\cyrya \cyrp\cyro\cyrl\cyrsftsn\cyrz\cyro\cyrv\cyra\cyrt\cyre\cyrl\cyrya}
    \gdef\putwordDeffunc{\CYRF\cyru\cyrn\cyrk\cyrc\cyri\cyrya}
    
    % Produces Day Month Year style of output.
    \def\today{%
      \number\day\space
      \ifcase\month
      \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr
      \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug
      \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec
      \fi
      \space\number\year}
    

готово. Теперь работает всё, кроме переносов (в т.ч. tex, xetex, luatex). В доке по texinfo предлагают точечно бороться с переполненными боксами (вылавливать их в логе) путём расстановки в них переносов вручную (@- или @hyphenation{})

pva-1
()
Ответ на: то же самое, для UTF-8 от pva-1

В моём решении (которое, правда, только в LuaTeX работает), переносы и сортировка предметного указателя работают, вот.

TeopeTuK ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.