---
source: crates/typlite/src/tests.rs
expression: "conv(world, ConvKind::LaTeX)"
input_file: crates/typlite/src/fixtures/integration/outline.typ
---
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
      /* Alignment */
      mtable.right-align mtd,
      mtable mtd.right-align,
      mtable.left-align mtd.right-align,
      mtable.aligned mtd:nth-child(odd) {
        justify-items: end;
        text-align: right;
      }
      mtable.cases mtd,
      mtable.left-align mtd,
      mtable mtd.left-align,
      mtable.aligned mtd:nth-child(even),
      math:is(:not([display])) > mtable.multiline-equation mtd {
        justify-items: start;
        text-align: left;
      }
      mtable.cases mtd,
      mtable.aligned mtd,
      mtable mtd.flushed,
      mtable mtd.left-flush {
        padding-left: 0;
      }
      mtable.cases mtd,
      mtable.aligned mtd,
      mtable mtd.flushed,
      mtable mtd.right-flush {
        padding-right: 0;
      }

      /* Tables */
      mtable {
        math-style: inherit;
      }
      mtd {
        math-depth: auto-add;
        math-style: compact;
        math-shift: compact;
      }

      /* Equations */
      mtable.multiline-equation mtd {
        math-depth: inherit;
        math-style: inherit;
        math-shift: inherit;
        padding: 0;
      }
      math > mtable.multiline-equation mtr:not(:last-child) mtd {
        padding-bottom: 0.5em;
      }

      /* Fractions */
      mfrac {
        padding-inline: 0;
        margin-inline: 0.1em;
      }

      /* Accents */
      mover[accent="true" i] > :first-child {
        font-feature-settings: "dtls";
      }
      mover.dotted[accent="true" i] > :first-child {
        font-feature-settings: "dtls" 0;
      }

      /* Other rules for scriptlevel, displaystyle and math-shift */
      munder > :nth-child(2),
      munderover > :nth-child(2) {
        math-shift: compact
      }
      munder[accentunder="true" i] > :not(:first-child),
      mover[accent="true" i] > :not(:first-child) {
        math-depth: inherit;
        math-style: inherit;
        math-shift: inherit;
      }
    </style>
  </head>
  <body><m1document><m1outline><nav role="doc-toc"><m1heading level="1"><span style="display: inline-block">Contents</span></m1heading><ol style="list-style-type: none"><li><div><m1outentry level="2"><m1heading level="2"><span style="display: inline-block">Heading 1</span></m1heading></m1outentry></div><ol style="list-style-type: none"><li><m1outentry level="3"><m1heading level="3"><span style="display: inline-block">Heading 2</span></m1heading></m1outentry></li></ol></li></ol></nav></m1outline><m1parbreak></m1parbreak><m1heading level="2"><span style="display: inline-block">Heading 1</span></m1heading><m1parbreak></m1parbreak><m1heading level="3"><span style="display: inline-block">Heading 2</span></m1heading><m1parbreak></m1parbreak><p><span><m1link dest="https://example.com">This is a link to example.com</m1link></span></p><m1parbreak></m1parbreak><p>Inline <span><m1raw lang block="false" text="code"><code>code</code></m1raw></span> has <span><m1raw lang block="false" text="back-ticks around"><code>back-ticks around</code></m1raw></span> it.</p><m1parbreak></m1parbreak><m1raw lang="cs" block="true" text="using System.IO.Compression;

#pragma warning disable 414, 3021

namespace MyApplication
{
    [Obsolete(&quot;...&quot;)]
    class Program : IInterface
    {
        public static List<int> JustDoIt(int count)
        {
            Console.WriteLine($&quot;Hello {Name}!&quot;);
            return new List<int>(new int[] { 1, 2, 3 })
        }
    }
}"><pre><code data-lang="cs"><span style="color: #d73948">using</span> System.IO.Compression;

<span style="color: #d73948">#</span><span style="color: #d73948">pragma</span> <span style="color: #d73948">warning</span> <span style="color: #d73948">disable</span> 414, 3021

<span style="color: #d73948">namespace</span> <span style="color: #4b69c6">MyApplication</span>
{
    <span style="color: #301414">[</span><span style="color: #301414">Obsolete</span><span style="color: #301414">(</span><span style="color: #198810">"</span><span style="color: #198810">...</span><span style="color: #198810">"</span><span style="color: #301414">)</span><span style="color: #301414">]</span>
    <span style="color: #d73948">class</span> <span style="color: #4b69c6">Program</span> : <span style="color: #8b41b1">IInterface</span>
    {
        <span style="color: #d73948">public</span> <span style="color: #d73948">static</span> <span style="color: #4b69c6">List</span>&lt;<span style="color: #d73948">int</span>> <span style="color: #4b69c6">JustDoIt</span>(<span style="color: #d73948">int</span> count)
        {
            Console.<span style="color: #4b69c6">WriteLine</span>(<span style="color: #198810">$"</span><span style="color: #198810">Hello </span>{Name}<span style="color: #198810">!</span><span style="color: #198810">"</span>);
            <span style="color: #d73948">return</span> <span style="color: #d73948">new</span> <span style="color: #4b69c6">List</span>&lt;<span style="color: #d73948">int</span>>(<span style="color: #d73948">new</span> <span style="color: #d73948">int</span>[] { <span style="color: #b60157">1</span>, <span style="color: #b60157">2</span>, <span style="color: #b60157">3</span> })
        }
    }
}</code></pre></m1raw><m1parbreak></m1parbreak><p>Math inline:</p><m1eqinline>redacted-frame</m1eqinline><p>and block:</p><m1eqblock>redacted-frame</m1eqblock><m1parbreak></m1parbreak><ul><li>First item</li><li><p>Second item</p><ol><li>First sub-item</li><li><p>Second sub-item</p><ul><li>First sub-sub-item</li></ul></li></ol></li></ul><m1parbreak></m1parbreak><dl><dt>First term</dt><dd>First definition</dd></dl><m1parbreak></m1parbreak><m1table><table><tr><td>0</td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td></tr></table></m1table></m1document></body>
</html>

=====
\section{Contents}

\begin{enumerate}
\item \subsection{Heading 1}

\begin{enumerate}
\item \subsubsection{Heading 2}


\end{enumerate}


\end{enumerate}



\subsection{Heading 1}

\subsubsection{Heading 2}

\href{https://example.com}{This is a link to example.com}

Inline \texttt{code} has \texttt{back-ticks around} it.

\begin{lstlisting}[language=cs]
using System.IO.Compression;

#pragma warning disable 414, 3021

namespace MyApplication
{
    [Obsolete("...")]
    class Program : IInterface
    {
        public static List<int> JustDoIt(int count)
        {
            Console.WriteLine($"Hello {Name}!");
            return new List<int>(new int[] { 1, 2, 3 })
        }
    }
}
\end{lstlisting}

Math inline:

and block:

\begin{center}
\end{center}

\begin{itemize}
\item First item
\item Second item

\begin{enumerate}
\item First sub-item
\item Second sub-item

\begin{itemize}
\item First sub-sub-item
\end{itemize}


\end{enumerate}


\end{itemize}

First termFirst definition

\begin{table}[htbp]
\centering
\begin{tabular}{cccccccccccccccccccc}
\hline
0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 \\
\hline
\hline
\end{tabular}
\end{table}
