Skip to content

Instantly share code, notes, and snippets.

@tavimori
Last active April 6, 2022 15:57
Show Gist options
  • Save tavimori/49dfbaa837b296a91a5fe1260a5f1e94 to your computer and use it in GitHub Desktop.
Save tavimori/49dfbaa837b296a91a5fe1260a5f1e94 to your computer and use it in GitHub Desktop.
将latex题目渲染到blackboard上

步骤一

在BB编辑框中选择HTML源代码模式,首先粘贴如下代码1,导入MathJax渲染组件:

<p>
<script type="text/javascript" async="" src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML"></script>
</p>

步骤二

使用https://pandoc.org/try/,选择从 LaTeX 到 HTML5 转换,复制LaTeX源码到左侧框中,点击转换,将转换生成的HTML复制到步骤一的代码后(保持在HTML源码模式)保存。

如果LaTeX中有\tf标记答案和空位,可以在LaTeX源码前面加上以下内容以替换掉答案并正确显示横线:

\newcommand{\tf}[1][{}]{
  \underline{\quad\quad}
}

如果有其他的MathJax不兼容的Macro也可以添加到LaTeX header中,用pandoc来替换掉。例如我最终使用的:

\newcommand{\tf}[1][{}]{
  \underline{\quad\quad}
}

\newcommand{\bold}[1]{{\mathbf #1}}

\newcommand{\cx}{\mathbf{x}}

\newcommand{\cv}[1]{{\mathbf #1}}
\newcommand{\B}{{\mathcal B}}
\newcommand{\R}{{\mathbb R}}
\newcommand{\Null}{\mathrm{Null}}
\newcommand{\Span}{\mathrm{Span}}
\newcommand{\bzero}{\mathbf 0}
\newcommand{\Col}{\mathrm{Col}}
\newcommand{\inner}[2]{\left\langle #1, #2\right\rangle}
\newcommand{\vs}[1]{\mathcal{#1}}
\newcommand{\tr}{\mathrm{tr}}
\newcommand{\rank}{\mathrm{rank}}
\newcommand{\tp}{\mathrm{T}}
\newcommand{\diff}{\mathrm{d}}
\newcommand{\col}{\mathrm{Col}}
\newcommand{\row}{\mathrm{Row}}
\newcommand{\nspace}{\mathrm{Null}}

步骤三

如果是选择题或判断题,在选项、判断输入框中不需要进行步骤一,直接进入HTML模式进行步骤二即可。(因为选项只会和题干在同一个网页中出现,而MathJax在同一网页中只需要引入一次。)

匹配正确
[Tt].*
匹配错误
[Ff].*

Footnotes

  1. 上文提到的版本使用了字节跳动的CDN,如果只面向境外用户,也可以用国际上更通用的 Cloudflare CDN 来加载 MathJax。相应的代码如下:

      <p>
      <script type="text/javascript" async="" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-MML-AM_CHTML"></script>
      </p>
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment