Macros 是否可以在ASCIDIOC宏中嵌套计数器?

Macros 是否可以在ASCIDIOC宏中嵌套计数器?,macros,asciidoc,Macros,Asciidoc,我使用ascidoc宏,我想在替换宏中嵌入计数器,但它不能按预期工作 源文件: :macro-with-counter: foo-{counter:id} * {macro-with-counter}: bar-one * {macro-with-counter}: bar-two * {macro-with-counter}: bar-three 应使用递增计数器进行渲染: 一号酒吧 foo-2:酒吧二 foo-3:三号酒吧 实际渲染: 一号酒吧 foo-1:酒吧二 foo-1:三号

我使用ascidoc宏,我想在替换宏中嵌入计数器,但它不能按预期工作

源文件:

:macro-with-counter: foo-{counter:id}

* {macro-with-counter}: bar-one
* {macro-with-counter}: bar-two
* {macro-with-counter}: bar-three
应使用递增计数器进行渲染:

  • 一号酒吧
  • foo-2:酒吧二
  • foo-3:三号酒吧
实际渲染:

  • 一号酒吧
  • foo-1:酒吧二
  • foo-1:三号酒吧
是否可以在ASCIIdoc中的替换宏中嵌套计数器?

请尝试以下代码:

foo-id: 0

* foo-{counter:foo-id}: bar-one
* foo-{counter:foo-id}: bar-two
* foo-{counter:foo-id}: bar-three

简单回答:不可能在ASCIIdoc中嵌套宏。这意味着没有递归功能。

这是可行的,但它不是带计数器的嵌套宏。下面是一个简单的用例。我有一个单独的需求文档,我想将其编译为需求文档或打印测试文档:test_doc:ifdef::test_doc[]:检查了计数器为Req-{counter:id}的宏?[]endif::[]ifndef::test_doc[]:带计数器的宏:Req-{counter:id}endif::[]*{macro}:Req 1*{macro}:Req 2*{macro}:Req 3预期呈现:*是否选中了Req-1?[]:是否检查了req 1*req-2?[]:是否检查了req 2*req-3?[]:req 3实际值:计数器没有增加显然,reply选项的格式更为有限-很抱歉上面的代码块@Anton,您的解决方案适用于某些用例,但它不是嵌套宏。如果我想在替换宏中定义一段带有计数器的文本,以便为多种目的编译同一文档,该怎么办?