如何将 Markdown 表格旋转为横向?我尝试的解决方案是打印标记而不是渲染表格

如何将 Markdown 表格旋转为横向?我尝试的解决方案是打印标记而不是渲染表格

我正在使用 Markdown 通过 xelatex 和 pandoc 创建 PDF。这是我的命令行:

pandoc -s combined.markdown --from markdown+table_captions+auto_identifiers --filter mermaid-filter.cmd --pdf-engine=xelatex -o combined.pdf

我的文档包含下表:

Table: Groups and Access Rights - Global

| Group Name                  | Type      | Config / Func   | Default Act | Reqs     | Derog    | ADC      | Haz      | Chg      | BS         | Risks    | MMSP Status |
| :-------------------------- | --------- | --------------- | ----------- | -------- | -------- | -------- | -------- | -------- | ---------- | -------- | ----------- |
| CPxxx Risk Managers         | \gls{ps}  | X               | CPxxx Home  |          |          |          |          |          |            |          |             |
(etc)

它非常宽,所以我想以横向方式呈现它。我尝试使用 {rotating}、{lscape} 和 {pdflscape},但它们都看起来像这样: 在此处输入图片描述

有什么办法可以实现这一点吗?这与包裹的顺序有关吗?

答案1

我找到了以下解决方案:

---
title: "Doc-Title"
lang: "de"
colorlinks: true
header-includes:
- |
  ```{=latex}
  \usepackage{pdflscape}
  \newcommand{\blandscape}{\begin{landscape}}
  \newcommand{\elandscape}{\end{landscape}}
    ```
...

在您的 markdown 中使用:

    \blandscape
    
    |header1|header2|header3|
    |:------|:------|------:|
    |LINE1  | VAL 1 |  1.00 |
    |Line2  | val 2 |  2.07 |
    |Line3  | val 3 |  3.14 |
    
    \elandscape

答案2

你可以在 Markdown 中使用 LaTeX 块,但不能在 LaTeX 中使用 markdown。

在 markdown 到 LaTeX 的转换中,命令参数或 LaTeX 环境中的内容会被忽略(另一方面,请注意 Markdown 表已转换为 LaTeX longtable,在某些情况下无法使用(例如,在两列文档中)。

一种解决方案可能是首先仅导出 Markdown 表,然后\input在旋转环境中复制并粘贴(或)LaTeX 代码(仅限 longtable)。

另外更方便的是,用Markdown语法来编写嵌套环境:

---
output:
  pdf_document: default
header-includes:  
- \usepackage{lscape}  
---


::::::::{.landscape data-latex=""}

11 12 13
-- -- --
21 22 23
31 32 33

::::::::

删除 LaTeX 输出中不相关的代码,以上内容应等同于:

\documentclass{article}
\usepackage{lscape,longtable,booktabs}
\begin{document}
\begin{landscape}
\begin{longtable}[]{@{}lll@{}}
\toprule
11 & 12 & 13\tabularnewline
\midrule
\endhead
21 & 22 & 23\tabularnewline
31 & 32 & 33\tabularnewline
\bottomrule
\end{longtable}
\end{landscape}
\end{document}

相关内容