我在用潘多克将 .tex 文档转换为 .docx。tex 文档使用希尼奇包裹。
由于 pandoc 无法解释包中的宏,因此我必须为使用的宏编写虚拟宏,然后 pandoc 将使用这些虚拟宏。由于 docx 仅供我的合著者审阅,因此这不是问题,最终的格式化将由 LaTeX 完成。
我已经实现了一些宏
\newcommand{\percent}{percent}
\newcommand{\per}{/}
\newcommand{\num}[1]{#1}
\newcommand{\numrange}[2]{#1 to #2}
\newcommand{\numlist}[1]{#1}
\newcommand{\si}[1]{#1}
但我很纠结\SI
,尤其是单元前的部分
\SI{number}[preunit]{unit}
因为第二个参数[preunit]
是可选参数。我发现我可以将第一个参数指定为可选参数,如下所示:
\newcommand{\SI}[3][test]{#1#2#3}
但是我如何使用方括号和作为第二个参数来实现这一点?
附加信息
Pandoc版本:pandoc 1.15.2.1
答案1
这样的事情会起作用吗?
\documentclass{article}
\newcommand{\percent}{percent}
\newcommand{\per}{/}
\newcommand{\kilogram}{kg}
\newcommand{\coulomb}{C}
\newcommand{\mole}{mol}
\newcommand{\num}[1]{#1}
\newcommand{\numrange}[2]{#1 to #2}
\newcommand{\numlist}[1]{#1}
\newcommand\svnum{}
\newcommand\SI[2][]{\renewcommand\svnum{#2}\SIhelp}
\newcommand\SIhelp[2][]{\(#1\)\svnum\,#2}
\begin{document}
\SI{23}{m}
\SI{23}[\$]{}
\SI[per-mode=symbol]{1.99}[\$]{\per\kilogram}
\SI[per-mode=fraction]{1.345}[1000\times]{\coulomb\per\mole}
\end{document}