Gnuplot 输出编码

Gnuplot 输出编码

我有这个 gnuplot 脚本并且运行良好:

set term png
set output 'test.png'

plot sin(x) ti "Eñe"

注意标签中的“ñ”。这会生成一个图像,您可以读取“ñ”。现在我尝试将该术语更改为epslatex

set term epslatex color
set output 'test.tex'

plot sin(x) ti "Eñe"

运行 gnuplot,它会生成test.textest.eps。然后我有一个主文件:

% master.tex
\documentclass{report}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}

\begin{document}
\input{test.tex}
\end{document}

当我编译时master.tex(使用 texmaker 或从控制台使用 pdflatex),我收到错误。如果我test.tex使用 texmaker 打开,结果不是“eñe”,而是“Eñe”。但如果我用 gvim 打开,结果就是“ñ”。当我从 textmaker 修复它时,一切都正常了。

有一种我不想使用的解决方法:在 gnuplot 脚本中,我可以写“e\\~ne”而不是“eñe”。这可行,但我真的不想那样做。

我曾尝试在 gnuplot 脚本中使用,但没有set encoding成功utf8iso_8859_1

有任何想法吗?

答案1

如果你想做

set encoding iso_8859_1

在 Gnuplot 文件中,你必须确保它首先是 Latin-1 编码的。我使用 Emacs 进行了测试,添加了以下行

# -*- coding: latin-1 -*-

在开头,这是设置所需文件编码的咒语。其他编辑器有自己的方法。


我建议你为 LaTeX 文件切换到 UTF-8。事实证明,这个[utf8]选项inputenc非常强大,并且可以在需要时使用命令或包扩展已知字符(inputenc不为每个 Unicode 字符加载定义,因为这意味着定义大量无用的字体) 。\DeclareUnicodeCharacternewunicodechar

相关内容