带有字符样式的“翻转”斜体/斜体

平面设计 土坯设计
2022-01-17 09:25:00

我们正在通过 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 文档,请按照以下说明进行操作。这些说明将创建一个带有“斜体”italicintro“斜体”的 InDesign 文档。

  1. 将以下文本复制到一个空文件中并另存为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}}
    
  2. 放入sample.rtf空的 InDesign 文档

  3. 段落样式的字体样式设置为“斜体”intro

  4. 字体样式设置为“斜体”以获取italic字符样式

1个回答

继您的(最优秀的)设置之后:

5) 创建一个新的字符样式,将其命名为“non-italic”并相应地设置它的字体样式(“Regular”在本例中有效)。

6) 调出查找/更改,但将“查找内容”和“更改为”字段留空。在这些字段下方,您将看到查找格式。将字符样式指定为“斜体”,将段落样式指定为“介绍”。单击确定。

7) 在“更改为”字段中,指定新的“非斜体”字符样式,将段落样式保留为 [任何样式]。单击确定。

8) 单击“全部更改”。(注意。此示例中只有 1 个实例。)

如需确认,请参阅屏幕截图。

结果