编辑1

编辑1

编辑1

我有一个带有花括号内内联代码的 markdown,并且我使用 pandoc 来生成 PDF。

降价是

Fancy Unicode quotes inlined `“”`.

所得乳胶为:

Fancy Unicode quotes inlined \lstinline!“”!.

赛莱特无法构建 PDF。

这是正常行为吗?

编辑2

首先,感谢您的回复。我应该提到我对 Latex 还很陌生。我可能会写一些错误的陈述。

我使用以下命令pandoc将 markdown 转换为 PDFxelatexpandoc FOO.md -o FOO.pdf --listings --latex-engine xelatex

我不认为列表不处理unicode,因为以下markdown正在工作。

```bash
FOO=“”
```

对应的乳胶是:

\begin{lstlisting}[language=bash]
FOO=“”
\end{lstlisting}

编辑3

我刚刚尝试了另一个测试,结果显示这看起来像是一个错误。

以下 markdown 示例失败:

Inline code `“”`

对应乳胶:

Inline code \lstinline!“”!

安慰:

$ pandoc FOO.md -o FOO.pdf --listings --latex-engine xelatex
! File ended while scanning use of \lst@temp.
<inserted text>
                \par
<*> /tmp/tex2pdf.14686/input.tex

No pages of output.
Transcript written on /tmp/tex2pdf.14686/input.log.

pandoc: Error producing PDF

下面的 markdown 示例成功了:

Inline code `FOO=“”`

对应乳胶:

Inline code \lstinline!FOO=“”!

答案1

如果您想在列表中使用 0-255 范围之外的字符,您必须先声明它们:

\documentclass{article}
\usepackage{listings}
\makeatletter %for xelatex:
\lst@InputCatcodes
\def\lst@DefEC{%
 \lst@CCECUse \lst@ProcessLetter
  ^^80^^81^^82^^83^^84^^85^^86^^87^^88^^89^^8a^^8b^^8c^^8d^^8e^^8f%
  ^^90^^91^^92^^93^^94^^95^^96^^97^^98^^99^^9a^^9b^^9c^^9d^^9e^^9f%
  ^^a0^^a1^^a2^^a3^^a4^^a5^^a6^^a7^^a8^^a9^^aa^^ab^^ac^^ad^^ae^^af%
  ^^b0^^b1^^b2^^b3^^b4^^b5^^b6^^b7^^b8^^b9^^ba^^bb^^bc^^bd^^be^^bf%
  ^^c0^^c1^^c2^^c3^^c4^^c5^^c6^^c7^^c8^^c9^^ca^^cb^^cc^^cd^^ce^^cf%
  ^^d0^^d1^^d2^^d3^^d4^^d5^^d6^^d7^^d8^^d9^^da^^db^^dc^^dd^^de^^df%
  ^^e0^^e1^^e2^^e3^^e4^^e5^^e6^^e7^^e8^^e9^^ea^^eb^^ec^^ed^^ee^^ef%
  ^^f0^^f1^^f2^^f3^^f4^^f5^^f6^^f7^^f8^^f9^^fa^^fb^^fc^^fd^^fe^^ff%
  ^^^^201c^^^^201d% quotes for xelatex
  ^^00}
\lst@RestoreCatcodes
\begin{document}
Fancy Unicode quotes inlined \lstinline!“”!.
\end{document}

相关内容