我有这个 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.tex
和test.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
成功utf8
。iso_8859_1
有任何想法吗?
答案1
如果你想做
set encoding iso_8859_1
在 Gnuplot 文件中,你必须确保它首先是 Latin-1 编码的。我使用 Emacs 进行了测试,添加了以下行
# -*- coding: latin-1 -*-
在开头,这是设置所需文件编码的咒语。其他编辑器有自己的方法。
我建议你为 LaTeX 文件切换到 UTF-8。事实证明,这个[utf8]
选项inputenc
非常强大,并且可以在需要时使用命令或包扩展已知字符(inputenc
不为每个 Unicode 字符加载定义,因为这意味着定义大量无用的字体) 。\DeclareUnicodeCharacter
newunicodechar