Jupyter Notebook使用特定数学符号时Markdown表格排版错位问题
排版错位原因
- 大部分支持LaTeX公式渲染的Markdown渲染器(比如Stack Exchange所用的渲染器)会分两步处理内容:首先解析Markdown语法并计算表格列宽,再调用MathJax/KaTeX渲染LaTeX公式。
- 计算表格列宽时,渲染器会把公式代码当作普通纯文本统计长度,以此为依据给每列分配初始宽度。
- 当公式为
$F^{\text{bar}} $时,渲染后的公式实际宽度和初始预估的纯文本宽度差不大,初始分配的列宽足够容纳,所以排版正常。 - 当公式为
$FOO^{\text{bar}} $时,多了两个字母的底数让最终渲染出的公式实际宽度远大于初始预估的纯文本宽度,内容超出列宽限制,挤压相邻列空间,最终出现排版错位。
对应解决方法
- 可以在表格分隔行明确指定列对齐方式,强制渲染器给对应列分配更多弹性宽度,示例如下:
| Symbol | Description | | :-- | :-- | | $FOO^{\text{bar}} $ | foo |
- 也可以直接给公式外层套上
\displaystyle标记,让渲染器提前识别到公式的尺寸需求,预留足够宽度。
内容的提问来源于stack exchange,提问作者Christian
相关产品推荐
相关产品推荐

