protected override void Write(LatexRenderer renderer, AutolinkInline obj)
        {
            if (renderer.EnableLatexForInline)
            {
                renderer.Write("<a href=\"");
                if (obj.IsEmail)
                {
                    renderer.Write("mailto:");
                }
                renderer.Write(obj.Url);
                renderer.WriteAttributes(obj);

                if (!obj.IsEmail && AutoRelNoFollow)
                {
                    renderer.Write(" rel=\"nofollow\"");
                }

                renderer.Write("\">");
            }

            renderer.WriteEscape(obj.Url);

            if (renderer.EnableLatexForInline)
            {
                renderer.Write("</a>");
            }
        }
Exemple #2
0
 protected override void Write(LatexRenderer renderer, HtmlInline obj)
 {
     if (renderer.EnableLatexForInline)
     {
         renderer.Write(obj.Tag);
     }
 }
 /// <summary>
 /// Creates the summary report.
 /// </summary>
 /// <param name="summaryResult">The summary result.</param>
 public override void CreateSummaryReport(SummaryResult summaryResult)
 {
     using (var renderer = new LatexRenderer())
     {
         this.CreateSummaryReport(renderer, summaryResult);
     }
 }
Exemple #4
0
 /// <summary>
 /// Creates the summary report.
 /// </summary>
 /// <param name="summaryResult">The summary result.</param>
 public override void CreateSummaryReport(SummaryResult summaryResult)
 {
     using (var renderer = new LatexRenderer())
     {
         this.CreateSummaryReport(renderer, summaryResult);
     }
 }
 protected override void Write(LatexRenderer renderer, MathBlock obj)
 {
     renderer.EnsureLine();
     renderer.WriteLine("\\begin{equation*}");
     renderer.WriteLeafRawLines(obj, true, false);
     renderer.WriteLine("\\end{equation*}").WriteLine();
 }
 protected override void Write(LatexRenderer renderer, LineBreakInline obj)
 {
     if (RenderAsHardlineBreak)
     {
         renderer.WriteLine("\\newline");
     }
 }
        protected override void Write(LatexRenderer renderer, EmphasisInline obj)
        {
            string tag = GetTag(obj);

            renderer.Write(tag).Write('{');
            renderer.WriteChildren(obj);
            renderer.Write('}');
        }
Exemple #8
0
        protected override void Write(LatexRenderer renderer, HeadingBlock obj)
        {
            var headingText = obj.Level > 0 && obj.Level <= HeadingTexts.Length
                ? HeadingTexts[obj.Level - 1]
                : obj.Level.ToString(CultureInfo.InvariantCulture);

            renderer.Write("\n\\").Write(headingText) /*.WriteAttributes(obj)*/.Write("{");
            renderer.WriteLeafInline(obj);
            renderer.Write("}\n") /*.Write(headingText).WriteLine(">")*/;
        }
        protected override void Write(LatexRenderer renderer, QuoteBlock obj)
        {
            renderer.EnsureLine();
            renderer.Write(@"\begin{quote}") /*.WriteAttributes(obj).WriteLine(">")*/;
            var savedImplicitParagraph = renderer.ImplicitParagraph;

            renderer.ImplicitParagraph = false;
            renderer.WriteChildren(obj);
            renderer.ImplicitParagraph = savedImplicitParagraph;
            renderer.WriteLine(@"\end{quote}");
        }
Exemple #10
0
 protected override void Write(LatexRenderer renderer, CodeInline obj)
 {
     if (renderer.EnableLatexForInline)
     {
         renderer.Write("\\verb|") /*.WriteAttributes(obj).Write(">")*/;
     }
     renderer.WriteEscape(obj.Content);
     if (renderer.EnableLatexForInline)
     {
         renderer.Write("|");
     }
 }
        protected override void Write(LatexRenderer renderer, LinkInline link)
        {
            var finalLink = (link.GetDynamicUrl != null ? link.GetDynamicUrl() ?? link.Url : link.Url) ?? "";

            if (link.IsImage)
            {
                renderer.Write("\\includegraphics{").Write(finalLink).Write("}");
            }
            else
            {
                renderer.Write("\\texttt{").WriteEscape(finalLink).Write("}");
            }
        }
        protected override void Write(LatexRenderer renderer, EmphasisInline obj)
        {
            string tag = null;

            if (renderer.EnableLatexForInline)
            {
                tag = GetTag(obj);
                renderer.Write(@"\").Write(tag) /*.WriteAttributes(obj)*/.Write("{");
            }
            renderer.WriteChildren(obj);
            if (renderer.EnableLatexForInline)
            {
                renderer.Write("}");
                //renderer.Write(@"\").Write(tag)/*.Write(">")*/;
            }
        }
Exemple #13
0
 protected override void Write(LatexRenderer renderer, ParagraphBlock obj)
 {
     if (!renderer.ImplicitParagraph)
     {
         if (!renderer.IsFirstInContainer)
         {
             renderer.EnsureLine();
         }
         //renderer.Write("\n")/*.WriteAttributes(obj).Write(">")*/;
     }
     renderer.WriteLeafInline(obj);
     if (!renderer.ImplicitParagraph)
     {
         renderer.Write("\n");
         //renderer.WriteLine("</p>");
     }
 }
 protected override void Write(LatexRenderer renderer, LineBreakInline obj)
 {
     if (renderer.EnableLatexForInline)
     {
         if (obj.IsHard || RenderAsHardlineBreak)
         {
             renderer.WriteLine(@"\\");
         }
         else
         {
             renderer.WriteLine();
         }
     }
     else
     {
         renderer.Write(" ");
     }
 }
Exemple #15
0
        //public bool IsCitation { get; set; }

        protected override void Write(LatexRenderer renderer, LinkInline link)
        {
            if (link.IsImage)
            {
                var descFrags = GetImgDesc(link).Split(':');
                var linkFrags = link.Url.Split(':');

                var id   = descFrags[0];
                var desc = descFrags.Length > 1 ? descFrags[1] : string.Empty;
                var path = linkFrags[0];
                var size = linkFrags.Length > 1 ? linkFrags[1] : "0.5";

                renderer.Write("\\begin{figure}\n    \\centering\n    \\includegraphics[width=");
                renderer.Write(size);
                renderer.Write("\\textwidth]{");
                renderer.Write(path);
                renderer.Write("}\n    \\caption{\\label{");
                renderer.Write(id);
                renderer.Write("}");
                renderer.Write(desc);
                renderer.Write("}\n\\end{figure}");
            }
            else
            {
                bool isCitation = false;

                if (link.Url.StartsWith("c:"))
                {
                    isCitation = true;
                    link.Url   = link.Url.Substring(2);
                }

                renderer.Write(isCitation ? @"\cite[" : @"\ref");
                if (isCitation)
                {
                    renderer.WriteChildren(link);
                }
                renderer.Write(isCitation ? "]{" : "{");
                renderer.Write(link.Url);
                renderer.Write("}");
            }
        }
Exemple #16
0
        protected override void Write(LatexRenderer renderer, ListBlock listBlock)
        {
            renderer.EnsureLine();
            if (listBlock.IsOrdered)
            {
                renderer.Write("\\begin{enumerate}\n");
                //if (listBlock.BulletType != '1')
                //{
                //    renderer.Write(" type=\"").Write(listBlock.BulletType).Write("\"");
                //}

                //if (listBlock.OrderedStart != null && (listBlock.OrderedStart != "1"))
                //{
                //    renderer.Write(" start=\"").Write(listBlock.OrderedStart).Write("\"");
                //}
                //renderer.WriteAttributes(listBlock);
                //renderer.WriteLine(">");
            }
            else
            {
                renderer.Write("\\begin{itemize}\n");
                //renderer.WriteAttributes(listBlock);
                //renderer.WriteLine(">");
            }
            foreach (var item in listBlock)
            {
                var listItem         = (ListItemBlock)item;
                var previousImplicit = renderer.ImplicitParagraph;
                renderer.ImplicitParagraph = !listBlock.IsLoose;

                //renderer.EnsureLine();
                renderer.Write(@"    \item ") /*.WriteAttributes(listItem).Write("]")*/;
                renderer.WriteChildren(listItem);
                renderer.WriteLine();

                renderer.ImplicitParagraph = previousImplicit;
            }
            renderer.WriteLine(listBlock.IsOrdered ? "\\end{enumerate}" : "\\end{itemize}");
        }
 protected override void Write(LatexRenderer renderer, MathInline obj)
 {
     renderer.Write('$');
     renderer.Write(ref obj.Content);
     renderer.Write('$');
 }
Exemple #18
0
 protected override void Write(LatexRenderer renderer, HtmlEntityInline obj)
 {
     renderer.WriteEscape(obj.Transcoded);
 }
Exemple #19
0
 protected override void Write(LatexRenderer renderer, HtmlBlock obj)
 {
     renderer.WriteLeafRawLines(obj, true, false);
 }
Exemple #20
0
 protected override void Write(LatexRenderer renderer, DelimiterInline obj)
 {
     renderer.WriteEscape(obj.ToLiteral());
     renderer.WriteChildren(obj);
 }
 protected override void Write(LatexRenderer renderer, ThematicBreakBlock obj)
 {
     renderer.Write(@"\noindent\rule{\paperwidth}{0.4pt}") /*.WriteAttributes(obj).WriteLine(" />")*/;
 }
 protected override void Write(LatexRenderer renderer, HtmlInline obj)
 {
 }
Exemple #23
0
 protected override void Write(LatexRenderer renderer, AutolinkInline obj)
 {
     renderer.Write("\\texttt{");
     renderer.WriteEscape(obj.Url);
     renderer.Write("}");
 }
 protected override void Write(LatexRenderer renderer, CodeInline obj)
 {
     renderer.Write("\\texttt{");
     renderer.WriteEscape(obj.Content);
     renderer.Write("}");
 }
 protected override void Write(LatexRenderer renderer, LiteralInline obj)
 {
     renderer.WriteEscape(ref obj.Content);
 }
Exemple #26
0
        protected override void Write(LatexRenderer renderer, CodeBlock obj)
        {
            renderer.EnsureLine();
            var fencedCodeBlock = obj as FencedCodeBlock;

            if (fencedCodeBlock != null)
            {
                var info     = fencedCodeBlock.Info ?? string.Empty;
                var langFrag = info.Split(':');

                var language = langFrag[0];
                var label    = langFrag.Length > 1 ? langFrag[1] : null;
                var caption  = langFrag.Length > 2 ? langFrag[2] : null;

                var hasOptions = false;

                renderer.Write("\\begin{lstlisting}[");
                if (!String.IsNullOrEmpty(language))
                {
                    renderer.Write("language=");
                    renderer.Write(language);
                    hasOptions = true;
                }
                if (label != null)
                {
                    if (hasOptions)
                    {
                        renderer.Write(",");
                    }
                    renderer.Write("label=");
                    renderer.Write(label);
                    hasOptions = true;
                }
                if (caption != null)
                {
                    if (hasOptions)
                    {
                        renderer.Write(",");
                    }
                    renderer.Write("caption=");
                    renderer.Write(caption);
                }
                renderer.Write("]\n");

                renderer.WriteLeafRawLines(obj, true, true, true);

                renderer.Write("\\end{lstlisting}");
            }

            //if (fencedCodeBlock?.Info != null && BlocksAsDiv.Contains(fencedCodeBlock.Info))
            //{
            //    var infoPrefix = (obj.Parser as FencedCodeBlockParser)?.InfoPrefix ??
            //                     FencedCodeBlockParser.DefaultInfoPrefix;

            //    // We are replacing the HTML attribute `language-mylang` by `mylang` only for a div block
            //    // NOTE that we are allocating a closure here
            //    renderer.Write("<div")
            //        .WriteAttributes(obj.TryGetAttributes(),
            //            cls => cls.StartsWith(infoPrefix) ? cls.Substring(infoPrefix.Length) : cls)
            //        .Write(">");
            //    renderer.WriteLeafRawLines(obj, true, true, true);
            //    renderer.WriteLine("</div>");

            //}
            //else
            //{
            //    renderer.Write("<pre");
            //    if (OutputAttributesOnPre)
            //    {
            //        renderer.WriteAttributes(obj);
            //    }
            //    renderer.Write("><code");
            //    if (!OutputAttributesOnPre)
            //    {
            //        renderer.WriteAttributes(obj);
            //    }
            //    renderer.Write(">");
            //    renderer.WriteLeafRawLines(obj, true, true);
            //    renderer.WriteLine("</code></pre>");
            //}
        }