为什么代码块在 table 中不起作用?

Why does a code block not work inside a table?

我尝试使用 asciidoc 将一些源代码放入 table。无论出于何种原因,我都无法将其格式化为单元格。

这是我在 https://asciidoclive.com 用于测试的测试:

.The working version of the code (outside table)
....
/* define the types we need for the struct */
typedef void* (*open)();
typedef void (*updateNumber)(void*, int);
typedef void (*updateLabel)(void*, const char*);
typedef void (*close)(void*);
....

.Not working inside of a table
[options="header"]
|=======================
|function |getProperty

|example 1
|
....
/* define the types we need for the struct */
typedef void* (*open)();
typedef void (*updateNumber)(void*, int);
typedef void (*updateLabel)(void*, const char*);
typedef void (*close)(void*);
....

|example 2
|

`/* define the types we need for the struct */
typedef void* (*open)();
typedef void (*updateNumber)(void*, int);
typedef void (*updateLabel)(void*, const char*);
typedef void (*close)(void*);`

|=======================

我想展示更多我尝试过的东西,但 Whosebug 不允许我输入更多代码:-(

我尝试使用 ++++、----、.... 和反引号。虽然前三个根本不起作用,但反引号以某种方式起作用但不能与 * 指针一起正常工作并且有时将其解释为粗体。

我该如何解决这个问题?

终于幸运地找到了。必须定义单元格以呈现 asciidoc 内容。否则它只会呈现为简化的功能集(只有基本的东西在工作)。

.Working inside of a table
[options="header", cols="1,4"]
|=======================
|function |getProperty

|example 1
a|
[source,C]
....
/* define the types we need for the struct */
typedef void* (*open)();
typedef void (*updateNumber)(void*, int);
typedef void (*updateLabel)(void*, const char*);
typedef void (*close)(void*);
....

|example 2
a|
[source,C]
----
/* define the types we need for the struct */
typedef void* (*open)();
typedef void (*updateNumber)(void*, int);
typedef void (*updateLabel)(void*, const char*);
typedef void (*close)(void*);
----
|=======================

请注意使用 a| 而不是简单的 | 符号。

这是解释得很好的页面:

https://blog.mrhaki.com/2014/11/awesome-asciidoctor-styling-columns-and.html