如何在 R markdown 中创建行间光泽度?

How to create interlinear gloss in R markdown?

我想在 R markdown 中创建一个行间注解,其中注解与它们提供的信息的单词对齐。

在下面的例子中,我想让上面的德文句子的每个字符串的左边缘与其下面的英文每个字符串的左边缘对齐:

  1. Ich habe den Bub gesehen

    1sg.NOM有。1sg.PRESDEF.ACC.SGboy.ACC.SGsee.PERF.PART

所以 "boy.ACC.SG" 的左边缘应该在 "Bub."

的左边缘下方对齐

gb4e 等软件包在 TeX 中执行此操作,但我不知道如何在 markdown 中以这种方式对齐文本。

有一些可用的 pandoc 过滤器可能实际上有帮助,例如pangloss,也就是 python-based,可以通过 pip 安装。要在 rmarkdown 文档中使用它,请在 yaml 中指定应将 pangloss 用作过滤器:

---
title: My title
author: Somebody
output:
  pdf_document: 
    pandoc_args:
      - --filter
      - pangloss
---

Pangloss 实际上似乎使用 gb4e 包进行 pdf 输出,因此您可能必须将其包含在序言中,这样整个事情就变成了

---
title: My title
author: Somebody
output:
  pdf_document: 
    pandoc_args:
      - --filter
      - pangloss
    includes:
        in_header: add_to_preamble.tex
---

和add_to_preamble.tex必须包含行

\usepackage{gb4e}

实际示例以下列方式包含在 markdown 中(这是在 pangloss 的 github 页面给出的示例)

As you can see in the following examples, pangloss is really easy to use:

(@) Jorge  llama             a  Maria.
    George calls-3s.PRES.IND to Maria
    'George calls Maria.'
(@ex-french) Aussi, vous pouvez          avoir    de multiples   exemples.
    also   you  can-2p.PRES.IND have.INF of multiple-PL example-PL
    'You can also have multiple examples.'

You can even refer to examples, as in (@ex-french).

不过,这似乎仍在进行中。