我在Indesign的一本大书上工作。我在Scrivener中编写并使用python处理文本。在用python编译我的文本后,我通过Pandoc运行整个手稿以获得ICML以进行设计。然后我将ICML分成章节,以防止Indesign窒息。
markdown中的原始手稿包含一些表格。我尝试做的是使这些表格跨越文本列。(不在列表列表格中的单元格。)当我编辑副本时表格跨越Indesign中的列并读取生成的ICML源代码,我看到类似这样的内容:
<ParagraphStyleRange AppliedParagraphStyle="ParagraphStyle/TableCaption" SpanColumnType="SpanColumns">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Default">
<Table Self="uf2i18802" HeaderRowCount="1" FooterRowCount="0" BodyRowCount="11" ColumnCount="2" AppliedTableStyle="TableStyle/Table" TableDirection="LeftToRightDirection">
<Row Self="uf2i18802Row0" Name="0" SingleRowHeight="11.99688720703125" />
现在,我的Pandoc输出看起来更像是这样:
<Table AppliedTableStyle="TableStyle/Table" HeaderRowCount="1" BodyRowCount="11" ColumnCount="2">
<Column Name="0" />
所以我所做的是将整个<Table>
元素包含在<ParagraphStyleRange>
和<CharacterStyleRange>
元素中,并在段落上使用SpanColumnType="SpanColumns"
,因为这显然发生在将表设置为跨列时的ICML。
我运行的python脚本运行正常,甚至似乎插入了正确的元素并正确缩进<Table>
元素:
<ParagraphStyleRange AppliedParagraphStyle="ParagraphStyle/TableCaption" SpanColumnType="SpanColumns">
<CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Default">
<Table AppliedTableStyle="TableStyle/Table" HeaderRowCount="1" BodyRowCount="3" ColumnCount="2">
<Column Name="0" SingleColumnWidth="120.0" />
但这种变化并不适用于Indesign。
我甚至注意到,当我查看ICML并将其重新检入时,相关属性已被删除,就好像该属性未被接受而被删除因为它无效。
我做错了吗?有一个更好的方法吗?是否有关于如何在某处做这类事情的文件?
我还没有找到很多ICML资源,所以我基本上不得不通过反复试验来做到这一点。显然,Pandoc本身是与ICML相关的任何搜索字符串中最相关的链接之一,这对它没有多大帮助。 This document有一个规范用于ICML文档的默认值,但是我在这里尝试的解决方案没有任何问题。最重要的是,StackOverflow上没有ICML标签,所以它显然非常罕见。