
Я использую TeX с пакетом макросов AmS-TeX. Я хотел бы использовать его с итальянским языком, чтобы слова переносились правильно (например, итальянское слово 'distante' должно быть разбито как di-stante; TeX вместо этого разбивает его как dis-tante, как он разбивает английское слово 'distant').
Кроме того, возможно ли переключаться между разными языками в одном документе? Если да, то как?
Я нашел решение этой проблемы только для LaTeX; мне нужно решение для TeX.
решение1
Первая часть процедуры
Эта процедура предполагает, что вы используете TeX Live на компьютере под управлением Unix.
Перейдите в рабочий каталог, чтобы убедиться, что вы ничего не перезапишете.
Подготовьте файл,
bplain.cnf
содержащий строкуbplain pdftex language.dat -translate-file=cp227.tcx *bplain.ini
Запустите следующую командную строку
fmtutil --cnffile bplain.cnf --fmtdir . --all
Выполняй команду
mv pdftex/bplain.fmt .
Обработайте тестовый файл
matteo.tex
, показанный ниже, с помощьюpdftex -fmt bplain -output-format pdf matteo
Вот тестовый файл
% test file matteo.tex
% activate italian
\language\csname l@italian\endcsname
\lccode`'=`'
\righthyphenmin=2
%%%
\overfullrule=0pt % just for the example
\input amstex
\documentstyle{amsppt}
\topmatter
\title A paper\endtitle
\author Matteo\endauthor
\endtopmatter
\document
\vbox{\hsize=3pt\hskip0pt % show some hyphenations
distante
amicizia
dell'amicizia
ricordo
}
\enddocument
И вот что получилось
Теперь вы можете перейти bplain.fmt
в то место, где TeX Live сможет его найти, например
~/texmf/web2c/pdftex
(или ~/Library/texmf/web2c/pdftex
в Mac OS X). Командная строка выше будет работать из любого каталога.
Если вы смелы, шаги 3 и 4, а также окончательное перемещение bplain.fmt
файла можно выполнить за один шаг.
fmtutil --cnffile bplain.cnf --fmtdir $(kpsewhich -var-value TEXMFHOME) --all
Вторая часть процедуры
Теперь у вас должна быть рабочая настройка. Добавьте следующий псевдоним в ваш .bashrc
файл:
alias bpdftex='pdftex -fmt bplain -output-format pdf'
и, когда вы откроете новую оболочку, вы сможете запустить
bpdftex matteo
Более сложный пример файла, показывающий, как переключать языки:
\catcode`@=11
\def\italian{%
\language\l@italian
\lccode`'=`'
\righthyphenmin=2
}
\def\english{%
\language\l@english
\lccode`'=0
\righthyphenmin=3
}
% you can add other languages, if you want
\catcode`@=12
\english % initialization
%%%
\overfullrule=0pt % just for the example
\input amstex
\documentstyle{amsppt}
\topmatter
\title A paper\endtitle
\author Matteo\endauthor
\endtopmatter
\document
% this will use English hyphenation
\vbox{\hsize=3pt\hskip0pt % show some hyphenations
distance
pleasure
confidential
record
}
\medskip\hrule\smallskip
\italian % this will use Italian hyphenation
\vbox{\hsize=3pt\hskip0pt % show some hyphenations
distante
amicizia
dell'amicizia
ricordo
}
\enddocument
Третья часть процедуры
Переключиться на LaTeX
решение2
Вы также можете попробовать egreg'sгипленкак формат для Plain TeX. Для установки требуется всего три файла, а документация представляет собой двухстраничную брошюру.