在c# /WPF应用中创建LaTeX文档

本文关键字:创建 LaTeX 文档 应用 WPF | 更新日期: 2023-09-27 17:52:55

有没有人用LaTeX在他们的c#/WPF应用程序中创建过。pdf文档?我们正在创建报告并将其显示到屏幕上,我们已经研究了使用HTML和LaTeX创建报告。HTML选项很简单,但在c#中创建LaTeX文档似乎不太简单,我个人觉得有点奇怪;我想人们以前已经做过很多次了。有人知道有什么LaTeX库可以参考或者其他方法吗?

在c# /WPF应用中创建LaTeX文档

我一直致力于iosMath LaTeX库的c#移植。在我写这篇文章的时候,它在大多数情况下产生了良好的结果。我正在处理剩下的。

https://github.com/verybadcat/CSharpMath/tree/master

我不知道任何LaTeX库,就像你说的,这样做似乎并不微不足道,我也觉得有点奇怪。我总是自己用TeXnic Center IDE编写文档,我发现它非常有用。

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

除此之外,我确实偶然发现了一个c#的开源pdf生成库列表,可能值得在这里看一看(不幸的是,我认为它们中没有一个是针对LaTeX的):

http://en.csharp-online.net/Open_Source_PDF_Libraries

iTextSharp似乎被很多人推荐,所以它可能值得一看。希望其他人能给你指出一个LaTeX库,但如果他们不能,并且在你的代码中运行pdflatex作为一个进程是不可行的,那么至少这些可能会给你一个不错的选择。

这个c#库'KaTeX Sharp Runner'可以解析标记文本中的原始LaTeX字符串或表达式。它包装了KaTeX JavaScript库,以便在使用Jint的。net应用程序中使用。

https://github.com/appsoftwareltd/katex-sharp-runner

我在c#中构建Latex文本,然后使用Process.Start()与pdfLatex.exe进行编译。我构建了一些例程,以便更容易(也更不容易出错)以

的样式构建方程和参数表
length   2.3 m
mass    45.5 kg 

如果没有这些例程,只使用c#——将方程写成一个带有逗号、(花括号)等的长Latex字符串简直是地狱。

我的程序中一个可国际化的方程是这样的:

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
  }
)

第一列是具有形式参数名称的方程,第二列是相同的,但具有值。你可以猜到"+"answers"点"是做什么的。