我正在尝试将 tex 文档转换为 docx 文件,以便与一些不使用 TeX 并且在(近期)不会使用 TeX 的同事共享。目前,对于这项工作来说,最好的选择似乎是 Pandoc。我首先使用 TeX 的一个原因是使用例如booktabs
或格式化的表格dcolumn
。这对于较长表格的可读性特别有用。但是,我在使用 Pandoc 转换使用\multicolumn
或依赖dcolumn
单元格对齐的表格时遇到了问题。Pandoc 只是忽略整个表格并将其读取为原始文本。
是否可以让 Pandoc 将表格作为表格读取,同时忽略dcolumn
并\multicolumn
无需手动编辑整个文档?
以下是 MWE:
\documentclass{article}
\usepackage{booktabs}
\usepackage{dcolumn}
\begin{document}
\begin{table}
\centering
\begin{tabular}{D{.}{.}{-1} D{.}{.}{-1} D{.}{.}{-1} D{.}{.}{-1} D{.}{.}{-1}}
\toprule
\multicolumn{1}{c}{Col A} & \multicolumn{1}{c}{Col B}& \multicolumn{1}{c}{Col C}& \multicolumn{1}{c}{Col D}& \multicolumn{1}{c}{Col E}\\
\midrule
0.0 & 5.146 & 5.151 & 5.156 & 5.151\\
0.1 & 5.57 & 5.516 & 5.61 & 5.704\\
0.2 & 5.758 & 5.762 & 5.978 & 6.122\\
0.3 & 5.959 & 5.95 & 6.296 & 6.514\\
0.5 & 6.223 & 6.223 & 6.851 & 7.237\\
1.0 & 6.616 & 6.615 & 7.974 & 8.848\\
\bottomrule
\end{tabular}
\caption{This is a table using booktabs, dcolumn and multicolumn}
\end{table}
\begin{table}
\centering
\begin{tabular}{ccccc}
\toprule
Col F & Col G& Col H& Col I& Col J\\
\midrule
0.0 & 5.146 & 5.151 & 5.156 & 5.151\\
0.1 & 5.57 & 5.516 & 5.61 & 5.704\\
0.2 & 5.758 & 5.762 & 5.978 & 6.122\\
0.3 & 5.959 & 5.95 & 6.296 & 6.514\\
0.5 & 6.223 & 6.223 & 6.851 & 7.237\\
1.0 & 6.616 & 6.615 & 7.974 & 8.848\\
\bottomrule
\end{tabular}
\caption{This is a simpler table using only booktabs}
\end{table}
\end{document}
Pandoc 不会使用命令行转换第一个表格,而是转换第二个表格pandoc -f latex -t docx document.tex -o document.docx
。
请注意,\multicolumn
此处仅用于跳过强制的对齐dcolumn
。可能还有更复杂的例子。