Hallo zusammen!
Ich bin neu hier und beschäftige mich noch nicht lange mit der Automatisierung von InDesign, arbeite aber schon lange mit InDesign 5.5 und möchte nun immer wiederkehrende Aufgaben automatisieren.
Dazu gehört auch, dass ich harte Umbrüche (nach jeder Quellcodezeile in einem Listing) in Weiche ersetzen muss, um den Text für den epub-Export vorzubereiten. Es gibt mehrere Listingabschnitte in einem Textrahmen. Das Ganze sieht dann so aus:
Codezeile (\r)
Codezeile (\r)
Codezeile (\r)
Codezeile (\r)
Codezeile (\r)
Listing 1 (\r)
Die Codezeilen sind mit dem Absatzformat "Listing" formatiert und die Unterschrift nachfolgend (Listing 1) ist mit einem anderen Absatzformat "Unterschrift" formatiert. Mit Hilfe von GREP habe ich nun das folgende Skript:
#target InDesign
app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat= "\r";
app.findGrepPreferences.appliedParagraphStyle = "Listing";
app.changeGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences.changeTo= "\n";
app.activeDocument.changeGrep();
Das funktioniert auch, aber nach der letzten Codezeile soll \r stehen bleiben, damit hier dann der Absatz beendet ist und in der nächsten Zeile dann das neue Absatzformat "Unterschrift" kommt.
Wie kann ich hier sagen, dass alle Zeilen bis auf die letzte in diesem Absatzformat "Listing" die Umbruchzeichen geändert werden sollen? Ist dass dann ein größerer Aufwand mit "if..." oder muss man sogar Bezug nehmen auf das nachfolgende Absatzformat und sagen: wenn danach "Unterschrift" folgt, dann lasse \r in der letzten Zeile des vorherigen Absatzformats? Ist das möglich?
Ich habe mir alle Themen hier in der Skriptwerkstatt angeschaut, aber keins gefunden, was ich als Vorlage nehmen könnte, da meiner Meinung nach keines mit Ausnahmen arbeitet. Ist das gar nicht möglich etwas auszuschließen? Oder gibt es einen viel einfacheren Weg, den ich nicht sehe, weil ich das Skripten noch nicht verstanden habe?
Ich wäre sehr froh, wenn mir hier jemand helfen könnte, da ich mich gerne weiter damit beschäftigen möchte und das auch verstehen möchte.
Vielen Dank schon mal im voraus.