在 asciidoc 中有一个图像,我只想包含用于 PDF 输出。是否有一种属性可以传递给 image:: 以便处理图像以生成 PDF,并在生成 epub 等时忽略?或者更可能通过使用 ifdef,但究竟如何?
问问题
655 次
2 回答
3
您可以像这样使用ifdef 指令:
Some text for all outputs.
ifdef::backend-pdf[]
This is only displayed in the PDF document, you can use image:
image::mypict.png[]
endif::[]
于 2016-12-29T06:49:35.413 回答
1
如果您需要一个简单而小型的解决方案,我更喜欢 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%"
于 2017-01-19T09:18:36.273 回答