0

我有下一个用 C# 编写的代码......它使用 utf-8 创建一个 tex 文件......问题是这似乎不是一个真正有效的 utf-8 文件,因为当我使用 pdflatex 时它没有t 识别带有重音符号的字符。有人知道编写真正的 UTF-8 文件的方法吗?当我使用 TexmakerX 创建具有相同乳胶代码的 utf8 文件时,pdflatex 不会抱怨,所以问题一定出在生成中。

                    StreamWriter writer = new StreamWriter("hello.tex", false, Encoding.UTF8);

        writer.Write(@"\documentclass{article}" + "\n" +
                     @"\usepackage[utf8]{inputenc}" + "\n" +
                    @"\usepackage[spanish]{babel}" + "\n" +
                        @"\usepackage{listings}" + "\n" +
                        @"\usepackage{fancyvrb}" + "\n" +
                        @"\begin{document}" + "\n" +
                        @"\title{asd}" + "\n" +
                        @"\maketitle" + "\n" +
                        @"\section{canción}" + "\n" +

                        @"canción" + "\n" +

                        @"\end{document}");
        writer.Close();
4

1 回答 1

3

这可能是缺少 Unicode 字节顺序标记 (BOM) 的问题。您可以使用自定义检查这一点UTF8Encoding

using (StreamWriter writer = 
    new StreamWriter("hello.tex", false, new UTF8Encoding(true, true)))
{

}
于 2010-06-14T23:03:53.373 回答