我正在尝试用该\begin{markdown}...\end{markdown}
习语替换它以\markdown{...}
节省一些击键,但是我收到了“失控参数”错误并且没有 PDF。
以下是 MWE:
\documentclass{article}
\usepackage{markdown}
\newcommand\md[1]{\begin{markdown}#1\end{markdown}}
\title{markdown test}
\author{Goo Bar}
\date{May 2023}
\begin{document}
\maketitle
\section{Introduction}
\begin{markdown}
Hello world
\end{markdown}
\md{Goodbye world}
\end{document}
markdown
用替换abstract
效果很好,所以这个想法应该在实践中可行。我在markdown
包装中缺少什么?
答案1
你不能:\begin{markdown}
设置事物以便
- 修改了部分类别代码;
- 一行一行地处理;
- 处理停止时细绳
\end{markdown}
被扫描。
您肯定知道,前导空格和尾随空格在 Markdown 中很重要,但它们对 TeX 来说并不重要:在标准设置下,输入行中的前导空格将被忽略,尾随空格将被丢弃并替换为\endlinechar
。因此在环境中markdown
必须更改有关空格的标准设置。
如果你
\newcommand{\md}[1]{\begin{markdown}#1\end{markdown}}
以上三点都无法挽救,因为当 TeX 吸收参数时,它会修复类别代码,并且不再具有参数中可能出现的结束行的概念。好吧,有一些技巧可以帮助获得一个有点功能的命令版本的环境,但现在考虑一下:你能看到
\md{You can't: `\begin{markdown}` sets up things so that
* some category code are changed;
* lines are processed one by one;
* processing is stopped when the ***string*** `\end{markdown}` is scanned.
}
超过
\begin{markdown}
You can't: `\begin{markdown}` sets up things so that
* some category code are changed;
* lines are processed one by one;
* processing is stopped when the ***string*** `\end{markdown}` is scanned.
\end{markdown}
如果输入的时间较长?