列表标题中的 Markdown 和引用
Markdown and references inside the listing captions
是否可以处理 pandoc 中列表标题的文本降价?
Pandoc 适用于图形标题并翻译 重点 和 inline code
,但在列表标题中显然没有这样做。
例如,在下面的代码中,我在第二个清单和图片的标题中有一些格式和参考。
然而,只有图中的格式被正确转换为乳胶。
列表标题保持原样,这会破坏管道中的 tex 处理器。
是否可以像处理图形标题一样处理列表标题?
```{#lst:first .C caption="Hi"}
int hi() {
return ((int)'h'<<8) | 'i';
}
```
```{#lst:second .C caption="Code *using* the function `hi` from [@lst:first]"}
x = hi();
```
![Picture *with* `inline code` and reference [@lst:first]](picture.png)
pandoc example.so.md -o example.so.tex --listings --filter=pandoc-crossref
生产:
\begin{codelisting}
\caption{Hi}
\begin{lstlisting}[language=C, caption=Hi, label=lst:first]
int hi() {
return ((int)'h'<<8) | 'i';
}
\end{lstlisting}
\end{codelisting}
\begin{codelisting}
\caption{Code *using* the function `hi` from {[}@lst:first{]}}
\begin{lstlisting}[language=C, caption={Code *using* the function `hi` from [@lst:first]}, label=lst:second]
x = hi();
\end{lstlisting}
\end{codelisting}
\begin{figure}
\centering
\includegraphics{picture.png}
\caption{Picture \emph{with} \passthrough{\lstinline!inline code!} and
reference lst.~\ref{lst:first}}
\end{figure}
我使用 pandoc 2.7.3 和 pandoc-crossref v0.3.4.1
P.S。正如 https://github.com/jgm/pandoc/issues/673 所暗示的那样,可能仍然没有对此的原生支持。有解决方法吗?
K4zuki 对 pandoc google 小组的回应对我有用。(https://groups.google.com/forum/#!msg/pandoc-discuss/DItTuL5S1EM/L1Ou25gTCAAJ)
Use the option for pandoc-crossref explained here: http://lierdakil.github.io/pandoc-crossref/#table-style-captions
add codeBlockCaptions: true
in your metadata block or run pandoc with -M codeBlockCaptions=true
This worked:
Listing: Code *using* the function `hi` from [@lst:first]
```{#lst:second .C}
x = hi();
```
是否可以处理 pandoc 中列表标题的文本降价?
Pandoc 适用于图形标题并翻译 重点 和 inline code
,但在列表标题中显然没有这样做。
例如,在下面的代码中,我在第二个清单和图片的标题中有一些格式和参考。
然而,只有图中的格式被正确转换为乳胶。
列表标题保持原样,这会破坏管道中的 tex 处理器。
是否可以像处理图形标题一样处理列表标题?
```{#lst:first .C caption="Hi"}
int hi() {
return ((int)'h'<<8) | 'i';
}
```
```{#lst:second .C caption="Code *using* the function `hi` from [@lst:first]"}
x = hi();
```
![Picture *with* `inline code` and reference [@lst:first]](picture.png)
pandoc example.so.md -o example.so.tex --listings --filter=pandoc-crossref
生产:
\begin{codelisting}
\caption{Hi}
\begin{lstlisting}[language=C, caption=Hi, label=lst:first]
int hi() {
return ((int)'h'<<8) | 'i';
}
\end{lstlisting}
\end{codelisting}
\begin{codelisting}
\caption{Code *using* the function `hi` from {[}@lst:first{]}}
\begin{lstlisting}[language=C, caption={Code *using* the function `hi` from [@lst:first]}, label=lst:second]
x = hi();
\end{lstlisting}
\end{codelisting}
\begin{figure}
\centering
\includegraphics{picture.png}
\caption{Picture \emph{with} \passthrough{\lstinline!inline code!} and
reference lst.~\ref{lst:first}}
\end{figure}
我使用 pandoc 2.7.3 和 pandoc-crossref v0.3.4.1
P.S。正如 https://github.com/jgm/pandoc/issues/673 所暗示的那样,可能仍然没有对此的原生支持。有解决方法吗?
K4zuki 对 pandoc google 小组的回应对我有用。(https://groups.google.com/forum/#!msg/pandoc-discuss/DItTuL5S1EM/L1Ou25gTCAAJ)
Use the option for pandoc-crossref explained here: http://lierdakil.github.io/pandoc-crossref/#table-style-captions add
codeBlockCaptions: true
in your metadata block or run pandoc with-M codeBlockCaptions=true
This worked:
Listing: Code *using* the function `hi` from [@lst:first]
```{#lst:second .C}
x = hi();
```