Hallo zusammen!
Die Ausgangslage: Aus einem Buch wird ein Inhaltsverzeichnis generiert, wobei drei Absatzformate aufgenommen werden. Zwei dieser Formate (Titel und Autor) folgen immer unmittelbar aufeinander:
Titel Artikel 1
Autor Artikel 1
Titel Artikel 2
Autor Artikel 2
...
Nun sollen Titel und Autoren in Ihrer Reihenfolge vertauscht und in einen Absatz zusammengezogen werden, d.h. gewünschtes Ergebnis:
Autor Artikel 1: Titel Artikel 1
Autor Artikel 2: Titel Artikel 2
...
Dafür habe ich mir nun eine Lösung zurechtgeschnitzt (eine FindChangeList für das FindChange-Script), die auch funktioniert.
Allerdings mit einem Haken:
Enthält der Titel eines Artikels ein Wort in kursiv (Zeichenformat zugewiesen), so ist die kursive Formatierung nach Vertauschen und Zusammenziehen der Absätze zwar noch vorhanden, allerdings an derselben Position, sprich bei einer anderen Zeichenfolge. Zur Verdeutlichung:
Vorher:
Phylogenetic analysis of nrDNA ITS sequences reveals relationships within five groups of Iranian Apiaceae subfamily Apioideae
Yousef Ajani, Ahmad Ajani, Jenny M. Cordes, Mark F. Watson & Stephen R. Downie
Nachher:
Yousef Ajani, Ahmad Ajani, Jenny M. Cordes, Mark F. Watson & Stephen R. Downie: Phylogenetic analysis of nrDNA ITS sequences reveals relationships within five groups of Iranian Apiaceae subfamily Apioideae
Abgesehen davon, dass für einen Script-Profi das Ganze wahrscheinlich auch anders, leichter, eleganter ... zu lösen wäre: Hat jemand eine Idee, warum sich das Zeichenformat einfach "vom Wort löst" und statt dessen lieber "die Position beibehält"?
Für Ratschläge dankbar,
da zoate
Der Vollständigkeit halber hier die FindChangeList:
//Find properties:
//Suche hochgestellte Absatzmarken, setzte Position auf normal
text {findWhat:"^b", position:1936749411} {changeTo:"", position:1852797549} {includeFootnotes:false, includeMasterPages:false, includeHiddenLayers:false, wholeWord:false}
//Suche hochgestellte Zeichen, lösche sie
text {findWhat:"", appliedParagraphStyle:"TOC entry author", position:1936749411} {changeTo:""} {includeFootnotes:false, includeMasterPages:false, includeHiddenLayers:false, wholeWord:false}
//Suche grundlinienversetzte * und lösche sie
text {findWhat:"*", appliedParagraphStyle:"TOC entry author"} {changeTo:""} {includeFootnotes:false, includeMasterPages:false, includeHiddenLayers:false, wholeWord:false}
//Suche bold italics und ersetze sie durch italics
text {findwhat:"", fontStyle:"Bold Italic"} {changeTo:"", appliedCharacterStyle:"Italic"} {includeFootnotes:false, includeMasterPages:false, includeHiddenLayers:false, wholeWord:false}
//Ergänze Doppelpunkt + Space am Ende jedes Autorenabsatzes
grep {findWhat:"~b", appliedParagraphStyle:"TOC entry author"} {changeTo:": ~b"} {includeFootnotes:false, includeMasterPages:false, includeHiddenLayers:false, wholeWord:false}
//Ersetze Absatzformate durch einheitliches Absatzformat
text {findwhat:"", appliedParagraphStyle:"TOC entry author"} {changeTo:"", appliedParagraphStyle:"TOC entry"} {includeFootnotes:false, includeMasterPages:false, includeHiddenLayers:false, wholeWord:false}
text {findwhat:"", appliedParagraphStyle:"TOC entry title"} {changeTo:"", appliedParagraphStyle:"TOC entry"} {includeFootnotes:false, includeMasterPages:false, includeHiddenLayers:false, wholeWord:false}
//Ziehe Titel- und Autorenabsatz zusammen und vertausche sie
grep {findWhat:"(.+)(~b)(.+)", appliedParagraphStyle:"TOC entry"} {changeTo:"$3$1"} {includeFootnotes:false, includeMasterPages:false, includeHiddenLayers:false, wholeWord:false}
//Formatiere Autoren fett
text {findwhat:"", appliedParagraphStyle:"TOC entry"} {changeTo:"", appliedParagraphStyle:"TOC entry with bold"} {includeFootnotes:false, includeMasterPages:false, includeHiddenLayers:false, wholeWord:false}