0%

Markdown 文章中的交叉引用(利用锚点)

参考文章在带有数学公式的markdown文档里的交叉引用实现。

这篇文章作为案例,实现公式的交叉引用。

更多阅读: * 在带有数学公式的markdown文档里的交叉引用 * $\LaTeX$在MathJax中的命令 * MathJax 与 Katex 在公式对齐、编号、交叉引用方面的不同 * Markdown杂记

注意:这里渲染$\LaTeX$的引擎需要为MathJax,之前还真没注意过这个区别。MathJax支持公式引用,但必须自己手动标号。我觉得应该是因为交叉引用会使实时渲染产生问题。但是可以静态渲染,然后再检查,麻烦了一点。希望这个问题能够解决吧。

使用cassId方案

添加锚点

行间公式

编号为1

1
$$\cssId{1}{\overline{v}}:\overline{S}\to\{F,T\}$$
渲染为: $$ \cssId{1}{\overline{v}}:\overline{S}\to\{F,T\} $$

接下来加入环境,编号为3

1
2
3
$$\begin{align}
\cssId{3}{\overline{v}}:\overline{S}\to\{F,T\}
\end{align}$$
渲染为:

$$\begin{align} \cssId{3}{\overline{v}}:\overline{S}\to\{F,T\} \end{align}$$

行内公式

编号为3

1
这是一段没有意义的废话$\cssId{2}{\overline{v}}:\overline{S}\to\{F,T\}$
渲染为:

例如这样的行内公式$\cssId{2}{\overline{v}}:\overline{S}\to\{F,T\}$

引用锚点

公式中的引用:

1
\href{ #1}{\overline{v}}=F(x)
通过替换#之后的标签引用,而且前面要有空格。

以下为渲染之后的例子: $$\href{ #1}{\overline{v}}=F(x)$$ $$\href{ #2}{\overline{v}}=F(x)$$ $$\href{ #3}{\overline{v}}=F(x)$$

使用mathjax方案

编号为test

1
2
3
4
$$\begin{align}
a\neq& b \label{test} \\
c\neq& b \label{test2} \\
\end{align}$$
渲染为: $$\begin{align} a\neq& b \label{test} \\ c\neq& b \label{test2} \\ \end{align}$$

通过$\eqref{test}$引用$\eqref{test}$,或者通过$\ref{test2}$引用公式$\ref{test2}$

用HTML插入方案

使用<span id="anchor_name"/>来建立锚点,例如:

<span id="anchor_name"/>这篇文章作为案例,实现公式的交叉引用。

使用相对地址引用锚点:

1
[点击这里](#anchor_name)

点击这里

Hexo官方方案

目前跑通一个,给出下属链接:

连接到之前的一个文章 Git: Git Note

1
{% post_link CS/git/git %}