Windows 上使用 utf-8 的 MikTex、multicol 和 Markdown

Windows 上使用 utf-8 的 MikTex、multicol 和 Markdown

我尝试为自己创建一个有用的模板,以便使用 XeLaTeX 和 Markdown 撰写文章。为此,我在计算机上安装了 MikTex 2.9 并创建了这样的模板:

\documentclass{article}
\usepackage{markdown}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[numbers]{natbib}
\usepackage[scale=2.0]{ccicons}
\usepackage{hyperref}
\usepackage{geometry}
\usepackage{titlesec}
\usepackage{titling}
\usepackage{fontspec}
\usepackage{lipsum}
\usepackage{multicol}
\geometry{
 a4paper,
 total={170mm,257mm},
 left=20mm,
 top=20mm,
 }
\setmainfont{Roboto}
\markdownSetup{
  renderers = {
    link     = {#1},        % Render a link as the link label.
    emphasis = {\emph{#1}}, % Render emphasis using `\emph`.
  }
}
\begin{document}
\begin{multicols}{2}
\begin{markdown}

_Hello,_ [Stack Exchange](http://tex.stackexchange.com)!

\end{markdown}
\end{multicols}
\end{document}

但是当我尝试编译它时出现以下错误:

("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\gettitlestring.sty"))
(untitled-mym.out) (untitled-mym.out)

Package hyperref Warning: Rerun to get /PageLabels entry.

*geometry* detected driver: pdftex

! Package markdown Error: I can not access the shell.

See the markdown package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.36 \end{markdown}

我认为这与我电脑上的 xelatex 设置有关。我该如何修复它?

答案1

您有两个选择。

  • 用 处理文档lualatex

  • xelatex使用选项来处理文档-shell-escape。或者,如果您不需要包fontspec,您也可以使用pdflatex此选项。

如果我运行以下任一命令

lualatex test.tex
xelatex -shell-escape test.tex
pdflatex -shell-escape test.tex

包含test.tex以下代码

\documentclass{article}
\usepackage{markdown}
\markdownSetup{
  renderers = {
    link     = {#1},        % Render a link as the link label.
    emphasis = {\emph{#1}}, % Render emphasis using `\emph`.
  }
}
\begin{document}
\begin{markdown}

_Hello,_ [Stack Exchange](http://tex.stackexchange.com)!

\end{markdown}
\end{document}

我得到以下输出:

在此处输入图片描述

相关内容