LINUX.ORG.RU

Ошибка при компиляции pdf в LaTeX mode emacs

 ,


1

2

Перенес деб 10 на новый ПК, скопировав все конфиги и установив все пакеты.

locale -a
C
C.UTF-8
en_GB.utf8
en_US.utf8
POSIX
ru_RU.utf8
dpkg -l | awk '/texlive/ {print $2}'
texlive
texlive-base
texlive-binaries
texlive-fonts-extra
texlive-fonts-extra-links
texlive-fonts-recommended
texlive-lang-cyrillic
texlive-latex-base
texlive-latex-extra
texlive-latex-recommended
texlive-pictures
texlive-plain-generic

Создаю условный файл с названием «документ 2.tex» с содержимым

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}

\begin{document}
бла бла бла
\end{document}

При компиляции получаю ошибку

ERROR: Package inputenc Error: Unicode character д (U+0434)

В развернутом логе

Running `LaTeX' on `документ 2' with ``pdflatex  -file-line-error   -interaction=nonstopmode "\input" \"\д\о\к\у\м\е\н\т\ 2.tex\"''
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
LaTeX2e <2018-12-01>
(/usr/share/texlive/texmf-dist/tex/latex/tools/.tex File ignored)

! Package inputenc Error: Unicode character д (U+0434)
(inputenc)                not set up for use with LaTeX.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
<*> \input "д
              окумент 2.tex"

! Package inputenc Error: Unicode character о (U+043E)
(inputenc)                not set up for use with LaTeX.

На пк, с которого переносил, все компилится. Погуглил ошибки, но в решениях только ситуации, когда в самом тексте кириллица, а не в названии документа. ЧЯДНТ?

Ты сделал все, что от тебя зависит. А вот почему Debian с кириллицей херовничает - я не в курсе.

LOG FILE : This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Arch Linux) (preloaded format=pdflatex 2019.6.24) 23 JUL 2019 12:39 entering extended mode restricted \write18 enabled. %&-line parsing enabled. **a.tex (./a.tex LaTeX2e <2018-12-01> (/usr/share/texmf-dist/tex/latex/base/article.cls Document Class: article 2018/09/03 v1.4i Standard LaTeX document class (/usr/share/texmf-dist/tex/latex/base/size12.clo File: size12.clo 2018/09/03 v1.4i Standard LaTeX file (size option) ...

В Debian я тоже на эти грабли наступал, в конечном итоге с официального сайта texlive установил.

anonymous ()

Это выглядит как нежелательный побочный эффект того, что в TeXLive 2019 по умолчанию включен пакет inputenc с кодировкой utf8. В частности

pdflatex документ.tex
работает, а вот
pdflatex
...
**\input документ.tex
уже не работает.

В качестве обходного пути можно попробовать настроить Emacs, чтобы он запускал

pdflatex  -file-line-error -interaction=nonstopmode "документ 2.tex"
вместо того, что он запускает сейчас.

Но жизнь будет гораздо проще, если не использовать ничего, кроме латиницы в именах файлов и каталогов, и заодно не использовать в этих самых именах пробелы.

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

А ты попробуй не просто pdflatex а.tex («а» кириллическая), а прямо как у ТС pdflatex \\input а.tex. Если сработает, то починили, получается.

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

В какой-то момент у меня так и было, но потом появилась необходимость постоянного обмена файлами. Пусть даже нужно отправлять готовые pdf, постоянно переименовывать файлы перед отправкой то еще приключение.

По поводу использования

pdflatex "документ 2.tex"

подтверждаю, проблемы нет и все компилится, а так

pdflatex
**\input "документ 2.tex"

нет.

Yorween ()
Ответ на: комментарий от quantum-troll

Никогда не пользовался. Попробую, если он с emacs нормально работает.

Yorween ()

документ 2.tex

А ты не читал, что есть запрещенные символы для использования в именах файлов? Пробелы, слэши и обратные слеши и т.п. туда нельзя ни в коем случае! И кириллицу в имена файлов пхать тоже нельзя!

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

Только внутри файловой системы. А внутри файлов пиши себе на КОИ8 сколько влезет!

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

pdflatex \\input ф.tex This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live

2019/Arch Linux) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
LaTeX2e <2018-12-01>
(/usr/share/texmf-dist/tex/latex/tools/.tex File ignored)

! Package inputenc Error: Unicode character ф (U+0444)
(inputenc)                not set up for use with LaTeX.

See the inputenc package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
<*> \input ф
             .tex
? 

! LaTeX Error: Missing \begin{document}.

See the LaTeX manual or LaTeX Companion for explanation.

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

Надеюсь, это сарказм. На всякий случай, если это читают новички: в имена файлов можно пихать вообще любые байты кроме 0x00 и 0x2F. Кириллица в именах файлов точно может быть.

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

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

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

Почему? Если инструмент по какой-либо причине не умеет в не-ASCII имена файлов, то это проблемы в первую очередь инструмента и их надо репортить. На моей памяти проблем с кириллицей и прочим юникодом в именах файлов не возникало (вот этот случай – первый)

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

И что, find ~ | grep '[^\ -~]' | wc -l показывает 0? Ну тогда уважаю за то, что соответствуешь своим словам. Правда точку зрения по прежнему не поддерживаю.

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