AsciiDoctor表格单元格

时间:2016-06-30 12:54:35

标签: maven asciidoc asciidoctor asciidoctor-pdf

编辑:由于我的问题似乎与我的设置有关,因此我在这里提供了一个完整的最小工作示例。

这是我的maven设置(pom.xml):

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>foo</groupId>
    <artifactId>bar</artifactId>
    <version>1.0-SNAPSHOT</version>

    <name>AsciiDoc Test</name>

    <build>
        <plugins>
            <plugin>
                <groupId>org.asciidoctor</groupId>
                <artifactId>asciidoctor-maven-plugin</artifactId>
                <version>1.5.3</version>
                <dependencies>
                    <dependency>
                        <groupId>org.asciidoctor</groupId>
                        <artifactId>asciidoctorj-pdf</artifactId>
                        <version>1.5.0-alpha.11</version>
                    </dependency>
                    <dependency>
                        <groupId>org.asciidoctor</groupId>
                        <artifactId>asciidoctorj</artifactId>
                        <version>1.5.4</version>
                    </dependency>
                    <!-- beware, jruby 1.7.23 breaks asciidoctorj -->
                    <dependency>
                        <groupId>org.jruby</groupId>
                        <artifactId>jruby-complete</artifactId>
                        <version>1.7.21</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <sourceDirectory>${project.basedir}/src</sourceDirectory>
                </configuration>
                <executions>
                    <execution>
                        <id>generate-pdf-doc</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>process-asciidoc</goal>
                        </goals>
                        <configuration>
                            <backend>pdf</backend>
                            <doctype>book</doctype>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

这是我的AsciiDoc来源(src/test.adoc):

[cols="a"]
|===
|First paragraph

second paragraph

|===

AsciiDoc文件编译为:

mvn generate-resources

这是生成的输出(target/generated-docs/test.pdf

为什么AsciiDoc不呈现两个段落?

其他不能按预期工作的事情(每个示例都会在一个段落中推送整个单元格内容):

  • 明确指定单元格的a
|===
a|First paragraph

second paragraph

|===
  • 列表:
[cols="a"]
|===
|First paragraph

 * second paragraph

|===
  • 不带标题:
[cols="1"]
|===

a|First paragraph

second paragraph

|===

2 个答案:

答案 0 :(得分:2)

从文档中: http://asciidoctor.org/docs/user-manual/#cell

直接的Asciidoctor PDF渲染尚不支持此功能。见#6

这就是我得到的:

带段落:

[cols="1"]
|===

a|First paragraph

second paragraph

|===

相关的事情是|==a|your cell

之间的空行

使用HTML渲染器: Table with a second paragraph in Asciidoctor HTML

使用PDF渲染器: Table with a second paragraph in Asciidoctor PDF

使用列表:

它的工作方式相同:

[cols="1"]
|===

a|First paragraph

* second paragraph

|===

使用HTML渲染器: Table with list in Asciidoctor HTML

使用PDF渲染器: Table with list in Asciidoctor PDF

可能的解决方案可能是将DocBook管道与jDocBook一起使用,如本例docbook-pipeline-jdocbook-example所示。通过此设置,我得到了预期的输出:

Complex Table example with the Asciidoctor docbook pipeline

答案 1 :(得分:0)

我对Maven一无所知,并且不使用AsciiDoctor进行PDF输出,但是建议的答案可能(可能不确定)已经过时了。这是另一种解决方案(对我来说适用于HTML。由于未在官方手册中找到此语法,因此将其发布在这里):

|===
| Column 1 | Column 2

| Foo
| Bar

Baz

| Aaa

Bbb

| Ccc
|===

enter image description here

我在官方手册中没有找到此语法的任何示例。语法来自此处:

如果在标头中使用多行语法,则相同:

[cols="2"]
[options="header"]
|===
| Column 1
| Column 2

| Foo
| Bar

Baz

| Aaa

Bbb

| Ccc
|===