如何制作 pandoc 降价表的水平布局?

How to make horizontal layout of pandoc markdown tables?

Code

pandoc                              \
     data.tex                       \
    -f markdown                     \
    -t html                         \
                                    \
| grep -E '(^<|^$|^ *$)'            \
                                    \
| grep -v '^<p'                     \
                                    \
| perl -pe 's#(?<!\)%.*</#</#'     \
                                    \
| pandoc                            \
    -f html                         \
    -o vertical_output.pdf          \
    --latex-engine=xelatex

在垂直布局上给出 tables 作为输出,见下图。

需要水平 table 的示例

文件内容data.tex为以下数据

Data.tex:

--------------------------------------------------------------------------------------------------------------------------------------------
Name            Description     Location        Examples            Start            Peak            Duration        Appearance
--------------- --------------- --------------  ------------------- ---------------- --------------  ---------------  -------------------
Prandial        short-acting    belly,          Lispro (Humalog),   5-10 min before  30-60 minutes   2-4 hours       Transparent
                analogs         abdomen         Aspart (Novorapid), meal
                = chemically                    Glulisine (Apidra)
                sythesized;


Regular/short   human insulin   addomen         Humulin R           30 min before    60 minutes      6-8 hours,       Transparent
                not analog                                          meal                             hypoglycemia
                                                                    not flexible                     risk 
-------------------------------------------------------------------------------------------------------------------------------------------

Table: Diabetic drugs parndial and basal. Location, start, peak, duration and appearance. 

通过运行将上述代码赋给数据

评论

太多space周围稀疏tables

一份文档有多种类型的table。 当前接受的答案在 tables 相当满的情况下效果很好,但在 tables 稀疏的情况下效果不佳。 使用已接受答案的参数 -V geometry:"paperwidth=22in, paperheight=210mm, margin=2cm",我们得到:

其中第二个 table 扩展太多;我想让它变窄;但不确定这在 Pandoc 中是否可以动态实现。


pandocing怎么能横向布局呢?

无论何时使用 Pandoc 生成 PDF 输出,您都可以通过添加命令行来控制文件的页面大小。例如,生成一个宽度为 22 英寸、高度为 210 毫米的页面,同时保持每个边距为 2 厘米,使用此 Pandoc 参数:

-V geometry:"paperwidth=22in, paperheight=210mm, margin=2cm"

我希望这个例子能让您清楚地了解如何以其他不同的方式影响输出纸张尺寸。

但是,我不知道它是否回答了你的问题。我必须承认,你的问题对我来说不是很清楚。

我的回答可能会帮助其他人搜索 "horizontal layout pandoc markdown".

要尝试的完整命令

首先,12英寸宽度:

pandoc                              \
     data.tex                       \
    -f markdown                     \
    -t html                         \
                                    \
| grep -E '(^<|^$|^ *$)'            \
                                    \
| grep -v '^<p'                     \
                                    \
| perl -pe 's#(?<!\)%.*</#</#'     \
                                    \
| pandoc                            \
    -f html                         \
    -o vertical_output1.pdf         \
    --latex-engine=xelatex          \
    -V geometry:"paperwidth=12in, paperheight=80mm, margin=0.5cm"

二、14寸宽:

pandoc                              \
     data.tex                       \
    -f markdown                     \
    -t html                         \
                                    \
| grep -E '(^<|^$|^ *$)'            \
                                    \
| grep -v '^<p'                     \
                                    \
| perl -pe 's#(?<!\)%.*</#</#'     \
                                    \
| pandoc                            \
    -f html                         \
    -o vertical_output1.pdf         \
    --latex-engine=xelatex          \
    -V geometry:"paperwidth=14in, paperheight=80mm, margin=0.5cm"

输出(作为 PDF 的 PNG 屏幕截图以使其在此处可见):