Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
utf8编码问题C#,编写tex文件,并使用pdflatex编译_C#_Utf 8_Pdflatex - Fatal编程技术网

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

utf8编码问题C#,编写tex文件,并使用pdflatex编译,c#,utf-8,pdflatex,C#,Utf 8,Pdflatex,我用C#编写了下一个代码……它使用utf-8创建了一个tex文件……问题是,它似乎不是真正有效的utf-8文件,因为当我使用pdflatex时,它无法识别带有重音的字符。有人知道如何编写真正的UTF-8文件吗?当我使用TexmakerX创建具有相同latex代码的utf8文件时,pdflatex不会抱怨,因此问题一定是在生成过程中 StreamWriter writer = new StreamWriter("hello.tex", false, Enco

我用C#编写了下一个代码……它使用utf-8创建了一个tex文件……问题是,它似乎不是真正有效的utf-8文件,因为当我使用pdflatex时,它无法识别带有重音的字符。有人知道如何编写真正的UTF-8文件吗?当我使用TexmakerX创建具有相同latex代码的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();

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


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

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

}