gpt4 book ai didi

latex - Markdown:如何通过编号(如 LaTeX 的\ref/\label)引用编号列表中的项目?

转载 作者:行者123 更新时间:2023-12-04 11:18:50 25 4
gpt4 key购买 nike

在 Markdown 中有什么方法可以在此 LaTeX 片段中进行等效的交叉引用? (取自 here。)

\begin{enumerate}
\item \label{itm:first} This is a numbered item
\item Another numbered item \label{itm:second}
\item \label{itm:third} Same as \ref{itm:first}
\end{enumerate}
Cross-referencing items \ref{itm:second} and \ref{itm:third}.

这个 LaTeX 产生
1. This is a numbered item
2. This is another numbered item
3. Same as 1

Cross-referencing items 2 and 3.

也就是说,我希望能够在不显式编号的情况下引用 Markdown 列表中的项目,以便我可以将上面的列表更改为以下内容,而无需手动更新交叉引用:
1. This is the very first item
2. This is a numbered item
3. This is another numbered item
4. Same as 2

Cross-referencing items 3 and 4.

最佳答案

HTML 甚至不能做到这一点,而 Markdown 是 HTML 的一个子集,所以答案是否定的。
例如,您的列表将如下表示(当由 Markdown 呈现时):

<ol>
<li>This is a numbered item</li>
<li>This is another numbered item</li>
<li>Same as 1</li>
</ol>
请注意,就编号而言,没有指示哪个项目是哪个项目。这都是浏览器在渲染时推断出来的。但是,数字值不存储在文档中,并且不可引用或链接。它们仅用于展示,没有其他用途。
现在您可以编写一些自定义 HTML 来唯一标识每个列表项并使其可引用:
<ol>
<li id="item1">This is a numbered item</li>
<li id="item2">This is another numbered item</li>
<li id="item3">Same as <a href="#item1>1</a></li>
</ol>
但是,这些 ID 是硬编码的,与用于显示项目的数字无关。虽然,我想这就是你想要的。要进行更新的更改:
<ol>
<li id="item0">This is the very first item</li>
<li id="item1">This is a numbered item</li>
<li id="item2">This is another numbered item</li>
<li id="item3">Same as <a href="#item1">2</a></li>
</ol>
ID 与预期的项目保持一致。但是,让我们转到这些列表项的链接。请注意,在第一次迭代中,我们有:
<a href="#item1">1</a>
随着更新,我们有:
<a href="#item1">2</a>
唯一的区别是链接的标签(从“1”更改为“2”)。这实际上是通过某种宏魔法来改变文档文本。不是 HTML 可以做的,至少没有 JavaScript 和/或 CSS 的帮助。
换句话说,每次更新列表时,需要在整个文档中手动更新对项目的每个引用的文本。那是针对 HTML 的。 Markdown 怎么办?如 rules state :

Markdown is not a replacement for HTML, or even close to it. Its syntax is very small, corresponding only to a very small subset of HTML tags.


因此,在标准 Markdown 中,甚至没有任何方法可以为列表项分配 ID。
在我看来,您要么需要使用列表以外的其他内容,要么使用 Markdown/HTML 以外的其他内容。

关于latex - Markdown:如何通过编号(如 LaTeX 的\ref/\label)引用编号列表中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37075663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com