以前、をMarkdown記法で使う方法についての記事を書いた:
この中で、pre要素を使うというHackをしたわけだけど、1つ問題があった。
それは、Markdown記法の```
を使うと、pre要素内のの数式が正しく出なくなる場合がある、というもの。
回避策として、pre要素を使っての数式を書く場合、記事中では```
を使わずに、preタグを直接HTMLで書くという方法があったのだけど、シンタックスハイライトが使えなくなるというデメリットもあった。
ただ、調べてみると解決策があったので、紹介したい。
解決策
解決策は、pre要素の代わりにdiv要素を使うというシンプルなもの。
情報源は、この記事:
実際、pre要素の代わりにdiv要素を試してみると、問題なく使えた。
pre要素を使えば余計なパースが走らないんじゃないかなと思って使ったんだけど、単にdiv要素でも問題なかったのか・・・
例えば、Markdownで
<div style="text-align: center"> [tex: { \begin{align} \mathrm{min.} & \left| C_a X_a - C_b X_b \right| \\ \mathrm{sub. to\ } & X_a + X_b \le 100 \\ & X_a \ge 0 \\ & X_b \ge 0 \end{align} }] </div>
と書けば、
と表示される。
(※div要素のstyle属性は、中央寄せするためのもの)
そして、シンタックスハイライトも、以下の通り問題なし:
#include <stdio.h> int main(int argc, char* argv[]) { printf("Hello, World!\n"); return 0; }
上記のコードはMarkdown記法の```
を使って書いてるんだけど、その後ろでも、
のように、確かに問題なくが使えてる。
なお、上記の記事はそれ以外にもいろいろ細かいTipsが書かれてるので、オススメ。
今日はここまで!