コード例 #1
0
        protected override void Write(LatexRenderer renderer, EmphasisInline obj)
        {
            string tag = GetTag(obj);

            renderer.Write(tag).Write('{');
            renderer.WriteChildren(obj);
            renderer.Write('}');
        }
コード例 #2
0
ファイル: QuoteBlockRenderer.cs プロジェクト: mode777/markdig
        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}");
        }
コード例 #3
0
        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(">")*/;
            }
        }
コード例 #4
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("}");
            }
        }
コード例 #5
0
ファイル: ListRenderer.cs プロジェクト: mode777/markdig
        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}");
        }
コード例 #6
0
 protected override void Write(LatexRenderer renderer, DelimiterInline obj)
 {
     renderer.WriteEscape(obj.ToLiteral());
     renderer.WriteChildren(obj);
 }