在 asciidoc 中,如何只为生成 pdf 执行宏?
In asciidoc how do I execute a macro only for pdf generation?
在 asciidoc 中有一张图片,我只想将其包含在 PDF 输出中。是否有一种我可以传递给 image:: 的属性,以便为 PDF 生成处理图像,并在生成 epub 等时忽略图像?或者更可能是通过使用 ifdef,但究竟如何?
您可以这样使用 ifdef directive:
Some text for all outputs.
ifdef::backend-pdf[]
This is only displayed in the PDF document, you can use image:
image::mypict.png[]
endif::[]
如果你需要一个简单的小型解决方案,我更喜欢 Jminis 答案。
对于需要更多区分的情况,您可以为不同类型的输出定义自己的过滤器参数,这些参数可以在命令行调用中定义为参数。您可以按如下方式过滤您的内容,例如如果你也想在不同的观众之间有所不同。
Some text for all outputs.
ifeval::["{myfilter1}"=="pdf"]
This content is pdf-only!
ifeval::["{myfilter2}"=="adminpdf"]
This content is admin-pdf-only!
endif::[]
endif::[]
您可以在命令行调用中添加参数如下:
--attribute myfilter1='pdf'
命令的确切表达取决于您的系统。以下语法可以工作(我目前无法在没有 asciidoc-setup 的情况下对其进行测试)。
OS X asciidoc -> 文档:
SCRIPT=${...path to asciidoc installation...}/asciidoc.py
INPUT=myAsciidocInput.ad
OUTPUT=MyDocBookOutput.xml
MYFILTER="--attribute myfilter1='pdf' --attribute myfilter2='adminpdf'"
python "$SCRIPT" -o "$OUTPUT" "$MYFILTER "$INPUT"
WIN asciidoc -> 文档:
set SCRIPT=%{...path to asciidoc installation...}%\asciidoc.py
set INPUT=myAsciidocInput.ad
set OUTPUT=MyDocBookOutput.xml
set MYFILTER=--attribute myfilter1='pdf' --attribute myfilter2='adminpdf'
python "%SCRIPT%" -o "%OUTPUT%"
在 asciidoc 中有一张图片,我只想将其包含在 PDF 输出中。是否有一种我可以传递给 image:: 的属性,以便为 PDF 生成处理图像,并在生成 epub 等时忽略图像?或者更可能是通过使用 ifdef,但究竟如何?
您可以这样使用 ifdef directive:
Some text for all outputs.
ifdef::backend-pdf[]
This is only displayed in the PDF document, you can use image:
image::mypict.png[]
endif::[]
如果你需要一个简单的小型解决方案,我更喜欢 Jminis 答案。
对于需要更多区分的情况,您可以为不同类型的输出定义自己的过滤器参数,这些参数可以在命令行调用中定义为参数。您可以按如下方式过滤您的内容,例如如果你也想在不同的观众之间有所不同。
Some text for all outputs.
ifeval::["{myfilter1}"=="pdf"]
This content is pdf-only!
ifeval::["{myfilter2}"=="adminpdf"]
This content is admin-pdf-only!
endif::[]
endif::[]
您可以在命令行调用中添加参数如下:
--attribute myfilter1='pdf'
命令的确切表达取决于您的系统。以下语法可以工作(我目前无法在没有 asciidoc-setup 的情况下对其进行测试)。
OS X asciidoc -> 文档:
SCRIPT=${...path to asciidoc installation...}/asciidoc.py
INPUT=myAsciidocInput.ad
OUTPUT=MyDocBookOutput.xml
MYFILTER="--attribute myfilter1='pdf' --attribute myfilter2='adminpdf'"
python "$SCRIPT" -o "$OUTPUT" "$MYFILTER "$INPUT"
WIN asciidoc -> 文档:
set SCRIPT=%{...path to asciidoc installation...}%\asciidoc.py
set INPUT=myAsciidocInput.ad
set OUTPUT=MyDocBookOutput.xml
set MYFILTER=--attribute myfilter1='pdf' --attribute myfilter2='adminpdf'
python "%SCRIPT%" -o "%OUTPUT%"