在C#中编译.tex文件

时间:2015-05-26 17:56:26

标签: c# batch-file pdf-generation latex pdflatex

我正在创建一个.bat文件来编译.tex文件到pdf,当我直接运行它.bat文件它工作正常,但当我在c#中运行它时错误“pdflatex:invalid argument”appers

static void ExecuteCommand()
{
    Process p1 = new Process();
    p1.StartInfo.FileName = @"c:\users\miguelangel\documents\visual studio 2013\Projects\PruebaLatex\PruebaLatex\batch.bat";
    p1.StartInfo.Arguments =@"c:\users\miguelangel\documents\visual studio 2013\Projects\PruebaLatex\PruebaLatex\prueba.tex"; 
    p1.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
    p1.StartInfo.RedirectStandardOutput = true;
    p1.StartInfo.UseShellExecute = false;
    try
    {
        p1.Start();

    }
    catch (Exception e)
    { 
        Console.WriteLine(e); 
    }           
}

请帮助我:(,我不知道还能做什么,这是.bat文件

pdflatex prueba.tex 

暂停

1 个答案:

答案 0 :(得分:2)

由于目录名中有空格,因此需要将它们用引号括起来

p1.StartInfo.FileName = @"\"c:\users\miguelangel\documents\visual studio 2013\Projects\PruebaLatex\PruebaLatex\batch.bat\"";
p1.StartInfo.Arguments =@"\"c:\users\miguelangel\documents\visual studio 2013\Projects\PruebaLatex\PruebaLatex\prueba.tex\""; 

或者在运行之前将工作目录更改为 c:\ users \ miguelangel \ documents \ visual studio 2013 \ Projects \ PruebaLatex \ PruebaLatex