[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt automatischer Abstand zwischen 2 aufeinanderfolgenden Absatzformaten

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

automatischer Abstand zwischen 2 aufeinanderfolgenden Absatzformaten

Hans Haesler
  
Beiträge gesamt: 5812

25. Apr 2010, 10:12
Beitrag # 16 von 28
Beitrag ID: #440119
Bewertung:
(30393 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai,

ja es stimmt halbwegs (d.h. nur der erste Punkt nicht). In der ersten if-Anweisung wird der Name des aktuellen Formates getestet und in der zweiten der Wert der Variablen 'lastOne'.

Das Verwenden dieser Ampel-Variablen (korrekter wäre flag [ = Flagge ]) ist notwendig, damit nicht jedem Aufzählungs-Absatz der "Abstand nach" zugewiesen wird, sondern nur dem letzten jeder Gruppe.

Die Ampel-Variable muss initialisiert sein, bevor es in die for-Schleife geht. Doch das ist streng genommen nur notwendig, wenn der letzte Absatz der Textkette eine Aufzählung ist. Aber weil man das nicht wissen kann, ist es besser diese Vorkehrung zu treffen.

Dabei kann der Wert entweder true oder false sein. Ich habe mich für true entschieden. Das bedeutet: die Ampel steht auf grün. Kommt ein Aufzählungs-Absatz, dann ist er der letzte, der Abstand wird zugewiesen und die Ampel auf rot geschaltet.

Wird beim nächsten Umgang auch ein Aufzählungs-Absatz gefunden, dann wird beim zweiten if-Test festgetellt, dass der Wert von 'lastOne' aktuell false ist und das Zuweisen des Abstandes wird unterlassen.

Wenn dann ein Fliesstext-Absatz drankommt, dann wird in der else-Anweisung die Ampel auf grün gestellt. Kommt anschliessend nochmals ein Fliesstext-Absatz wird der Wert erneut auf true gesetzt. Das könnte vermieden werden, indem mit einer if-Anweisung der Zustand von 'lastOne' geprüft wird. Aber das muss nicht sein, weil das Nicht-notwendige-Zuweisen nichts kostet.

Gruss, Hans


als Antwort auf: [#440115]
X

automatischer Abstand zwischen 2 aufeinanderfolgenden Absatzformaten

Kai Rübsamen
Beiträge gesamt: 4664

25. Apr 2010, 10:36
Beitrag # 17 von 28
Beitrag ID: #440120
Bewertung:
(30385 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wo nehmt ihr Skripter nur immer diese Logik her ;-)

Hans, klasse Skript. Besonders gefällt mir als Anfänger, dass im zweiten, größeren Skript die wichtigen Zeilen alle einen Kommentar haben. Das hilft beim lernen sehr :) Danke.

@ Martin: Wie schaffst du deinen Grep in zwei Durchläufen?
> Ich brauche leider drei:
1. S: \r + Format E: $0### (im nachfolgenden Absatz 3# einfügen)
2. S: ### E: leer + Format (dem Absatz mit 3# ein Format ohne Einzug zuweisen)
3. S: ### E: leer (die 3# wieder löschen)

Gruß Kai Rübsamen


als Antwort auf: [#440119]
(Dieser Beitrag wurde von Kai Rübsamen am 25. Apr 2010, 10:40 geändert)

automatischer Abstand zwischen 2 aufeinanderfolgenden Absatzformaten

Martin Fischer
  
Beiträge gesamt: 12514

26. Apr 2010, 08:11
Beitrag # 18 von 28
Beitrag ID: #440139
Bewertung:
(30320 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Rübi,

Antwort auf: @ Martin: Wie schaffst du deinen Grep in zwei Durchläufen?


Du hast recht.
Ich habe mich oben verschrieben.
Es braucht tatsächlich mindestens drei Durchläufe:
1. Markierung (S: \r + Format E: $0###)
2. Formatierung (S: ### E: leer + Format)
3. Aufräumen (S: ### E: leer)


In der Regel noch mehr, da Markierungsdurchlauf und Formatierungsdurchlauf für mehrere Überschriftenformate zu erledigen sind.

Du hast die notwendigen Suche/Ersetze-Einstellungen gut dokumentiert.

Viele Grüße
Martin




als Antwort auf: [#440120]

automatischer Abstand zwischen 2 aufeinanderfolgenden Absatzformaten

Quarz
Beiträge gesamt: 3455

26. Apr 2010, 11:55
Beitrag # 19 von 28
Beitrag ID: #440165
Bewertung: ||
(30289 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai und Martin,

ich habe gestestet
und komme mit 2 Durchgängen aus.

1. S: \r + Format E: $0###
2. S: ###(\w) E: $1+ Format

Oder liege ich da irgendwo falsch?


Gruß Quarz

--------------------------------------------
InDesign CS4 ver6.04 | WinXP SP3



als Antwort auf: [#440139]

automatischer Abstand zwischen 2 aufeinanderfolgenden Absatzformaten

Kai Rübsamen
Beiträge gesamt: 4664

26. Apr 2010, 17:41
Beitrag # 20 von 28
Beitrag ID: #440201
Bewertung:
(30268 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ursula,

ich habe keine Ahnung was ich da bisher immer gemacht habe, aber: Du liegst goldrichtig :)

Ich kann es mir nur so erklären, dass ich bisher immer mit $0 im 2. Lauf ersetzt habe und da bleiben die ### stehen, weil der Unterausdruck ignoriert wird und alles in "Ändern in" landet.

Danke.

Gruß Kai Rübsamen


als Antwort auf: [#440165]
(Dieser Beitrag wurde von Kai Rübsamen am 26. Apr 2010, 17:42 geändert)

automatischer Abstand zwischen 2 aufeinanderfolgenden Absatzformaten

Hans Haesler
  
Beiträge gesamt: 5812

29. Apr 2010, 23:12
Beitrag # 21 von 28
Beitrag ID: #440684
Bewertung:
(30188 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Anita,

und hier ist die von Dir (per PM) gewünschte Version, welche bei einem Grossbuchstaben prüft, ob sich dieser am Absatzanfang oder mitten in einem Satz befindet.

Nach wie vor wird der Einzug aufgehoben, wenn ein Kleinbuchstabe an erster Stelle nach einer Aufzählung steht. Das ist zuverlässiger, als das Prüfen einer eventuell vorhandenen Interpunktion (Punkt, Ausrufezeichen, Fragezeichen).

Nur wenn ein Absatz mit einem Grossbuchstaben beginnt, wird bei der letzten Zeile vor der Aufzählung das letzte Zeichen vor dem Return geprüft. Ist es ein Zwischenraum, dann wird das drittletzte Zeichen untersucht. Wenn dies weder ein Punkt noch ein Ausrufezeichen noch ein Fragezeichen ist, dann wird weiter unten (nach der Aufzählung) der Einzug aufgehoben.

Code
//AbstandNach_403d.js 
//DESCRIPTION:Jeden letzten Aufzählungsabsatz mit "Abstand nach" versehen und die Einzüge des folgenden Absatzes aufheben

// die Variablen für die Anfangsbuchstaben der Formate
var psn1 = "02 GT";
var psn2 = "03 GT";
// der Wert für den "Abstand nach"
var spa = "0c3";

// vorsichtshalber die Dialoge einschalten
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;

// testen, ob ein Dokument geöffnet ist
if (app.documents.length == 0) {
alert ("Ein Dokument öffnen.", "Achtung");
exit();
}

// die Auswahl speichern und testen
var curSel = app.selection;
if (curSel.length == 0) {
alert ("Es ist nichts ausgewählt.", "Stop");
exit();
}

if (curSel[0].constructor.name != "InsertionPoint") {
alert ("Den Cursor in den Textfluss setzen.", "Stop");
exit();
}

// die Textkette und deren Absätze speichern
var curStory = curSel[0].parent;
var allParas = curStory.paragraphs;
// die Anzahl Absätze feststellen
var nParas = allParas.length;

// die Variable 'checkPunctuation' dient zum Bestimmen, ob die Interpunktion
// am Ende der letzten Zeile vor einer Aufzählung zu prüfen ist
var checkPunctuation = false;

// die Variable 'lastOne' dient als Ampel
var lastOne = true; // 'true' = 'wahr' = 'grün'
// eine Rückwärts-Schleife durch die Textkette
for (var p=nParas-1; p>-1; p--) {
// den Namen des aktuellen Absatzformates speichern
curParaStyle = allParas[p].appliedParagraphStyle.name;
// die ersten fünf Zeichen holen
curChars = curParaStyle.slice(0, 5);
// wenn diese Zeichen mit den Anfangsbuchstaben übereinstimmen ...
if (curChars == psn1 || curChars == psn2) {
// ... und die Ampel auf "grün" steht ...
if (lastOne) {
// ... den "Abstand nach" zuweisen ...
allParas[p].spaceAfter = spa;
// ... und die Ampel auf "rot" schalten
lastOne = false;
// prüfen, ob der Einzug aufgehoben werden muss
try {
// den ersten Buchstben des Folgeabsatzes speichern ...
var firstChar = allParas[p+1].characters[0].contents;
// und in einen Grossbuchstaben umwandeln
var testChar = firstChar.toUpperCase();
// wenn die beiden Zeichen ungleich sind, den Einzug aufheben
if (firstChar != testChar) {
allParas[p+1].firstLineIndent = 0;
}
// sonst ...
else {
// ... die Nummer des aktuellen Absatzes speichern
nextPara = p+1;
checkPunctuation = true;
// ( Anmerkung: wenn die Prüfung der Interpunktion des Absatz-Endes vor
// der Aufzählung ergeben wird, dass der Satz "aufzählungsübergreifend" ist,
// kann dank dieser Nummer der Einzug nachträglich aufgehoben werden )
}
}
catch (e) {
}
}
}
// sonst ...
else {
// ... die Ampel auf "grün" stellen
lastOne = true;
// wenn die Interpunktion geprüft werden muss ...
if (checkPunctuation) {
// ... das vorletzte Zeichen speichern (letztes = Return)
curPunct = allParas[p].characters.item(-2).contents;
// wenn dieses Zeichen ein Zwischenraum ist ...
if (curPunct == " ") {
// das drittletzte Zeichen speichern
curPunct = allParas[p].characters.item(-3).contents;
}
// wenn das gespeicherte Zeichen weder ein Punkt noch ein Ausrufezeichen
// noch ein Fragezeichen ist, dann "hinunterlangen" und den Einzug
// des Absatzes aufheben, dessen Index gespeichert wurde
if (curPunct != "." && curPunct != "!" && curPunct != "?") {
allParas[nextPara].firstLineIndent = 0;
}
checkPunctuation = false;
}
}
}

//das Ende der Aktion melden
var dlog = new Window("palette");
dlog.size = [200,100];
dlog.add("statictext", [80, 80, 200, 96], "Fertig.");
dlog.show();
// eine kleine Pause
$.sleep(1200);
// den Dialog schliessen
dlog.close();

Doch eine optische Prüfung wird auf jeden Fall erfolgen müssen. Denn es kommt vor, dass ein Satz mit einer Aufzählung beendet wird.

Gruss, Hans


als Antwort auf: [#440201]

automatischer Abstand zwischen 2 aufeinanderfolgenden Absatzformaten

Martin Fischer
  
Beiträge gesamt: 12514

30. Apr 2010, 17:33
Beitrag # 22 von 28
Beitrag ID: #440795
Bewertung:
(30135 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

Antwort auf [ Quarz ] 1. S: \r + Format E: $0###
2. S: ###(\w) E: $1+ Format


Hab's jetzt erst aus gegebenem Anlass in der Praxis getestet.
Funktioniert tadellos.
Guter Trick mit der Mitnahme eines Zeichens nach ### über die Gruppenklammer.

Sicherheitshalber verwende ich
2. S: ^###(\w) E: $1+ Format

Aber das ist im Normalfall nicht nötig (es sei denn, der Autor verwendet ### mitten im Absatz z.B. als Blockade für Querverweise o.ä. und man hat's selbst noch nicht bemerkt).

Viele Grüße
Martin




als Antwort auf: [#440165]
(Dieser Beitrag wurde von Martin Fischer am 30. Apr 2010, 17:39 geändert)

automatischer Abstand zwischen 2 aufeinanderfolgenden Absatzformaten

cwenet
Beiträge gesamt: 1005

21. Mai 2010, 11:21
Beitrag # 23 von 28
Beitrag ID: #442669
Bewertung:
(29885 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Lieber Hans,

ich habe nochmal probiert, aber irgendwie gelingt es mir nicht:
Code
var psn = "U1";   
var spa = "0";

// vorsichtshalber die Dialoge einschalten
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;

// testen, ob ein Dokument geöffnet ist
if (app.documents.length == 0) {
alert ("Ein Dokument öffnen.", "Achtung");
exit();
}

// die Auswahl speichern und testen
var curSel = app.selection;
if (curSel.length == 0) {
alert ("Es ist nichts ausgewählt.", "Stop");
exit();
}

if (curSel[0].constructor.name != "InsertionPoint") {
alert ("Den Cursor in den Textfluss setzen.", "Stop");
exit();
}

// die Textkette und deren Absätze speichern
var curStory = curSel[0].parent;
var allParas = curStory.paragraphs;
// die Anzahl Absätze feststellen
var nParas = allParas.length;

var lastOne = true;
// eine Rückwärts-Schleife durch die Textkette
for (var p=nParas-1; p>-1; p--) {
curParaStyle = allParas[p].appliedParagraphStyle.name;
if (curParaStyle == psn) {
if (lastOne) {
if (allParas[p+1] ="normal"){
allParas[p+1].firstLineIndent = spa;// Einzug erste Zeile = null
}
lastOne = false;
}
}
else {
lastOne = true;
}
}

Ich möchte nach Überschriften den Absatz, der mit "normal" formatiert wurde, bearbeiten. Hier soll z.B. Der Erstzeileneinzug entfernt werden. Im Moment wird trotzdem der Einzug entfernt auch wenn ein anderes Absatzformat nach U1 eingestellt wurde.
Und:
Wie kann ich mehrere Paare in 1 Script bearbeiten?
Also U1 + normal, U2 + normal, usw.

Über Hilfe freue ich mich,

Gruss
Christoph


als Antwort auf: [#440082]

automatischer Abstand zwischen 2 aufeinanderfolgenden Absatzformaten

Hans Haesler
  
Beiträge gesamt: 5812

21. Mai 2010, 15:30
Beitrag # 24 von 28
Beitrag ID: #442703
Bewertung:
(29862 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

ich habe Deine Anfrage erst jetzt bemerkt, weil die Benachrichtigung nicht funktioniert.

Also ... allParas[p+1] ist "nur" der nachfolgende Absatz. Deshalb muss Name des verwendeten Absatzformates eingefügt werden.

Die Zeile ...

Code
if (allParas[p+1] ="normal"){ 

... so ergänzen:

Code
if (allParas[p+1].appliedParagraphStyle.name == "normal"){ 


Also .appliedParagraphStyle.name, aber auch das Gleichheitszeichen verdoppeln. Und: ist der Name "normal"? Oder doch eher "Normal"?

Wie kann mehr als ein Format berücksichtigt werden? Das wird in meinem Beitrag vom 29. April demonstriert. Versuche bitte mal, den Code für Deine Zwecke abzuändern. Das schaffst Du schon. :-)

Gruss, Hans


als Antwort auf: [#442669]

automatischer Abstand zwischen 2 aufeinanderfolgenden Absatzformaten

cwenet
Beiträge gesamt: 1005

21. Mai 2010, 16:46
Beitrag # 25 von 28
Beitrag ID: #442706
Bewertung:
(29844 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank Hans,

den 29. April habe ich mir jetzt angeschaut und das Script angepasst.
Dabei habe ich die Abfrage, ob ein Zeichen Gross ist, entfernt. Komischerweise wird der Zeileneinzug jetzt nur bei U2 gemacht. Kann aber nicht nachvollziehen warum.

Code
//AbstandNach_403d.js  
//DESCRIPTION:Jeden letzten Aufzählungsabsatz mit "Abstand nach" versehen und die Einzüge des folgenden Absatzes aufheben

// die Variablen für die Anfangsbuchstaben der Formate
var psn1 = "U1";
var psn2 = "U2";
var psn3 = "U3";
var psn4 = "U4";
var psn5 = "U5";
var psn6 = "U6";


// vorsichtshalber die Dialoge einschalten
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;

// testen, ob ein Dokument geöffnet ist
if (app.documents.length == 0) {
alert ("Ein Dokument öffnen.", "Achtung");
exit();
}

// die Auswahl speichern und testen
var curSel = app.selection;
if (curSel.length == 0) {
alert ("Es ist nichts ausgewählt.", "Stop");
exit();
}

if (curSel[0].constructor.name != "InsertionPoint") {
alert ("Den Cursor in den Textfluss setzen.", "Stop");
exit();
}

// die Textkette und deren Absätze speichern
var curStory = curSel[0].parent;
var allParas = curStory.paragraphs;
// die Anzahl Absätze feststellen
var nParas = allParas.length;

// die Variable 'checkPunctuation' dient zum Bestimmen, ob die Interpunktion
// am Ende der letzten Zeile vor einer Aufzählung zu prüfen ist
var checkPunctuation = false;

// die Variable 'lastOne' dient als Ampel
var lastOne = true; // 'true' = 'wahr' = 'grün'
// eine Rückwärts-Schleife durch die Textkette
for (var p=nParas-1; p>-1; p--) {
// den Namen des aktuellen Absatzformates speichern
curParaStyle = allParas[p].appliedParagraphStyle.name;
// die ersten fünf Zeichen holen
curChars = curParaStyle.slice(0, 5);
// wenn diese Zeichen mit den Anfangsbuchstaben übereinstimmen ...
if (curChars == psn1 || curChars == psn2 || curChars == psn3 || curChars == psn4 || curChars == psn5 || curChars == psn6) {
// ... und die Ampel auf "grün" steht ...
if (lastOne) {
// ... Einzug aufheben ...
allParas[p+1].firstLineIndent = 0;
// ... und die Ampel auf "rot" schalten
lastOne = false;
}
}
}
//das Ende der Aktion melden
var dlog = new Window("palette");
dlog.size = [200,100];
dlog.add("statictext", [80, 80, 200, 96], "Fertig.");
dlog.show();
// eine kleine Pause
$.sleep(1200);
// den Dialog schliessen
dlog.close();


Die Absätze sind aber alle richtig benannt.
Hast du eine Idee?

Gruss
Christoph


als Antwort auf: [#442703]

automatischer Abstand zwischen 2 aufeinanderfolgenden Absatzformaten

Hans Haesler
  
Beiträge gesamt: 5812

21. Mai 2010, 17:30
Beitrag # 26 von 28
Beitrag ID: #442709
Bewertung:
(29825 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

das muss ich mir näher anschauen. Das heisst, versuchen ein Dokument zu erstellen, mit welchem ich das Problem nachvollziehen kann.

Es sei denn ... würdest Du mir bitte ein Testdokument zustellen? Dann könnte ich Zeit sparen und die Bedingungen würden sofort dieselben sein.

Ich werde aber jetzt gleich die Maschine herunterfahren und erst im Laufe des Abends die Sache prüfen.

Vorab nur dies: Die Verwendung der Ampel-Variablen scheint mir nicht notwendig. Die Voraussetzungen in Anitas Dokument machten es notwendig, damit bei mehreren aufeinanderfolgen Absätzen nur der letzte berücksichtigt wird.

Gruss, Hans


als Antwort auf: [#442706]

automatischer Abstand zwischen 2 aufeinanderfolgenden Absatzformaten

Hans Haesler
  
Beiträge gesamt: 5812

21. Mai 2010, 23:15
Beitrag # 27 von 28
Beitrag ID: #442717
Bewertung:
(29788 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

ich bedanke mich für das Testdokument.

Wie schon gesagt: die Ampelvariable braucht es nicht. Und wenn man den Test if (lastOne) { weglässt, dann werden die Einzüge wie gewünscht aufgehoben.

Weil Deine Formatnamen nur zwei Zeichen umfassen, sollte das Holen der ersten fünf Zeichen eigentlich einen Fehler verursachen:

Code
curChars = curParaStyle.slice(0, 5); 

Aber JavaScript kann nachsichtig sein und liefert brav nur die beiden vorhandenen Zeichen.

Doch man könnte eigentlich den ganzen Namen zum Test heranziehen:

Code
var psn = allParas[p].appliedParagraphStyle.name; 
// wenn der Name mit einem der Absatzformat-Namen übereinstimmt ...
if (psn == psn1 || psn == psn2 || psn == psn3 || psn == psn4 || psn == psn5 || psn == psn6) {

Nachstehend der geänderte Code (Scriptname und Beschreibung ebenfalls):

Code
//EinzugWeg_401d.js 
//DESCRIPTION:Den Einzug aufheben, wenn der Absatz nach einem Untertitel mit "normal" formatiert ist

// die Variablen für die Namen der Formate
var psn1 = "U1";
var psn2 = "U2";
var psn3 = "U3";
var psn4 = "U4";
var psn5 = "U5";
var psn6 = "U6";

// vorsichtshalber die Dialoge einschalten
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;

// testen, ob ein Dokument geöffnet ist
if (app.documents.length == 0) {
alert ("Ein Dokument öffnen.", "Achtung");
exit();
}

// die Auswahl speichern und testen
var curSel = app.selection;
if (curSel.length == 0) {
alert ("Es ist nichts ausgewählt.", "Stop");
exit();
}

if (curSel[0].constructor.name != "InsertionPoint") {
alert ("Den Cursor in den Textfluss setzen.", "Stop");
exit();
}

// die Textkette und deren Absätze speichern
var curStory = curSel[0].parent;
var allParas = curStory.paragraphs;
// die Anzahl Absätze feststellen
var nParas = allParas.length;

// eine Schleife durch die Textkette
for (var p=0; p<nParas; p++) {
// den Namen des aktuellen Absatzformates speichern
var psn = allParas[p].appliedParagraphStyle.name;
// wenn der Name mit einem der Absatzformat-Namen übereinstimmt ...
if (psn == psn1 || psn == psn2 || psn == psn3 || psn == psn4 || psn == psn5 || psn == psn6) {
// ... und der nächste Absatz mit "normal" formatiert ist ...
if (allParas[p+1].appliedParagraphStyle.name == "normal") {
// ... dessen Einzug aufheben
allParas[p+1].firstLineIndent = 0;
}
}
}

//das Ende der Aktion melden
var dlog = new Window("palette");
dlog.size = [200,100];
dlog.add("statictext", [80, 80, 200, 96], "Fertig.");
dlog.show();
// eine kleine Pause
$.sleep(1200);
// den Dialog schliessen
dlog.close();

Die Schleife läuft nun vorwärts, und der Test des Absatzformat-Namens des Absatzes nach dem Unteritel ist eingefügt.

Weil alle Untertitelnamen mit "U" beginnen, könnte man nur diesen ersten Buchstaben prüfen. Hier ein Auszug des Scripts (nur die Schleife):

Code
// eine Schleife durch die Textkette 
for (var p=0; p<nParas; p++) {
// das erste Zeichen des Namens des aktuellen Absatzformates speichern
var firstChar = allParas[p].appliedParagraphStyle.name[0];
// wenn dieser Buchstabe ein "U" ist ...
if (firstChar == "U") {
// ... und der nächste Absatz mit "normal" formatiert ist ...
if (allParas[p+1].appliedParagraphStyle.name == "normal") {
// ... dessen Einzug aufheben
allParas[p+1].firstLineIndent = 0;
}
}
}

Die eingangs definierten Formatnamen-Variablen braucht es dann nicht mehr. Das funktioniert aber nur, wenn kein anderer Formatname mit "U" beginnt.

Gruss, Hans


als Antwort auf: [#442709]

automatischer Abstand zwischen 2 aufeinanderfolgenden Absatzformaten

cwenet
Beiträge gesamt: 1005

22. Mai 2010, 10:03
Beitrag # 28 von 28
Beitrag ID: #442720
Bewertung:
(29752 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Lieber Hans,

vielen Dank für Dein Script und auch die ausführlichen Erläuterungen. So klappt es wunderbar.

Schöne Grüße
Christohp


als Antwort auf: [#442717]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
14.02.2022

Zürich, Online
Montag, 14. Feb. 2022, 07.30 - 18.00 Uhr

Word Press / Digitalisierung / Selbständigkeit

Digitalisierung und KMU's in der Schweiz Leistungsfähig im Zeitalter der Digitalisierung Machine Learning Künstliche Intelligenz CRM Change Management Kommunikation im Betrieb Kommunikation digitale Medien Digitale Vertriebsmodelle

Ja

Organisator: B. Isik

Kontaktinformation: B. Isik / Daniela Lovric, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/website-mit-wix-erstellen/

Veranstaltungen
01.03.2022 - 03.03.2022

Online
Dienstag, 01. März 2022, 10.00 Uhr - Donnerstag, 03. März 2022, 11.30 Uhr

Workshop-Reihe

Sie wollen barrierefreie PDF-Dokumente mit möglichst wenig Aufwand erstellen? Mit ein wenig Grundlagenwissen können Sie dies aus InDesign mit axaio MadeToTag erreichen – ohne manuelle Nacharbeit im PDF! In diesem 3-teiligen, interaktiven Workshop, den wir vom 1. – 3. März 2022 organisieren, lernen die Teilnehmenden, wie sie zielführend beim Erstellen von barrierefreien PDF-Dokumenten aus Adobe InDesign vorgehen. Dafür wird zu Beginn vermittelt, was ein barrierefreies PDF ist, und welche Anforderungen an solche Dokumente bestehen. Mit diesem Wissen werden, anhand von Best-Practice-Beispielen, Strategien zum effizienten Erstellen von PDF/UA-konformen Dokumenten und Formularen mit Adobe InDesign und axaio MadeToTag gezeigt. Außerdem werden Lösungen für klassische Probleme vermittelt. Die Teilnehmenden erhalten im Vorfeld eine Liste der notwendigen Software, wie auch vorbereitete Workshop-Daten, an denen alle im Workshop unter Anleitung arbeiten. Während des Workshops haben die Teilnehmenden die Möglichkeit, Fragen zu stellen.

Die Webinar-Serie besteht aus drei Teilen, an drei verschiedenen Terminen, die aufeinander aufbauen: 1.-3. März 2022, jeweils von 10.00-11.30 Uhr, mit anschliessender 20-minütiger Diskussionsrunde.
Teilnahmegebühr: 89,- EUR (zzgl. MwSt).

Ja

Organisator: axaio software

Kontaktinformation: Karina Zander, E-Mailk.zander AT axaio DOT com

https://www.axaio.com/doku.php/de:news:interaktive-webinar-serie

Barrierefreie PDF-Dokumente erstellen mit Adobe InDesign & axaio MadeToTag