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

问题描述 投票:1回答:1

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

它给出了垂直布局的表格作为输出,见下图。

需要水平表的示例情况

文件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. 

通过运行上面的代码给出数据

enter image description here

评论

  • 我希望有一个水平布局,以便将表调整到它。我不知道我应该影响到哪个阶段。我认为应该可以在最后一个pandoc -process中使用它。

稀疏表周围的空间太大

一个文档有许多类型的表。如果表格相当满,则当前接受的答案很有效,但对于稀疏表格则很糟糕。使用接受的答案-V geometry:"paperwidth=22in, paperheight=210mm, margin=2cm"的参数,我们得到:

enter image description here

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


你怎么能有一个水平的pandocing布局?

html latex markdown pandoc
1个回答
2
投票

每当您使用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屏幕截图,使其在此处可见):

© www.soinside.com 2019 - 2024. All rights reserved.