我们正在通过 RTF 将内容从 CMS 导出到 InDesign。所有内容都有自动应用的样式名称,包括具有italic
字符样式的斜体。italic
将字体样式设置为“斜体”。
这很好用,除了我们的一种段落样式 ( intro
) 也将字体样式设置为“斜体”。在这些情况下,我们希望italic
样式从字体样式中删除“斜体” 。
我遇到了这个想要做类似事情的问题,但是这两个答案都需要人工干预,我们不惜一切代价避免这种情况。
据我所知,只能使用字符类在全局范围内专门设置字体样式。也就是说,不可能让它根据父段落样式应用不同的样式。
理想情况下,我们希望italic
在“斜体”和非斜体之间自动切换样式。在 CSS 中,这将是这样实现的(我知道toggle()
还不行,让我做梦吧):
.italic { font-style: toggle(italic, normal); }
或者,我们可以在段落中出现时设置不同的字体样式。intro
例如,在 CSS 中:
.italic { font-style: italic; }
p.intro .italic { font-style: normal; }
有没有办法在 InDesign 中通过样式实现这种行为?
我们不经常进行导入(每隔几个月在短时间内几次),但每次导入都相当大,因此手动修复这些既耗时又容易出错。话虽如此,如果有一种方法可以进行单个搜索和替换来解决这个问题,那也是可以接受的,但是对于每个实例需要做的任何事情都是不可能的。
注意:我们正在考虑更改 RTF 导出以在 内使用不同的斜体样式名称intro
,但希望得到更好的修复。
设置 InDesign 文档
要设置示例 InDesign 文档,请按照以下说明进行操作。这些说明将创建一个带有“斜体”italic
和intro
“斜体”的 InDesign 文档。
将以下文本复制到一个空文件中并另存为
sample.rtf
:{\rtf1\ansi{\fonttbl{\f0 Times New Roman;}}{\stylesheet{\s1 intro;}{\s2 text;}{\*\cs3 \additive italic;}}\sectd\s1{Intro paragraph with {\*\cs3 italic} text.\par}\s2{Non-intro paragraph with {\*\cs3 italic} text.\par}}
放入
sample.rtf
空的 InDesign 文档将段落样式的字体样式设置为“斜体”
intro
将字体样式设置为“斜体”以获取
italic
字符样式