Question

Je suis curieux de savoir si un natif .NET renderer pour existe TeX / LaTeX. Le match le plus proche, je suis en mesure de trouver est une implémentation de Java, JMathTeX . Je suis tenté de porter ce à C #, mais avant de le faire, je voudrais simplement vérifier si quelqu'un est au courant d'une implémentation .NET là.

Mes pensées actuelles sont à utiliser MikTeX avec dvipng pour compiler la source de TeX et de rendre le DVI généré au format PNG, mais je me inquiète encore cela peut entraîner un montant inacceptable des frais généraux, sans parler de la nécessité de regrouper MikTeX avec le programme donné.

Était-ce utile?

La solution

Si je ne me trompe pas, TeX est écrit dans un dialecte de Pascal, et quand compilé aujourd'hui, il est généralement d'abord compilé en C standard, puis compilé avec un compilateur C pour produire le binaire final. Il pourrait être possible de compiler le code à la place Pascal originale en C # et peut-être écrire un wrapper autour d'elle en C # pour pouvoir l'utiliser comme une bibliothèque.

Bien sûr, c'est un projet assez grand pour prendre et est probablement excessif pour votre problème à la main.

Autres conseils

Une implémentation C pure # de latex par verybadcat.

  

Ceci est un port C # du moteur merveilleux iosMath LATEX.

     

Il travaille maintenant dans la plupart des cas. Quelques exemples sont ci-dessous. ironie du sort   assez, la première extrémité avant est iOS. Toutefois, si vous voulez ajouter un   extrémité avant, comme Xamarin.Forms ou un environnement Windows, il devrait   être possible. Vous devez définir votre propre TypesettingContext et   écrire une implémentation de IGraphicsContext. Le TypesettingContext en   tour a plusieurs composants, y compris le choix d'une police. J'espère toi   aurait pas besoin de toucher le noyau moteur de photocomposition. (Si vous le faites, je   considérerait qu'un bug.)

exemple CSharpMath

Ceci est très en retard, mais je pensais que je poste un lien vers un port relancé et élargi du WPF-Math projet , que je commencé peu de temps après cette question d'origine, et encore aider à maintenir une capacité mineure. Il était à l'origine un port de JMathTex , mais a depuis élargi pour inclure beaucoup plus. À l'heure actuelle, il est en train de gagner équarrisseurs autres que WPF.

utilisez ce code !!!

        const string latex = @"\frac{2+2}{2}";
        const string fileName = @"formula.png";

        File.Open(fileName, FileMode.OpenOrCreate).Close();

        var parser = new WpfMath.TexFormulaParser();
        var formula = parser.Parse(latex);
        var renderer = formula.GetRenderer(WpfMath.TexStyle.Display, 20.0, "Arial");
        var bitmapSource = renderer.RenderToBitmap(0, 0);

        var encoder = new System.Windows.Media.Imaging.PngBitmapEncoder();
        encoder.Frames.Add(System.Windows.Media.Imaging.BitmapFrame.Create(bitmapSource));
        using (var target = new FileStream(fileName, FileMode.Create))
        {
            encoder.Save(target);
        }

        pictureBox2.Image = Image.FromFile(fileName);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top