utf8编码问题C#,编写tex文件,并用pdflatex编译

时间:2010-06-14 22:55:03

标签: c# utf-8 pdflatex

我有下一个用C#编写的代码....它使用utf-8创建一个tex文件.....问题是看起来不是真正有效的utf-8文件因为,当我使用pdflatex时它无法识别带重音的字符。有人知道写一个真正的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();

1 个答案:

答案 0 :(得分:3)

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

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

}