在C#/WPF应用程序中创建LaTeX文档

在C#/WPF应用程序中创建LaTeX文档,c#,wpf,latex,pdflatex,C#,Wpf,Latex,Pdflatex,有没有人曾经使用LaTeX在C#/WPF应用程序中创建过.pdf文档?我们正在创建报告并将其显示在屏幕上,我们已经研究了如何使用HTML和LaTeX创建报告。HTML选项很简单,但是在C#中创建一个LaTeX文档似乎并不简单,我个人觉得有点奇怪;我想人们以前做过很多次。有人知道要查看的LaTeX库或其他方法吗?我不知道有任何LaTeX库,正如您所说,这样做似乎并不琐碎,我也觉得有点奇怪。我总是使用TeXnic Center IDE自己编写文档,我发现它非常有用 您可以尝试使用StreamWrit

有没有人曾经使用LaTeX在C#/WPF应用程序中创建过.pdf文档?我们正在创建报告并将其显示在屏幕上,我们已经研究了如何使用HTML和LaTeX创建报告。HTML选项很简单,但是在C#中创建一个LaTeX文档似乎并不简单,我个人觉得有点奇怪;我想人们以前做过很多次。有人知道要查看的LaTeX库或其他方法吗?

我不知道有任何LaTeX库,正如您所说,这样做似乎并不琐碎,我也觉得有点奇怪。我总是使用TeXnic Center IDE自己编写文档,我发现它非常有用

您可以尝试使用StreamWriter将文档的源代码写入文件,然后通过代码中的命令提示符运行新的pdflatex进程,将文档编译为pdf

除此之外,我还偶然发现了一个C#的开源pdf生成库列表,这里可能值得一看(不幸的是,我认为其中没有一个是用于LaTeX的):

iTextSharp似乎被很多人推荐,所以它可能值得一看。希望其他人能够向您推荐LaTeX库,但如果他们不能,并且通过您的代码将pdflatex作为一个进程运行是不可行的,那么至少这些可以为您提供一个不错的选择

希望这能有所帮助。

我一直在研究iosMath乳胶库的C#port。在我写这篇文章时,它在大多数情况下都会产生良好的结果。我正在做剩下的

此C#库“KaTeX Sharp Runner”可以解析标记文本中的原始LaTeX字符串或表达式。它包装了KaTeX JavaScript库,以便使用Jint在.NET应用程序中使用

我用C#构建Latex文本,然后用带有pdfLatex.exe的Process.Start()进行编译。 我构建了一些例程,以便更容易(并且不容易出错)以这种方式构建方程和参数表

length   2.3 m
mass    45.5 kg 
如果没有这些例程,只需要C#-写一个等式,作为一个长的乳胶字符串,加上它所有的逗号,(卷曲的)大括号等等。这简直是地狱

我的程序中的国际化方程式如下所示:

Equation
 (
   "equation_name_in_Swahili",
      new List<string[]>{
      new[] {$"F_{{{Str("cable")}}}", null}, eq,
      new[] {"\\sqrt", "\\sqrt"},
      curl1,
      new[] {"(", "("},
      new[] {$"F_{{{ltxGrav},X}}", $"{Fg * Math.Cos(Ag):G5}"},
      plus,
      new[] {$"F_{{{ltxWind},X}}", $"{Fw * Math.Cos(Aw):G5}"},
      new[] {")", ")"},
      new[] {"^2", "^2"},
      plus,
      new[] {$"F_{{{ltxGrav},Y}}^2", $"{Fg * Math.Sin(Ag):G5}^2"},
      plus,
      new[] {$"F_{{{ltxWind},Z}}^2", $"{Fw * Math.Cos(Aw):G5}^2"},
      curl2
  }
)
方程
(
“斯瓦希里语中的方程式名称”,
新名单{
新[]{$“F_{{{{Str(“电缆”)}}}}”,空},等式,
新[]{“\\sqrt”,“\\sqrt”},
第一,,
新[]{“(”,“(”},
新[]{$“F{{ltxGrav},X}},$”{Fg*Math.Cos(Ag):G5},
加上,
新[]{$“F{{ltxWind},X},$”{Fw*Math.Cos(Aw):G5},
新[]{“,””)},
新[]{“^2”,“^2”},
加上,
新[]{$“F{{ltxGrav},Y}}^2”,$“{Fg*Math.Sin(Ag):G5}^2},
加上,
新的[]{$“F{{{ltxWind},Z}^2”,$“{Fw*Math.Cos(Aw):G5}^2”,
卷发2
}
)

第一列是具有正式参数名称的方程式,第二列相同,但具有值。您可以猜测“加号”和“点”的作用。

您计划实际标记TeX文档还是同时进行处理以生成pdf?您所说的“非琐碎”是什么意思?创建文本格式的LaTeX文档并不比创建HTML文档更困难。使用LaTeX处理器从输出生成PDF非常简单。因此,请澄清您在哪些步骤上有问题。我不确定如何继续,这是“使用乳胶处理器”部分。我对完全使用乳胶相当陌生。我曾在一两篇论文中使用过它,但我是在IDE中使用的,所以对“编译和创建PDF”部分几乎没有经验。我知道创建文件的实际文本当然和生成HTML文件一样简单,但我不确定在应用程序本身(“在后台”)中创建PDF文档需要什么。我在每台客户端计算机上都安装了完整版本的MikTeX 2.8,动态生成.tex源代码,然后调用编译器两次以获得良好的度量。这需要几秒钟,这是芬尼基,但对我的目的有效,虽然它可能不适用于你。