С латинницей все OK, а по нашенскому не желает ;( Посмотрел в gnuplot help (цитата - ниже) - там вообще не упоминаются кириллические code pages. Что же делать?gnuplot> help set encoding
The `set encoding` command selects a character encoding. Valid values are
`default`, which tells a terminal to use its default; `iso_8859_1` (known in
the PostScript world as `ISO-Latin1`), which is used on many Unix workstations
and with MS-Windows; `cp850`, for OS/2; and `cp437`, for MS-DOS.Syntax:
set encoding {<value>}
show encodingNote that encoding is not supported by all terminal drivers and that
the device must be able to produce the desired non-standard characters.gnuplot>
Русские PostScript шрифты есть (в koi-8)?
IMHO, если картинки потом в TeX вставлять, то
gnuplot+pstricks проще будет использовать.
Он сам все подставит и, кроме того,
текстовые метки могут быть намного сложнее, чем это
сам gnuplot позволяет делать.
>Русские PostScript шрифты есть (в koi-8)?Не знаю.Я же написал, что я чайник ;)
Только мне сдается, что мои редакторы (в Linux RH9) по умолчанию набирают все в utf8.>IMHO, если картинки потом в TeX вставлять
Это тоже нужно. Но прежде всего, я собирался генерить графические файлики с тем, чтобы выдавать их вместе с html страничкой с помощью cgi. Поэтому спрашивал, как можно настроить gnuplot для выдачи графиков с кириллической разметкой. Само качество gnuplot меня вполне устраивает. Неужели в этой программе не предусмотрено подключение кириллических шрифтов?
>gnuplot+pstricks проще будет использовать.
>Он сам все подставит и, кроме того,
>текстовые метки могут быть намного сложнее, чем это
>сам gnuplot позволяет делать.А можно про это поподробнее? Где можно посмотреть хорошее описание такого метода?
>А можно про это поподробнее? Где можно посмотреть хорошее описание такого метода?
По невнимательности, ввел в заблуждение :)
Не pstricks, а psfrag, разумеется.
С этим на самом деле все просто и выполняется одной
командой в латехе. Сначала генерируете PostScript,
Название осей, метки делаете примерно так:
<...>
set terminal postscript eps
set output "test.eps"
set xlabel "xlabel"
plot f(...) title "sometitle"
<...>Далее в преамбуле латеховского документа подключаете psfrag.
А _перед_ включении test.eps в (La)TeX делаете примерно следующее:
<...>
\psfrag{xlabel}[l][l]{$\frac{1}{T}$, K}
\psfrag{sometitle}[l][l]{что-то другое любым шрифтом/начертанием/модой}
\includegraphics{test.eps}
<...>Тут, в общем-то, все понятно. Строка xlabel подменяется psfrag'ом
на что пожелаете. Дополнительные опции включают выравнивание метки.
Да, метод работает хорошо, но, если не ошибаюсь, в .dvi файле xdvi
такую подмену не понимает (и не обязан, ибо это постскрипт). А в
постскрипте, если выгнать .dvi в него dvips'ом, все ОК. Документация к
psfrag написана достаточно понятно.Про русификацию самого гнуплота к сожалению, ничего сказать не могу.
У меня почему-то работает и с постскриптом :)) Хотя, тут нужно мудрить
уже не столько с гнуплотом, сколько с самой осью. Гнуплот без всякого
перекодирования строчку текста сбрасывет в файл.
Для начала, может, попробовать сначала исходник (или .ps) перекодировать
в koi8-r чем-то типа
iconv -t koi8-r test.gpl > test-koi8.gpl
А потом посмотреть, как ghostscript ругаться будет?
Собственно, надо ему (ghostscript'у) будет потом только шрифты подставить
и конфиг подправить.
>Для начала, может, попробовать сначала исходник (или .ps) перекодировать
>в koi8-r чем-то типа
>iconv -t koi8-r test.gpl > test-koi8.gplПросто у меня (в стандартном дистрибутиве Linux RH9) стоял не самый новый gnuplot - он не поддерживал "set encoding koi8r", после того, как я его подновил с 3.7 до 4.0 все заработало. Похоже, авторы gnuplot совсем недавно добавили поддержку koi8r (на сайте у них она откомментирована как "популярная кириллическая кодировка"). А другие кириллицы не поддерживаются gnuplot совсем. В настоящий момент о поддержке кодировок в gnuplot написано следующее:
gnuplot> help set encoding
The `set encoding` command selects a character encoding.
Syntax:
set encoding {<value>}
show encodingValid values are
default - tells a terminal to use its default encoding
iso_8859_1 - the most common Western European font used by many
Unix workstations and by MS-Windows. This encoding is
known in the PostScript world as 'ISO-Latin1'.
iso_8859_2 - used in Central and Eastern Europe
iso_8859_15 - a variant of iso_8859_1 that includes the Euro symbol
cp850 - codepage for OS/2
cp852 - codepage for OS/2
cp437 - codepage for MS-DOS
koi8r - popular Unix cyrillic encodingGenerally you must set the encoding before setting the terminal type.
Note that encoding is not supported by all terminal drivers and that
the device must be able to produce the desired non-standard characters.
The PostScript and X11 terminals support all encodings. OS/2 Presentation
Manager switches automatically to codepage 912 for `iso_8859_2`.
>gnuplot> help set encoding
> The `set encoding` command selects a character encoding.
> Syntax:
> set encoding {<value>}
> show encodingСтранно, у меня в собранном из портов (FreeBSD) 4-м gnuplot'е
ничего про koi8-r не сказано :((
Но, повторяю, работает и так, без указания кодировки:
он русскую строчку без лишних слов в постскрипт пропихивает
в исходной же кодировке, а там уж -- проблемы интерпретатора
постскрипта.А с psfrag'ом, IMHO, удобнее, все-таки, в латехе. постскрипт-терминал
гнуплота сложные формулы делать не позволяет. Простые -- дроби
там, корни, интегралы и т.д. -- да.
>Русские PostScript шрифты есть (в koi-8)?
>IMHO, если картинки потом в TeX вставлять, то
>gnuplot+pstricks проще будет использовать.
>Он сам все подставит и, кроме того,
>текстовые метки могут быть намного сложнее, чем это
>сам gnuplot позволяет делать.
В 4-ой версии прикрутили поддержку koi8-r,
хотя оно и без этого работало.
Смотрите help new в gnuplot.
Затем help encoding
>В 4-ой версии прикрутили поддержку koi8-r,
>хотя оно и без этого работало.
>Смотрите help new в gnuplot.
>Затем help encodingУ меня в 3.7 не работало - ругалось на отсутствеие koi8r и предлагало выбрать одну из нескольких других кодировок в ответ на "set encoding koi8r". Возможно, у вас была исправленная версия. Ну, или я с той версией что-то не доделал.