LINUX.ORG.RU

Как русифицировать LaTeХ на Debian7?

 , ,


0

2

Здравствуйте. Я совсем новичок в администрировании ос и серверов. У меня такая проблема. Установил на Debian7 +amd64 пакет texlive-full wheezy, то есть версию 2012 года.

Такая преамбула

\documentclass[12pt]{article}
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}

не вызывает ошибку, но не позволяет использовать кириллицу.

А такая преамбула, которая успешно работает на компе с Windows7, где установлен texlive,

\documentclass[12pt]{article}
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[english, russian]{babel}

на Debian7 выдает ошибку:

This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012/Debian) (format=latex 2015.3.20) 20 MAR 2015 02:32 entering extended mode restricted \write18 enabled. %&-line parsing enabled. **6519c72263ce077ed1a73d3685512ca3_1426807927.tex (./6519c72263ce077ed1a73d3685512ca3_1426807927.tex LaTeX2e <2011/06/27> Babel <v3.8m> and hyphenation patterns for english, dumylang, nohyphenation, et hiopic, farsi, arabic, pinyin, croatian, bulgarian, ukrainian, russian, slovak, czech, danish, dutch, usenglishmax, ukenglish, finnish, french, basque, ngerma n, german, swissgerman, ngerman-x-2012-05-30, german-x-2012-05-30, monogreek, g reek, ibycus, ancientgreek, hungarian, bengali, tamil, hindi, telugu, gujarati, sanskrit, malayalam, kannada, assamese, marathi, oriya, panjabi, italian, lati n, latvian, lithuanian, mongolian, mongolianlmc, nynorsk, bokmal, indonesian, e speranto, coptic, welsh, irish, interlingua, serbian, serbianc, slovenian, friu lan, romansh, estonian, romanian, armenian, uppersorbian, turkish, afrikaans, i celandic, kurmanji, polish, portuguese, galician, catalan, spanish, swedish, th ai, loaded. (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls Document Class: article 2007/10/19 v1.4h Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/size12.clo File: size12.clo 2007/10/19 v1.4h Standard LaTeX file (size option) ) \c@part=\count79 \c@section=\count80 \c@subsection=\count81 \c@subsubsection=\count82 \c@paragraph=\count83 \c@subparagraph=\count84 \c@figure=\count85 \c@table=\count86 \abovecaptionskip=\skip41 \belowcaptionskip=\skip42 \bibindent=\dimen102 ) (/usr/share/texlive/texmf-dist/tex/latex/ucs/ucs.sty Package: ucs 2004/10/17 UCS: Unicode input support

(/usr/share/texlive/texmf-dist/tex/latex/ucs/data/uni-global.def File: uni-global.def 2012/04/20 UCS: Unicode global data ) \uc@secondtry=\count87 \uc@combtoks=\toks14 \uc@combtoksb=\toks15 \uc@temptokena=\toks16 ) (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty Package: inputenc 2008/03/30 v1.1d Input encoding file \inpenc@prehook=\toks17 \inpenc@posthook=\toks18

(/usr/share/texlive/texmf-dist/tex/latex/ucs/utf8x.def File: utf8x.def 2004/10/17 UCS: Input encoding UTF-8 )) (/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty Package: fontenc 2005/09/27 v1.99g Standard LaTeX package

(/usr/share/texlive/texmf-dist/tex/latex/cyrillic/t2aenc.def File: t2aenc.def 2005/09/27 v1.0i Cyrillic encoding definition file ) LaTeX Font Info: Try loading font information for T2A+cmr on input line 100.

(/usr/share/texlive/texmf-dist/tex/latex/cyrillic/t2acmr.fd File: t2acmr.fd 2001/08/11 v1.0a Computer Modern Cyrillic font definitions ) ! Font T2A/cmr/m/n/12=larm1200 at 12.0pt not loadable: Metric (TFM) file not found. <to be read again> relax l.100 \fontencoding\encodingdefault\selectfont

? ! Emergency stop. <to be read again> relax l.100 \fontencoding\encodingdefault\selectfont

End of file on the terminal!

Here is how much of TeX's memory you used: 888 strings out of 493486 11901 string characters out of 3143549 63973 words of memory out of 3000000 4260 multiletter control sequences out of 15000+200000 3938 words of font info for 15 fonts, out of 3000000 for 9000 957 hyphenation exceptions out of 8191 22i,0n,20p,371b,71s stack positions out of 5000i,500n,10000p,200000b,50000s No pages of output.

Поиск по larm дает:

/usr/share/texmf/tex4ht/ht-fonts/win/1251/lh/lh-t2a/larm.htf
/usr/share/texmf/tex4ht/ht-fonts/unicode/lh/lh-t2a/larm.htf
/usr/share/texmf/tex4ht/ht-fonts/iso8859/5/lh/lh-t2a/larm.htf
/usr/share/texmf/tex4ht/ht-fonts/koi/8r/lh/lh-t2a/larm.htf

Гуглил проблему. Обычно советуют установить расшиhенные пакеты с кириллицей, но у меня и так texlive-full, все доступное уже установлено.

Уже даже пробовал ставить texlive-full jessie. Так заигрался с апгрейдами, что положил систему. При установке версии jessie начали устанавливаться зависимости, как я понял, даже апач и mysql затронулось. Пришлось все переустаналивать.

Можно ли решить проблему русификации?

Новичок, осиль LORcode и отредактируй сообщение

dvrts ★★★ ()

texlive-lang-cyrillic установлен?

Amet13 ★★★★★ ()

Т.е. читать сообщения латеха ты не умеешь? И лоркод не осилил...

А там же русским по-черному написано, что нет шрифтов! В этих ваших нелинуксах (бубунтах с дебьянами и прочем уродстве) техлив не идет одним пакетом, а разбит на куски.

Если у тебя нет полноценного метапакета, который установит все-все нужные вещи, то вручную доустанавливай texlive-cyrillic и т.п.

Eddy_Em ☆☆☆☆☆ ()

Ты точно поставил пакет texlive-lang-cyrillic ?

grem ★★★★★ ()

Для русификации используй примерно такую шапку:

\documentclass[12pt]{scrartcl} 
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{indentfirst}%first paragraph indent
\usepackage{misccorr}

Судя по логам у тебя почему-то не находятся кириллические шрифты. Из этого возникает подозрение, что установлен таки не texlive-full, так как он включает кириллицу.

Как вариант предлагаю установить свежую версию TeX Live локально: https://www.tug.org/texlive/acquire-netinstall.html

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

Ага, я подозревал, что метапакет таки существует, а ТС в глаза долбится не только с точки зрения чтения выхлопа латеха и документации по лоркоду, но и по списку пакетов дебьяна!

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

Топикастер сказал, что установлен texlive-full, но я думаю, что он ошибается, так как иначе бы всё поставилось. В Debian 7 конкретно не проверял (так как ubunta, но она такого рода пакеты просто копирует один в один из Debian), но с texlive 2012 я не помню никаких проблем.

Evgueni ★★★★★ ()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от Evgueni

Вроде установлено все:

root@user:~# apt-cache show texlive-full
Package: texlive-full
Source: texlive-base
Version: 2012.20120611-5
Installed-Size: 104
Maintainer: Debian TeX Maintainers <debian-tex-maint@lists.debian.org>
Architecture: all
Depends: purifyeps, texlive-doc-ja (>= 2012.20120516), texlive-latex-base (>= 2012.20120516), latex-xcolor (>= 2.09), texlive-fonts-recommended-doc (>= 2012.20120516), texlive-plain-extra (>= 2012.20120516), texlive-lang-czechslovak (>= 2012.20120516), texlive-doc-base (>= 2012.20120516), dvidvi, texlive-latex-extra-doc (>= 2012.20120516), texlive-base (>= 2012.20120516), texlive-lang-hebrew (>= 2012.20120516), texlive-fonts-recommended (>= 2012.20120516), texlive-generic-extra (>= 2012.20120516), tex4ht (>= 20051214), texlive-fonts-extra (>= 2012.20120516), texlive-doc-tr (>= 2012.20120516), texlive-lang-other (>= 2012.20120516), texlive-doc-th (>= 2012.20120516), texlive-music (>= 2012.20120516), texlive-extra-utils (>= 2012.20120516), texlive-pictures-doc (>= 2012.20120516), texlive-doc-nl (>= 2012.20120516), texlive-pstricks (>= 2012.20120516), texlive-lang-vietnamese (>= 2012.20120516), texlive-common (>= 2012.20120516), texlive-lang-cjk (>= 2012.20120516), texlive-fonts-extra-doc (>= 2012.20120516), texlive-lang-arabic (>= 2012.20120516), tipa (>= 2:1.2-2.1), latex-cjk-all (>= 4.6.0+cvs20060714-2), pgf (>= 1.01.dfsg.1), texlive-formats-extra (>= 2012.20120516), texlive-lang-latvian (>= 2012.20120516), texlive-doc-it (>= 2012.20120516), psutils, texlive-latex-recommended-doc (>= 2012.20120516), lcdf-typetools, chktex, latex-sanskrit, texlive-lang-french (>= 2012.20120516), texlive-font-utils (>= 2012.20120516), texlive-humanities (>= 2012.20120516), texlive-lang-armenian (>= 2012.20120516), texlive-latex-recommended (>= 2012.20120516), texlive-doc-vi (>= 2012.20120516), texlive-metapost-doc (>= 2012.20120516), texlive-lang-indic (>= 2012.20120516), texlive-xetex (>= 2012.20120516), texlive-doc-fi (>= 2012.20120516), texlive-lang-german (>= 2012.20120516), texlive-latex-extra (>= 2012.20120516), texlive-lang-dutch (>= 2012.20120516), t1utils, texlive-metapost (>= 2012.20120516), texlive-doc-cs+sk (>= 2012.20120516), tex-gyre, texlive-bibtex-extra (>= 2012.20120516), texlive-science-doc (>= 2012.20120516), texlive-math-extra (>= 2012.20120516), texlive-doc-es (>= 2012.20120516), texlive-games (>= 2012.20120516), texlive-publishers-doc (>= 2012.20120516), texlive-publishers (>= 2012.20120516), texlive-pstricks-doc (>= 2012.20120516), feynmf, texlive-lang-tibetan (>= 2012.20120516), latexmk, texlive-doc-de (>= 2012.20120516), texlive-lang-italian (>= 2012.20120516), dvipng, texlive-lang-hungarian (>= 2012.20120516), fragmaster, lacheck, prosper (>= 1.00.4+cvs.2006.10.22), texlive-doc-si (>= 2012.20120516), texlive-lang-polish (>= 2012.20120516), texlive-lang-danish (>= 2012.20120516), texlive-doc-ar (>= 2012.20120516), texlive-doc-rs (>= 2012.20120516), cm-super (>= 0.3.3-3), texlive-generic-recommended (>= 2012.20120516), texlive-lang-greek (>= 2012.20120516), thailatex, texlive-doc-bg (>= 2012.20120516), texlive-lang-spanish (>= 2012.20120516), texlive-lang-latin (>= 2012.20120516), texlive-doc-en (>= 2012.20120516), texlive-latex-base-doc (>= 2012.20120516), texlive-lang-mongolian (>= 2012.20120516), texlive-science (>= 2012.20120516), texlive-lang-norwegian (>= 2012.20120516), texlive-doc-mn (>= 2012.20120516), texlive-luatex (>= 2012.20120516), info (>= 4.8), texlive-doc-uk (>= 2012.20120516), texlive-humanities-doc (>= 2012.20120516), texlive-binaries (>= 2012-0), texlive-doc-pl (>= 2012.20120516), texlive-doc-ko (>= 2012.20120516), texlive-omega (>= 2012.20120516), texlive-lang-cyrillic (>= 2012.20120516), texlive-doc-pt (>= 2012.20120516), texlive-lang-swedish (>= 2012.20120516), latex-beamer (>= 3.06.dfsg.1-0.1), context, lmodern (>= 0.93.3), texlive-lang-african (>= 2012.20120516), texlive-pictures (>= 2012.20120516), texlive-doc-ru (>= 2012.20120516), texlive-lang-english (>= 2012.20120516), xindy, texinfo (>= 4.8), texlive-doc-fr (>= 2012.20120516), texlive-lang-finnish (>= 2012.20120516), latexdiff, texlive-lang-portuguese (>= 2012.20120516), texlive-lang-croatian (>= 2012.20120516), texlive-doc-zh (>= 2012.20120516), texlive-lang-lithuanian (>= 2012.20120516)
Suggests: passivetex (>> 1.25-2), jadetex (>= 3.13-7.1), xmltex (>> 1.9-11.1)
Description-en: TeX Live: metapackage pulling in all components of TeX Live
The TeX Live software distribution offers a complete TeX system.
It encompasses programs for typesetting, previewing and printing
of TeX documents in many different languages, and a large collection of TeX macros and font libraries.
. The distribution also includes extensive general documentation about TeX, as well as the documentation accompanying the included software packages.
Homepage: http://www.tug.org/texlive/
Description-md5: 4778fc8e42329832f581fbd36eaa5e91
Tag: role::dummy
Section: tex
Priority: optional
Filename: pool/main/t/texlive-base/texlive-full_2012.20120611-5_all.deb
Size: 37394
MD5sum: 38b121238091099417c0381c8858685e
SHA1: 2da5c0754b28bc744e8050aff736a2c758a06eb2
SHA256: 11d482830228200de9495d85fd519fa76651b2635903a4a77c0877bd07fcc731

root@user:~# apt-get install texlive-full
Reading package lists... Done
Building dependency tree
Reading state information... Done
texlive-full is already the newest version.
The following package was automatically installed and is no longer required:
libmicrohttpd10
Use 'apt-get autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

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

Еще добавлю. В рабочей папке создаются пустые вложенные папки /.texmf-var/fonts/tfm/lh/lh-t2a и файл missfont.log с содержимым:

mktextfm larm1000
mktextfm larm1200

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

Это странно.
Вообще, по Латеху листай книжки иногда, их дофига даже на русском. Как минимум советую Львовского.

kachsheev ★★★ ()
%Decision. Encoding problems in finding / copy in Adobe Reader for certain fonts 
%details - http://www.tug.org/TUGboat/tb29-1/tb91thanh-fonts.pdf (Han The Thann, Font-specific issues in pdfTEX, TUGboat, Volume 29, No. 1 — XVII European TEX Conference, 2007)
\input glyphtounicode.tex
\pdfgentounicode=1

%line spacing in parts
\linespread{1}

\usepackage{cmap}

\usepackage{ucs}

% Input encoding support (we need it here since we use something other
% than plain ASCII)
\usepackage[utf8]{inputenc}

\usepackage[T2A,T1]{fontenc}

% The package manages culturally-determined typographical (and other)
% rules, and hyphenation patterns for a wide range of languages.
\usepackage[english,russianb]{babel}

% We need the `hyperref` package to make hyperreferences in our table of
% contents as well as other references (to figures, etc)
%
% the `unicode=true` is needed because this source file is encoded that way.
%
% NOTE: the package should be loaded after almost everything, but exceptions:
%        - hypcap
%
\usepackage[unicode=true]{hyperref}
% With default configuration, references made by hyperref have very ugly
% red borders. We can get rid of it by using this kind of customization:
%
% (source: http://tex.stackexchange.com/questions/823/remove-ugly-borders-around-clickable-cross-references-and-hyperlinks )
\usepackage{xcolor}
\hypersetup{
    colorlinks,
    linkcolor={black},
    citecolor={black},
    urlcolor={blue}
}

% NOTE: this package should be loaded AFTER hyperref.
% It is needed to place labels for figures (tables, etc), to the top
% of the figure (table, etc), instead of its caption.
\usepackage[all]{hypcap}

\parindent0pt

Ненужное выпилиш сам, работает и под линуксом и под виндами

anonymous ()
Ответ на: комментарий от eugene8086

Очень странно. Всё должно по идее работать. На моём рабочем компьютере стоит именно TeX Live 2012 (правда установленный не из репозитория, а локально с сайта TEX Live) и проблем с ним не видно. Может быть файлы побиты? Проверь диск/память на предмет неприятностей. Компьютер стабильно работает?

Надеюсь ты попробовал всё ещё раз проделать, но с той шапкой, что я посоветовал?

Да, по умолчанию рабочей пользовательской директорией дистрибутива для временных файлов является по идее ~/.texlive2012 — для информации.

Evgueni ★★★★★ ()
Последнее исправление: Evgueni (всего исправлений: 2)
Ответ на: комментарий от anonymous

Пакет pscyr не имеет никакого отношения ни к Debian, ни к какому дистрибутиву LaTeX ибо варез. Ну и сейчас он уже не нужен совершенно — нужно только с xelatex разобраться.

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

Утраиваю оратора. Или касает пускай целиком dvd-iso, или язабан :))) В полном dvd-iso все есть. Проверял на MacOS и Xubuntu :)

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

Если документы верстают не только под линуксом, то вариантов с невырвиглазными шрифтами нет. Я не против, пусть пользуется тем что есть, но работать с исходниками на разных осях не выйдет нормально

anonymous ()
Ответ на: комментарий от Evgueni

Попробовал выполнить через ssh от имени root и все правильно заработало! Каких прав не хватает? Подумал, latex генерирует какие-то вспомогательные данные в своей директории, а из под пользователя писать их там нельзя.

Но это не помогло.

chown -R root:root /usr/share/
chmod -R g+rwx /usr/share/
usermod -G root myusername

Вообще, я вызываю latex из php с помощью proc_open(). php работает как модуль апача.

Пробовал так
chown root myscript.php
chmod u+s myscript.php

Тоже не помогает.

В чем может быть причина? Как исправить? Где почмодить?

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

Вообще, я вызываю latex из php с помощью proc_open(). php работает как модуль апача.

Опаньки. А под каким пользователем? У этого пользователя есть домашняя директория куда можно складировать временные файлы? Если нет, то нужно почитать про переменные TEX и настроить это место. WEB-решений с LaTeX уже довольно много. Смотри как это сделано там, например.

Evgueni ★★★★★ ()
Последнее исправление: Evgueni (всего исправлений: 3)
Ответ на: комментарий от Evgueni

Ну я не совсем понимаю, что значит домашняя. Если кириллицы нет, то latex нормально работает и в директории рядом со скриптом php файлы создает.

eugene8086 ()
Ответ на: комментарий от Evgueni

Если нет, то нужно почитать про переменные TEX и настроить это место.

Какие переменные? Можно подробнее, а то я еще год буду мучиться(

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

Да откуда я знаю? Я с таким кейсом никогда не встречался. Читай документацию к дистрибутиву TeX Live (вполне себе подробная), смотри имеющиеся настройки.

Evgueni ★★★★★ ()

Предложу выкинуть LaTeX и использовать XeTeX, т.к нормальная поддержка юникода и OpenType. В TeX Live он вроде из коробки.

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

Ога, только вот всё равно от временных файлов никуда не деться. Тут нужно решать совсем другую проблему.

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

бубунтах с дебьянами и прочем

Я, конечно, рассматриваю LFS, но не думал, что придётся решать так быстро! А между тем это уже не первый плевок в дебиан за сегодня )

Deleted ()
Последнее исправление: Deleted (всего исправлений: 2)

Просто сделай

\usepackage{cmap}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english, russian]{babel}

У меня такой же дебиан и такой же texlive-full.

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Evgueni

Попробовал выполнить latex через ssh как обычный пользователь myusername и тоже все правильно сработало! Значит проблема не в правах, а в том, что latex вызывается через php, который работает как модуль Апача. В чем же может быть проблема?

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

Это очевидно. Вопрос в том под _каким_ пользователем выполняются твои скрипты и имеют ли они право писать хоть что-нибудь хоть куда-нибудь. Иными словами — разбирайся с настройками апач.

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

Когда выполняю программу из php, то в папке tmp программа создает лог-файл с ошибками. Причем создаваемые файлы имеют в атрибутах владельца myusername и группу myusername. Значит PHP и вызываемая им программа выполняется из-под myusername.

В том и проблема, что из-под одного и того же пользователя, а результат разный через консоль и через php. Видимо, вызов через Apache+PHP усекает какие-то права пользователя. Почему так может быть? Даже не знаю, что искать.

eugene8086 ()
Ответ на: комментарий от Evgueni

PHP ни при чем, поскольку

#!/bin/sh
echo Content-type: text/html
echo

cd /var/www/myusername/data/www/mysitename/teximg/tmp
/usr/bin/pdflatex myfile.tex
дает такую же ошибку, как и и при выполнении из php. Видимо, проблема в Апаче.

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

Вам таки придётся прочитать документацию хоть чего-нибудь.

В будущем пытайтесь делать это до возникновения проблемы.

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

Вам таки придётся прочитать документацию хоть чего-нибудь.

Я надеялся, что здесь на форуме кто-то уже читал документацию Апача.

eugene8086 ()
Ответ на: комментарий от Evgueni

Там не в апаче проблема, а в пыхпыхе.

А т.к. я пыхпых терпеть ненавижу, то пусть уж сам разбирается, чего он там навертел...

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от eugene8086

Здесь нет провидцев, которые твои конфигурационные файлы удаленно могут прочитать.

Ты же САМ их писал — вот САМ их и читай!!!

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

Там не в апаче проблема, а в пыхпыхе.

Из башевского cgi, который Вы же мне посоветовали, такая же ошибка вылазит. При чем тут пхп?

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

Судя по той ошибке, башевский CGI вообще даже не запустился! Т.е. явно в насройках не указано, как обрабатывать CGI-файлы.

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