在这个LaTeX片段中,有什么方法可以与交叉引用等价吗?(取自这里.)
\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.
也就是说,我希望能够在不显式编号的情况下引用减价列表中的项目,这样我就可以将上面的列表更改为以下内容,而不必手动更新交叉引用:
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.
发布于 2016-05-10 20:23:29
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呢?作为规则状态
标记不是HTML的替代品,甚至也不是接近HTML的替代品。它的语法非常小,只对应于一个非常小的HTML标记子集。
因此,在标准的Markdown中,甚至没有向列表项分配ID的任何方法。
在我看来,你要么需要使用列表以外的东西,要么需要使用Markdown/HTML以外的东西。
发布于 2017-11-09 11:09:57
也许你需要使用H1..。H6然后Markdown生成一个可以链接到的锚点:
# H1
## H2
### H3
#### H4
##### H5
###### H6
类似于:
###### 1. This is a numbered item
###### 2. This is another numbered item
###### 3. Same as 1
生成:
<h6 id="1-this-is-a-numbered-item">1. This is a numbered item</h6>
<h6 id="2-this-is-another-numbered-item">2. This is another numbered item</h6>
<h6 id="3-same-as-1">3. Same as 1</h6>
https://stackoverflow.com/questions/37075663
复制相似问题