Indesign忽略ICML / XML属性

时间:2016-12-01 15:16:50

标签: python xml adobe-indesign

设置

我在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标签,所以它显然非常罕见。

0 个答案:

没有答案
相关问题