Проблема с русскими буквами в TeX

kasmalika

Ни одну из таких конструкций упорно не хочет "переваривать" . Как заставить?
label.top(btex $\text{жесткая зона}$ etex, (x,y;
(ошибка - command \textbrokenbar unavailable in encoding T2A)
label.top("жесткая зона", (x,y;
(ошибка -
Missing character: There is no ^^a6 in font cmr10!
Missing character: There is no ^^a5 in font cmr10!
Missing character: There is no ^^e1 in font cmr10!
Missing character: There is no ^^e2 in font cmr10!
Missing character: There is no ^^aa in font cmr10!
Missing character: There is no ^^a0 in font cmr10!
Missing character: There is no ^^ef in font cmr10!
Missing character: There is no ^^a7 in font cmr10!
Missing character: There is no ^^ae in font cmr10!
Missing character: There is no ^^ad in font cmr10!
Missing character: There is no ^^a0 in font cmr10!)
label.top(btex жесткая зона etex, (x,y;
(ошибка - тоже что предыдущий случай)
"Шапка" сдалана по факу:
verbatimtex
%&latex
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[cp1251]{inputenc}
\usepackage[russian]{babel}
\begin{document}
etex

Sanych

Во-первых, проверь, что файл в кодировке.
cp1251=ansi=win
На самом деле туплю, " a6 a5 e1 e2 " это ведь и есть " ж е с т " в DOS-кодировке. Так что переведи в win и будет тебе счастье.

kachokslava

Надежда, я же тебе сказал:
btex жёсткая зона etex
сорри в аську выйти не могу - инет кончился

kasmalika

Опечатки btex .. etex и [unicode] в теле головного сообщения исправила, спасибо, что заметил, это были просто опечатки, в проге правильно. Прошу прощения за небрежность :-(.
Я пишу в фаре, там внизу окна написано win.
log-файл для варианта label.top(btex жесткая зона etex, (10,20;
This is MetaPost, Version 0.901 (MiKTeX 2.4) (preloaded mem=plain 2006.4.27) 2 APR 2007 10:14
**vspomog.mp
(vspomog.mp
>> vspomog.mp
>> vspomog.mpx
! Unable to make mpx file.
l.18 label.top(btex
     ^^a6^^a5^^e1^^e2^^aa^^a0^^ef ^^a7^^ae^^ad^^a0 etex, (10,...
The two files given above are one of your source files
and an auxiliary file I need to read to find out what your
btex..etex blocks mean. If you don't know why I had trouble,
try running it manually through MPtoTeX, TeX, and DVItoMP
Текст mp-файла (vspomog.mp):
verbatimtex
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[cp1251]{inputenc}
\usepackage[russian]{babel}
\begin{document}
etex
\beginfig(1)
label.top(btex жесткая зона etex, (10,20;
\endfig;
\end;

kasmalika

я сразу же так и сделала - не работает :-(

kasmalika

Год назад при подготовки презентации и возникших проблемах пришлось в конце-концов переустанавливать TeX :-D, помнишь?
На всякий случай - при компиляции пишет:
This is e-TeX, Version 3.141592-2.2 (MiKTeX 2.4).

kachokslava

вот мой файл:

% +MP-ADDITIONAL-HEADER
verbatimtex
%&latex
\documentclass{article}
\usepackage[cp1251]{inputenc}
\usepackage[russian]{babel}
\begin{document}
etex
% -MP-ADDITIONAL-HEADER

beginfig(1)

path o,a,b,c;

u:=1cm;

o:=( 1.89 , 0.43 )..
( 1.40 , 1.09 )..
( 0.53 , 1.18 )..
( -0.31 , 1.57 )..
( -1.17 , 1.56 )..
( -1.85 , 0.65 )..
( -1.48 , -0.63 )..
( -0.17 , -1.12 )..
( 1.47 , -0.67 )..cycle;
a:=
%( -0.05 , 0.59 )..
( -0.15 , 0.93 )..
( -0.51 , 1.05 )..
( -0.86 , 0.84 )..
( -0.92 , 0.41 )..
( -0.41 , 0.21 )..
( 0.51 , 0.50 )..
%( 0.44 , -0.03 )..
%( 0.99 , -0.14 )..
%( 1.26 , 0.39 )..
%( 0.95 , 0.63 )..
cycle;

c:=
( -0.48 , -0.57 )..
( -0.69 , -0.48 )..
( -0.79 , -0.26 )..
( -0.78 , -0.08 )..
( -0.60 , -0.08 )..
( -0.50 , -0.23 )..
( -0.45 , -0.36 )..
( -0.28 , -0.38 )..
( -0.14 , -0.38 )..
( -0.09 , -0.46 )..
( -0.17 , -0.52 )..
( -0.33 , -0.54 )..cycle;


fill o scaled u withcolor 0.9white;
draw o scaled u;
fill a scaled u withcolor 0.8white;
draw a scaled u;

%draw b scaled u;

fill c scaled u withcolor 0.7white;
draw c scaled u;

%draw point 0 of (a scaled u) withpen pencircle scaled 2pt;
%draw point 0 of (b scaled u) withpen pencircle scaled 2pt;

drawarrow (-2,0)*u--(2.5,0)*u;
label.top(btex $x_2$ etex, (2.5,0)*u);

drawarrow (0,-1.7)*u--(0,2)*u;
label.rt(btex $x_1$ etex, (0,2)*u);

label.top(btex жёсткая зона etex, (1,1)*u);

endfig;

end;

вот результат:

версии:

This is MetaPost, Version 0.901 (MiKTeX 2.5) (preloaded mem=mpost 2007.3.12) 2 APR 2007 10:39

This is pdfeTeX, Version 3.141592-1.30.6-2.2 (MiKTeX 2.5) (preloaded format=pdflatex 2007.3.12) 2 APR 2007 10:39

$ latex --version
MiKTeX-pdfetex 2.5.2467 (1.30.6) (MiKTeX 2.5)
Copyright (C) 1982 D. E. Knuth, (C) 1996-2002 Han The Thanh
TeX is a trademark of the American Mathematical Society.

kasmalika

хм... т.е. мы снова склоняемся к мысли, что это всё мерзкие проги виноваты :-D, а не руки кривые :-)?

kachokslava

у тебя мой пример компилируется?
Прежде чем переустанавливать сломя голову — попробуй мой пример.

kasmalika

конечно нет :-(
кроме пресловутой жёсткой зоны (при компиляции останавливается и говорит то же самое что и в моём случае, но в log-файл почему-то не пишет) он ругается ещё на строчку
l.69 label.top(btex
$x_2$ etex, (2.5,0)*u);

kasmalika

ну для кого сломя голову, а кто-то уже второй день пытается своими кривыми ручками :-D заставить работать кривые проги :-D
в любом случае дистрибутив смогу скачать только по приезду в общагу :-)

kachokslava

у тебя инет платный?
просто если нет - качай последний дистрибутив с сайта миктеха.
один экзешник - setup.exe, устанавливай в минимальной конфигурации.
а дальше он тебе всё сам доустановит-докачает

kachokslava

А что пишет, какие ошибки?
более вразумительный фрагмент лог-файла можешь запостить?

kasmalika

Я сейчас дома, поэтому платный.
Вот тебе полный log-файл.
This is MetaPost, Version 0.901 (MiKTeX 2.4) (preloaded mem=plain 2006.4.27) 2 APR 2007 10:55
**basilio.mp
(basilio.mp
>> basilio.mp
>> basilio.mpx
! Unable to make mpx file.
l.69 label.top(btex
$x_2$ etex, (2.5,0)*u);
The two files given above are one of your source files
and an auxiliary file I need to read to find out what your
btex..etex blocks mean. If you don't know why I had trouble,
try running it manually through MPtoTeX, TeX, and DVItoMP

kachokslava

а попробовать то, что советуют - руками запустить
mpto -tex, [la]tex, dvitomp ?

kasmalika

а не умею

kachokslava

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

mpto -tex basilio.mp >basilio.tex

она тебе сделает теховский файл с надписями
файл в студию

latex basilio.tex

сделает dvi-шник. должен смотреться

dvitomp basilio.dvi bas_tmp.mp

сделает тебе обратно нужное файло.
этот должен быть идентичен texnum.mpx
после чего нужно ещё разок

mpost bas_tmp.mp

этот уже сделает рисунок.
если где-то посередине облом - нужно анализировать более тщательно
mpost --tex=latex запускаешь ?!

kasmalika

Английский текст я поняла, но не знала как это реализовать. Теперь знаю, спасибо :-).
Текст basilio.tex:
%&latex
\documentclass{article}
\usepackage[cp1251]{inputenc}
\usepackage[russian]{babel}
\begin{document}
%
\gdef\mpxshipout{\shipout\hbox\bgroup
\setbox0=\hbox\bgroup}
\gdef\stopmpxshipout{\egroup \dimen0=\ht0 \advance\dimen0\dp0
\dimen1=\ht0 \dimen2=\dp0
\setbox0=\hbox\bgroup
\box0
\ifnum\dimen0>0 \vrule width1sp height\dimen1 depth\dimen2
\else \vrule width1sp height1sp depth0sp\relax
\fi\egroup
\ht0=0pt \dp0=0pt \box0 \egroup}
\mpxshipout% line 69 basilio.mp
$x_2$\stopmpxshipout
\mpxshipout% line 72 basilio.mp
$x_1$\stopmpxshipout
\mpxshipout% line 74 basilio.mp
¦сбвЄ п §®­ \stopmpxshipout
\end{document}

kasmalika

Ааа! При создании dvi'шника (latex basilio.tex) выдала ошибку именно на "жёсткой зоне". Текст basilio.log ниже.
This is e-TeX, Version 3.141592-2.2 (MiKTeX 2.4) (preloaded format=latex 2006.4.27) 2 APR 2007 11:29
entering extended mode
**basilio.tex
(basilio.tex
LaTeX2e <2005/12/01>
Babel <v3.8g> and hyphenation patterns for english, dumylang, nohyphenation, ge
rman, ngerman, french, russian, loaded.
(C:\texmf\tex\latex\base\article.cls
Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
(C:\texmf\tex\latex\base\size10.clo
File: size10.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
)
\part=\count79
\section=\count80
\subsection=\count81
\subsubsection=\count82
\paragraph=\count83
\subparagraph=\count84
\figure=\count85
\table=\count86
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
) (C:\texmf\tex\latex\base\inputenc.sty
Package: inputenc 2006/03/04 v1.1b Input encoding file
\prehook=\toks14
\posthook=\toks15
(C:\texmf\tex\latex\cyrillic\cp1251.def
File: cp1251.def 1999/11/16 v1.0d Input encoding file
(C:\texmf\tex\generic\babel\babel.sty
Package: babel 2005/05/21 v3.8g The Babel package
(C:\texmf\tex\generic\babel\russianb.ldf
Language: russianb 2005/03/29 v1.1r Russian support from the babel system
(C:\texmf\tex\generic\babel\babel.def
File: babel.def 2005/05/21 v3.8g Babel common definitions
\savecnt=\count87
\D=\dimen103
) (C:\texmf\tex\latex\cyrillic\t2aenc.def
File: t2aenc.def 2005/09/27 v1.0i Cyrillic encoding definition file
)
Package babel Info: Making " an active character on input line 199.
No file basilio.aux.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for T2A/cmr/m/n on input line 5.
LaTeX Font Info: Try loading font information for T2A+cmr on input line 5.
(C:\texmf\tex\latex\cyrillic\t2acmr.fd
File: t2acmr.fd 2001/08/11 v1.0a Computer Modern Cyrillic font definitions
)
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <7> on input line 18.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 18.
[1] [1]
! LaTeX Error: Command \textbrokenbar unavailable in encoding T2A.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.22 ж
ёсткая зона\stopmpxshipout
?
LaTeX Font Info: Try loading font information for OMS+cmr on input line 22.
(C:\texmf\tex\latex\base\omscmr.fd
File: omscmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
)
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10> not available
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 22.
[1] (basilio.aux) )
Here is how much of TeX's memory you used:
1038 strings out of 95671
10795 string characters out of 1193154
59143 words of memory out of 1060224
4113 multiletter control sequences out of 60000
5247 words of font info for 16 fonts, out of 1000000 for 2000
198 hyphenation exceptions out of 4999
24i,7n,24p,206b,134s stack positions out of 5000i,500n,10000p,200000b,32768s
Output written on basilio.dvi (3 pages, 568 bytes).

kasmalika

mpost --tex=latex запускаешь ?!
да

Sanych

Не знаю, что пишет FAR, но в log-файле написано явным образом
^^a6^^a5^^e1^^e2
При этом
^^a6^^a5^^e1^^e2 это жест в DOS
В WIN было бы e6 e5 f1 f2
Учитывая, что пишет об этом уже metapost, получается как-то очень странно.
Прилагаю в форум архив с файлом в правильной кодировке, надеюсь поможет. Хотя теоретически допустимо, что перекодировка каким-то хитрым образом произошла раньше посылки сообщения в log-файл, но это не очень логично.

kachokslava

кодировка исходного basilio.mp файла какая?
>>

$x_1$\stopmpxshipout
\mpxshipout% line 74 basilio.mp
¦сбвЄ п §®­ \stopmpxshipout
\end{document}

Это ж явно перекодировано из DOS->WIN

Sanych

Это ж явно перекодировано из DOS->WIN
Ты хочешь сказать - DOS-файл, отображённый так, как надо показывать WIN-файлы? Да вот, меня тоже это всё смущает.
По теме: если уж совсем непонятно откуда берётся DOS, то может можно просто поменять строчку на

\usepackage[cp866]{inputenc}

и всё само заработает?

kasmalika

кодировка исходного basilio.mp файла какая?
win

kasmalika

Да, если так поменять, то mp-файл компилируется. Но TeX'овский файл в который подключается полученая картинка в win'овской кодировке, поэтому в результате на рисунке надпись получается в виде абракадабры.

kasmalika

Сначала у меня был DOS-файл, это было когда я тебе по аське писала, потом я сделала как ты сказал ctrl-del f8 ctrl-ins и файл стал в win-овской кодировке, теперь все файлы в виновской.

kasmalika

Итог - работает.
Кодировка всё-таки была DOS, а win это был просмотр в таком виде того, что на самом деле в DOS-кодировке.
Диагноз криворукости в очередной раз подтверждён .
Огромное спасибо и за помощь!

kasmalika

\usepackage[cp866]{inputenc}
и ведь действительно так тоже работает (как выяснилось)
Оставить комментарий
Имя или ник:
Комментарий: