正在使用Jekyll解析Mathjax

正在使用Jekyll解析Mathjax,jekyll,mathjax,Jekyll,Mathjax,我一直在尝试让MathJax使用Jekyll正确渲染 我已经尝试了几个解析器(常规的,kramdown和red地毯),但似乎没有一个能满足我的需求。我还尝试了这里提到的所有解决方案: 问题是我用规则写下了一些方程式。我使用纯html创建了一个最小的工作示例,以确保我的代码实际上是有效的。你可以在这里看到: 我只想在我的jekyll生成的网站上显示准确的代码(好吧,一旦它工作了,我会修改它) 但是,解析器正在通读mathjax,并抱怨没有关闭液体标记: Configuration file: /U

我一直在尝试让MathJax使用Jekyll正确渲染

我已经尝试了几个解析器(常规的,
kramdown
red地毯
),但似乎没有一个能满足我的需求。我还尝试了这里提到的所有解决方案:

问题是我用规则写下了一些方程式。我使用纯html创建了一个最小的工作示例,以确保我的代码实际上是有效的。你可以在这里看到:

我只想在我的jekyll生成的网站上显示准确的代码(好吧,一旦它工作了,我会修改它)

但是,解析器正在通读mathjax,并抱怨没有关闭液体标记:

Configuration file: /Users/m1dnight/vcs/cdetroye.github.io/_config.yml
            Source: /Users/m1dnight/vcs/cdetroye.github.io
       Destination: /Users/m1dnight/vcs/cdetroye.github.io/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
  Liquid Exception: Liquid syntax error: Variable '{{#1}' was not properly terminated with regexp: /\}\}/ in /Users/m1dnight/vcs/cdetroye.github.io/_posts/2015-11-11-stlc.md
jekyll 3.0.1 | Error:  Liquid syntax error: Variable '{{#1}' was not properly terminated with regexp: /\}\}/
除了上面提到的解决方案之外,我还尝试将代码放入
{%raw%}
标记中,这只是呈现了实际的mathjax代码,其中包括一些

我尝试的另一个解决方案是我找到的这个插件,但同样没有用

我试图呈现的完整帖子如下所示。小心,它相当长

---
layout: post
title: Work goddamnit
---

Foo bar bar


    <div>
    $$
    \newcommand{\lolli}{\multimap}
    \newcommand{\tensor}{\otimes}
    \newcommand{\with}{\&}
    \newcommand{\all}[2]{\forall {#1}.\;{#2}}
    \newcommand{\fix}[2]{\mu {#1}.\;{#2}}

    \newcommand{\letv}[3]{\mathsf{let}\,{#1} = {#2}\;\mathsf{in}\;{#3}}

    \newcommand{\Fun}[2]{\Lambda {#1}.\;{#2}}
    \newcommand{\fun}[2]{\lambda {#1}.\;{#2}}

    \newcommand{\unit}{\left(\right)}
    \newcommand{\letunit}[2]{\letv{\unit}{#1}{#2}}
    \newcommand{\pair}[2]{\left({#1},{#2}\right)}
    \newcommand{\letpair}[4]{\letv{\pair{#1}{#2}}{#3}{#4}}
    \newcommand{\unita}{\left[\right]}
    \newcommand{\paira}[2]{\left[{#1}, {#2}\right]}
    \newcommand{\fst}[1]{\mathsf{fst}\,{#1}}
    \newcommand{\snd}[1]{\mathsf{snd}\,{#1}}
    \newcommand{\inl}[1]{\mathsf{inl}\,{#1}}
    \newcommand{\inr}[1]{\mathsf{inr}\,{#1}}
    \newcommand{\case}[5]{\mathsf{case}({#1}, \inl{#2} \to {#3}, \inr{#4} \to {#5})}
    \newcommand{\abort}[1]{\mathsf{abort}\,{#1}}
    \newcommand{\fold}[1]{\mathsf{in}\,{#1}}
    \newcommand{\unfold}[1]{\mathsf{out}\,{#1}}

    \newcommand{\judge}[4]{{#1};{#2} \vdash {#3} : {#4}}
    \newcommand{\judgetp}[2]{{#1} \vdash {#2} : \mathsf{type}}
    \newcommand{\judgectx}[2]{{#1} \vdash {#2} : \mathsf{ctx}}

    %% Rule names

    \newcommand{\rulename}[3]{{#2}{\mathrm{#3}}_{\mathrm{#1}}}
    \newcommand{\intro}[2][]{\rulename{#1}{#2}{I}}
    \newcommand{\elim}[2][]{\rulename{#1}{#2}{E}}

    \newcommand{\Var}{\rulename{}{}{Var}}
    \newcommand{\AllI}{\intro{\forall}}
    \newcommand{\AllE}{\elim{\forall}}
    \newcommand{\LolliI}{\intro{\lolli}}
    \newcommand{\LolliE}{\elim{\lolli}}
    \newcommand{\UnitI}{\intro{1}}
    \newcommand{\UnitE}{\elim{1}}
    \newcommand{\TensorI}{\intro{\tensor}}
    \newcommand{\TensorE}{\elim{\tensor}}
    \newcommand{\TopI}{\intro{\top}}
    \newcommand{\TopE}{\elim{\top}}
    \newcommand{\WithI}{\intro{\with}}
    \newcommand{\WithEFst}{\elim[fst]{\with}}
    \newcommand{\WithESnd}{\elim[snd]{\with}}
    \newcommand{\ZeroI}{\intro{0}}
    \newcommand{\ZeroE}{\elim{0}}
    \newcommand{\SumIInl}{\intro[inl]{\oplus}}
    \newcommand{\SumIInr}{\intro[inr]{\oplus}}
    \newcommand{\SumE}{\elim{\oplus}}

    \newcommand{\MuI}{\intro{\mu}}
    \newcommand{\MuE}{\elim{\mu}}

    \newcommand{\size}[1]{\left|#1\right|}
    \newcommand{\inferrule}[3][]{\frac{#2}{#3}\;{#1}}
    $$
    $$
    \boxed{\judge{\Delta}{\Gamma}{e}{A}}
    \\
    \inferrule[\Var]
              { }
              {\judge{\Delta}{x:A}{x}{A}}
    \\
    \begin{array}{cc}
    \inferrule[\AllI]
              {\judge{\Delta, \alpha}{\Gamma}{e}{A}}
              {\judge{\Delta}{\Gamma}{\Fun{\alpha}{e}}{\all{\alpha}{A}}}
    & 
    \inferrule[\AllE]
              {\judge{\Delta}{\Gamma}{e}{\all{\alpha}{B}} \\
               \judgetp{\Delta}{A}}
              {\judge{\Delta}{\Gamma}{e\;A}{[A/\alpha]B}}
    \\[2em]
    \inferrule[\LolliI]
              {\judge{\Delta}{\Gamma, x:A}{e}{B}}
              {\judge{\Delta}{\Gamma}{\fun{x:A}{e}}{A \to B}}
    & 
    \inferrule[\LolliE]
              {\judge{\Delta}{\Gamma}{e}{A \to B} \\
               \judge{\Delta}{\Gamma'}{e'}{A}}
              {\judge{\Delta}{\Gamma,\Gamma'}{e\;e'}{B}}
    \\[2em]
    \inferrule[\UnitI]
              { }
              {\judge{\Delta}{\cdot}{\unit}{1}}
    &
    \inferrule[\UnitE]
              {\judge{\Delta}{\Gamma}{e}{1} \\
               \judge{\Delta}{\Gamma'}{e'}{C}}
              {\judge{\Delta}{\Gamma,\Gamma'}{\letunit{e}{e'}}{C}}
    \\[2em]
    \inferrule[\TensorI]
              {\judge{\Delta}{\Gamma}{e}{A} \\
               \judge{\Delta}{\Gamma'}{e'}{B} }
              {\judge{\Delta}{\Gamma,\Gamma'}{\pair{e}{e'}}{A \tensor B}}
    &
    \inferrule[\TensorE]
              {\judge{\Delta}{\Gamma}{e}{A \tensor B} \\\\
               \judge{\Delta}{\Gamma', x:A, y:B}{e'}{C}}
              {\judge{\Delta}{\Gamma,\Gamma'}{\letpair{x}{y}{e}{e'}}{C}}
    \\[2em]
    \inferrule[\TopI]
              { }
              {\judge{\Delta}{\Gamma}{\unita}{\top}}
    &
    \\[1em]
    \inferrule[\WithI]
              {\judge{\Delta}{\Gamma}{e}{A} \\
               \judge{\Delta}{\Gamma}{e'}{B} }
              {\judge{\Delta}{\Gamma}{\paira{e}{e'}}{A \with B}}
    &
    \begin{array}{l}
    \inferrule[\WithEFst]
              {\judge{\Delta}{\Gamma}{e}{A \with B}}
              {\judge{\Delta}{\Gamma}{\fst{e}}{A}}
    \\[1em]
    \inferrule[\WithESnd]
              {\judge{\Delta}{\Gamma}{e}{A \with B}}
              {\judge{\Delta}{\Gamma}{\snd{e}}{B}}
    \end{array}
    \\[3em]
    \begin{array}{l}
    \inferrule[\SumIInl]
              {\judge{\Delta}{\Gamma}{e}{A }}
              {\judge{\Delta}{\Gamma}{\inl{e}}{A \oplus B}}
    \\[1em]
    \inferrule[\SumIInr]
              {\judge{\Delta}{\Gamma}{e}{ B}}
              {\judge{\Delta}{\Gamma}{\inr{e}}{A \oplus B}}
    \end{array}
    &
    \begin{array}{l}
    \inferrule[\SumE]
              {\judge{\Delta}{\Gamma}{e}{A \oplus B} \\\\
               \judge{\Delta}{\Gamma', x:A}{e'}{C} \\\\
               \judge{\Delta}{\Gamma', y:B}{e''}{C} }
              {\judge{\Delta}{\Gamma, \Gamma'}{\case{e}{x}{e'}{y}{e''}}{C}}
    \end{array}
    \\[3em]
    &
    \inferrule[\ZeroE]
              {\judge{\Delta}{\Gamma}{e}{0}}
              {\judge{\Delta}{\Gamma}{\abort{e}}{C}}
    \end{array}
    $$
    $$a^2 + b^2 = c^2$$
    $$
      \begin{array}{lcl}
        (\Fun{\alpha}{e})\;A                    & \mapsto & [A/\alpha]e  \\ 
        (\fun{x:A}{e})\;e'                      & \mapsto & [e'/x]e \\ 
        \letv{\unit}{\unit}{e'}                 & \mapsto & e' \\
        \letv{\pair{x}{y}}{\pair{e_1}{e_2}}{e'} & \mapsto & [e_1/x, e_2/y]e' \\ 
        \fst{\paira{e}{e'}}                     & \mapsto & e \\
        \snd{\paira{e}{e'}}                     & \mapsto & e' \\
        \case{\inl{e}}{x}{e'}{y}{e''}           & \mapsto & [e/x]e' \\ 
        \case{\inr{e}}{x}{e'}{y}{e''}           & \mapsto & [e/y]e'' \\ 
      \end{array}
    $$</div>

The end.
---
布局:邮政
标题:该死的工作
---
福巴酒吧
$$
\新命令{\lolli}{\multimap}
\新命令{\tensor}{\otimes}
\新命令{\with}{\&}
\纽科曼语{\all}[2]{\forall{1}.\{2}
\纽科曼{\fix}[2]{\mu{1}.\{2}
\纽科曼语{\letv}[3]{\mathsf{let}\,{1}={2}\\mathsf{in}\{3}
\纽科曼{\Fun}[2]{\Lambda{1}.\{2}
\纽科曼{\fun}[2]{\lambda{1}.\{2}
\新命令{\unit}{\left(\right)}
\纽科曼{\letunit}[2]{\letv{\unit}{{1}{2}
\新命令{\pair}[2]{\left({1},{2}\right)}
\纽科曼语{\letpair}[4]{\letv{\pair{{1}{{2}}{{3}{4}
\纽科曼{\unita}{\left[\right]}
\纽科曼语{\paira}[2]{\left[{\1},{\2}\right]}
\新命令{\fst}[1]{\mathsf{fst}\,{1}
\纽科曼{\snd}[1]{\mathsf{snd}\,{1}
\纽科曼语{\inl}[1]{\mathsf{inl}\,{1}
\新命令{\inr}[1]{\mathsf{inr}\,{1}
\纽科曼语{\case}[5]{\mathsf{case}({1}、{2}到{3}、{4}到{5}
\新命令{\abort}[1]{\mathsf{abort}\,{1}
\纽科曼{\fold}[1]{\mathsf{in}\,{1}
\新命令{\unfold}[1]{\mathsf{out}\,{1}
\纽科曼{\judge}[4]{{{1};{2}\vdash{3}:{4}
\新命令{\judgetp}[2]{{{1}\vdash{2}:\mathsf{type}
\新命令{\DejustictX}[2]{{{1}\vdash{2}:\mathsf{ctx}
%%规则名称
\纽科曼语{\rulename}[3]{{{2}{\mathrm{3}}{\mathrm{1}}
\纽科曼语{\intro}[2][{\rulename{{1}{{2}{I}
\纽科曼{\elim}[2][{\rulename{{1}{{2}{E}
\新命令{\Var}{\rulename{}{}{}{Var}}
\新命令{\AllI}{\intro{\forall}
\纽科曼{\AllE}{\elim{\forall}
\新命令{\LolliI}{\intro{\lolli}
\纽科曼{\LolliE}{\elim{\lolli}
\新命令{\UnitI}{\intro{1}
\纽科曼{\UnitE}{\elim{1}
\新命令{\TensorI}{\intro{\tensor}
\纽科曼{\TensorE}{\elim{\tensor}
\新命令{\TopI}{\intro{\top}
\纽科曼{\TopE}{\elim{\top}
\新命令{\WithI}{\intro{\with}
\新命令{\WithEFst}{\elim[fst]{\with}
\新命令{\WithESnd}{\elim[snd]{\withs}
\新命令{\ZeroI}{\intro{0}
\纽科曼{\zerole}{\elim{0}
\新命令{\SumIInl}{\intro[inl]{\oplus}
\新命令{\SumIInr}{\intro[inr]{\oplus}
\纽科曼{\SumE}{\elim{\oplus}
\纽科曼语{\MuI}{\intro{\mu}
\纽科曼{\MuE}{\elim{\mu}
\纽科曼{\size}[1]{\left |#1\right |}
\纽科曼语{\inferrule}[3][]{\frac{2}{3}\{1}
$$
$$
\盒式{\judge{\Delta}{\Gamma}{e}{A}
\\
\推断规则[\Var]
{ }
{\judge{\Delta}{x:A}{x}{A}
\\
\开始{array}{cc}
\推断规则[\AllI]
{\judge{\Delta\alpha}{\Gamma}{e}{A}}
{\judge{\Delta}{\Gamma}{\Fun{\alpha}{e}}{\all{\alpha}{A}}
& 
\推理规则[\AllE]
{\judge{\Delta}{\Gamma}{e}{\all{\alpha}{B}\\
\判断p{\Delta}{A}
{\judge{\Delta}{\Gamma}{e\;A}{[A/\alpha]B}
\\[2em]
\推断规则[\LolliI]
{\judge{\Delta}{\Gamma,x:A}{e}{B}
{\judge{\Delta}{\Gamma}{\fun{x:A}{e}{A\to B}
& 
\推理规则[\LolliE]
{\judge{\Delta}{\Gamma}{e}{A\to B}\\
\法官{\Delta}{\Gamma'}{e'}{A}
{\judge{\Delta}{\Gamma\Gamma'}{e\;e'}{B}
\\[2em]
\推理规则[\UnitI]
{ }
{\judge{\Delta}{\cdot}{\unit}{1}}
&
\推理规则[\UnitE]
{\judge{\Delta}{\Gamma}{e}{1}\\
\法官{\Delta}{\Gamma'}{e'}{C}
{\judge{\Delta}{\Gamma\Gamma'}{\letunit{e}{e'}}{C}
\\[2em]
\推断规则[\TensorI]
{\judge{\Delta}{\Gamma}{e}{A}\\
\法官{\Delta}{\Gamma'}{e'}{B}
{\judge{\Delta}{\Gamma\Gamma'}{\pair{e}{e'}}{A\tensor B}
&
\推理规则[\TensorE]
{\judge{\Delta}{\Gamma}{e}{A\tensor B}\\\\
\法官{\Delta}{\Gamma',x:A,y:B}{e'}{C}
{\judge{\Delta}{\Gamma\Gamma'}{\letpair{x}{y}{e}{e'}}{C}
\\[2em]
\推理规则[\TopI]
{ }
{\judge{\Delta}{\Gamma}{\unita}{\top}
&
\\[1em]
\推断规则[\WithI]
{\judge{\Delta}{\Gamma}{e}{A}\\
\法官{\Delta}{\Gamma}{e'}{B}
{\judge{\Delta}{\Gamma}{\paira{e}{e'}}{A\with B}
&
\开始{array}{l}
\推断规则[\WithEFst]
{\judge{\Delta}{\Gamma}{e}{A\with B}
{\judge{\Delta}{\Gamma}{\fst{e}}{A}
\\[1em]
\推断规则[\WithESnd]
{\judge{\Delta}{\Gamma}{e}{A\with B}
{\judge{\Delta}{\Gamma}{\snd{e}}{B}
\结束{array}
\\[3em]
\开始{array}{l}
\推断规则[\SumIInl]
{\judge{\Delta}{\Gamma}{e}{A}
{\judge{\Delta}{\Gamma}{\inl{e}{A\oplus B}
\\[1em]
\推断规则[\SumIInr]
{\judge{\Delta}{\Gamma}{e}{B}
{\judge{\Delta}{\Gamma}{\inr{e}}{A\
<div class="highlighter-rouge"><pre class="highlight"><code>
Your code here
</code></pre></div>
{% raw %}{::nomarkdown}
    <div>
    $$
    \newcommand{\lolli}{\multimap}
    \newcommand{\tensor}{\otimes}
    ... More mathjax here
    $$
    </div>
{:/}{% endraw %}