[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt IndexFromCharacterStyle CS 4

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

IndexFromCharacterStyle CS 4

Klaus_HH
Beiträge gesamt: 6

4. Mär 2013, 16:26
Beitrag # 31 von 65
Beitrag ID: #509382
Bewertung:
(12192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

vielen Dank für die rasche Antwort.

Demnach ist es auch nicht mit einer geänderten Codezeile getan, das Script Eigennamen-Indexmarken anstelle der normalen Indexmarken vergeben zu lassen, vermute ich?

Das ist sehr schade, da mein Hauptproblem.

Danke und Grüße
Klaus


als Antwort auf: [#509363]
X

IndexFromCharacterStyle CS 4

Martin Fischer
  
Beiträge gesamt: 12783

4. Mär 2013, 16:48
Beitrag # 32 von 65
Beitrag ID: #509385
Bewertung:
(12182 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Demnach ist es auch nicht mit einer geänderten Codezeile getan, das Script Eigennamen-Indexmarken anstelle der normalen Indexmarken vergeben zu lassen, vermute ich?


Nein, da muss man den gefundenen Text umstellen.
In der Regel muss das letzte Wort nach vorne gestellt und ein Komma angefügt werden.

Was aber ist ein Wort?
Ist "Hamm-Brücher" ein Wort oder sind es zwei?
Sollte jedenfalls im Register als eins behandelt werden.

Dann müssen Fälle abgefangen werden, wo nur ein Wort vorhanden und nichts umzustellen ist.

Das muss alles getestet werden.
Womit? Testdaten erzeugen ...

Nein, das krieg ich heute nicht auf die Schnelle gebacken.
Sorry.


als Antwort auf: [#509382]
(Dieser Beitrag wurde von Martin Fischer am 4. Mär 2013, 17:02 geändert)

IndexFromCharacterStyle CS 4

Klaus_HH
Beiträge gesamt: 6

4. Mär 2013, 17:26
Beitrag # 33 von 65
Beitrag ID: #509389
Bewertung:
(12149 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ups..., so aufwendig...

Ich dachte, das Script sucht einfach nach Zeichenformaten und setzt vor jede Fundstelle eine Indexmarke und den Rest macht InDesign bei der Indexerstellung, einschließlich des Umstellens und Kommaeinfügens, da ich ja ausschließlich Namens-Indexmarke verwende.

Nun ja, was Code-Laien so für "einfache" Ideen haben...

Auf jeden Fall nochmals vielen Dank!! Das Script in seiner jetzigen Form ist bereits sehr hilfreich und das Nachbearbeiten sehr gut machbar und den Aufwand des Umcodierens nicht wert!

Grüße, Klaus


als Antwort auf: [#509385]

IndexFromCharacterStyle CS 4

mx
Beiträge gesamt: 161

4. Mär 2013, 17:29
Beitrag # 34 von 65
Beitrag ID: #509390
Bewertung:
(12149 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Klaus,

Martin hat da schon recht, dass es eigentlich ein gößeres Problemfeld ist, das für den Fall der Fälle gründlicher angegangen werden müsste.

Eine quick-and-dirty-Lösung kann ich Dir dann aber doch anbieten:

Code
// IndexFromCharacterStyle_z_CS4.jsx 
//
// ggf. mit Zoom auf fehlerhafte Fundstelle
//
var myErr = mySucc = 0;
var myList = "";
var doc = app.activeDocument
var properName = false;
var removePunctuation = false;
var myCharacterStyle = myDisplayDialog(doc);

app.changeTextPreferences = NothingEnum.nothing;
app.findTextPreferences = NothingEnum.nothing;

app.findTextPreferences.appliedCharacterStyle = myCharacterStyle;
var _index = (doc.indexes.length == 0)
? doc.indexes.add()
: doc.indexes.firstItem();
f = doc.findText()

for (oneEntry = f.length - 1; oneEntry > -1; oneEntry--) {
var formattedEntry = f[oneEntry].contents;
if (removePunctuation)
formattedEntry = formattedEntry.replace(/;/g, '').replace(/,/g, '').replace(/\./g, '');
if (properName) {
var parts = formattedEntry.split(" ");
var lastName = parts.pop();
if (parts.length)
formattedEntry = lastName + ", " + parts.join(" ");
else
formattedEntry = lastName;
}
var _topic = null;
try {
_topic = _index.topics.itemByName(formattedEntry);
if (_topic == null)
_topic = _index.topics.add(formattedEntry);
} catch (e) {
selectIt(f[oneEntry]);
}
try {
_topic.pageReferences.add(f[oneEntry], PageReferenceType.currentPage);
mySucc++;
} catch (e) {
myList += formattedEntry + "\r";
myErr++;
}
}

alert("Das Ergebnis:\r" + mySucc + " x erfolgreich\r" + myErr + " x versagt:\r-----------\r" + myList);

function myDisplayDialog(doc) {
var myFieldWidth = 120;

var myCharStyles = doc.characterStyles.everyItem().name;

var myDialog = app.dialogs.add({
name : "Index-Begriffe"
});
with (myDialog.dialogColumns.add()) {
with (dialogRows.add()) {
with (dialogColumns.add()) {
staticTexts.add({
staticLabel : "Zeichenformat:",
minWidth : myFieldWidth
});
}
with (dialogColumns.add()) {
var mySourceDropdown = dropdowns.add({
stringList : myCharStyles,
selectedIndex : myCharStyles.length - 1
});
var checkBoxName = checkboxControls.add({
staticLabel : "Nameseintrag anlegen",
checkedState : false
});
var checkBoxPunctuation = checkboxControls.add({
staticLabel : "Satzzeichen entfernen",
checkedState : false
});
}
}
}

var myResult = myDialog.show();
if (myResult == true) {
var theCharStyle = myCharStyles[mySourceDropdown.selectedIndex];
properName = checkBoxName.checkedState;
removePunctuation = checkBoxPunctuation.checkedState;
myDialog.destroy();
} else {
myDialog.destroy()
exit();
}
return theCharStyle;
}

function selectIt(theObj) {
var myZoom = 400;
app.select(theObj, SelectionOptions.replaceWith);
app.activeWindow.zoomPercentage = myZoom;

// Option zum Abbruch, falls innerhalb einer Schleife aufgerufen
var myChoice = confirm('Fundstelle fehlerhaft!\rWeiter?');
if (myChoice == false)
exit();
return app.selection[0];
}


Folgende Einschränkungen:
1.
Alle Satzzeichen (Punkt, Komma, Semikolon) werden entfernt.

2.
Als Nachname zählt stur das Wort nach dem letzten Leerzeichen.
(InDesign ist selbst kaum intelligenter...)

3.
Die Aufzählungen sind so unglücklich, dass ich da heute auch nicht dran will. Die solltest Du vorab mit suchen und ersetzen aufräumen.


Viele Grüße
Jo


als Antwort auf: [#509382]

IndexFromCharacterStyle CS 4

Klaus_HH
Beiträge gesamt: 6

4. Mär 2013, 17:54
Beitrag # 35 von 65
Beitrag ID: #509392
Bewertung:
(12126 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jo,

das ist ja sehr nett, vielen Dank! - Ich probiere das heute Abend gleich mal aus, muss jetzt aber das Haus verlassen.

Aber codiert bitte jetzt nicht wegen mir mühsam am Script herum! - Wie ich schon sagte, ich komme auch so gut klar, und wenn es mit minimalen Änderungen anzupassen gewesen wäre, hätte es mich gefreut. Aber bitte keinen Aufwand !!!

Grüße, Klaus


als Antwort auf: [#509390]

IndexFromCharacterStyle CS 4

Klaus_HH
Beiträge gesamt: 6

12. Mär 2013, 05:16
Beitrag # 36 von 65
Beitrag ID: #509683
Bewertung:
(12031 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Ich wollte kurz eine Rückmeldung zu meinen Erfolgen mit Eurem Script geben.

Ich benutze das Script jetzt ohne die "Sonderfunktionen", weil die mir doch mehr im Text zerschossen haben als erwartet.

Um den Nachbearbeitungsbedarf zu reduzieren, lasse ich jetzt vorher eine Reihe von Suchen+Ersetzen-Durchläufen über die Dateien laufen, um störende Satzzeichen zu entfernen (bzw. zu "entkursivieren"), die sonst mit indiziert würden. Das geht soweit recht gut. Ein Problem bleiben die Adligen ("von Hohenlohe", "zu Guttenberg"), bei denen ich den Indexmarkentyp später händisch auf eine "Namensmarke" ändere.

Mit Vorarbeiten und Nachkontrolle dauert der Vorgang jetzt ungefähr eine Stunde pro Dokument, für die beiden letzten Jahrgänge der Vereinszeitschrift (4 Hefte pro Jahr) waren das also 8 Stunden für ungefähr 2500 Familiennamen.

Leider ist am Ende noch ein ganz unerwartetes Problem aufgetreten, weil der erstellte Index keine Seitenbereiche aufweist, sondern alle Seitenzahlen einzeln kommen.

Also nicht wie gewünscht:

Müller 10-14, 21-23, 35, 40

sondern

Müller 10, 11, 12, 13, 14, 21, 22, 23, 35, 40

Unter "Seitenbereiche festlegen" in ID5 finde ich nur unpassende Einstellmöglichkeiten, außerdem müsste ich dort für jeden Eintrag die Enstellungen ändern, wenn ich das richtig verstehe, das ist ja furchtbar.

Leider droht jetzt schon der Textschluss für die aktuelle Heft-Ausgabe, und der Vereinsvorsitzende wird nervös, weil ich noch mit dem Index herumeiere. Deshalb werde ich die Seitenbereiche jetzt wohl manuell zusammenziehen.

Hättet Ihr für dieses Problem noch einen Tipp, ob ich es künftig umgehen oder das Zusammenfassen der Seitenbereiche irgendwie automatisieren kann?

Danke und Grüße
Klaus


als Antwort auf: [#509392]

IndexFromCharacterStyle CS 4

Martin Fischer
  
Beiträge gesamt: 12783

12. Mär 2013, 06:48
Beitrag # 37 von 65
Beitrag ID: #509685
Bewertung:
(12017 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Klaus,

Antwort auf: Leider ist am Ende noch ein ganz unerwartetes Problem aufgetreten, weil der erstellte Index keine Seitenbereiche aufweist, sondern alle Seitenzahlen einzeln kommen.


Die Indexfunktion fasst die Seitenbereiche nicht wie von Dir gewünscht zusammen.
Aber wirf mal einen Blick auf groupSequentiellNum.jsx.


als Antwort auf: [#509683]

IndexFromCharacterStyle CS 4

Klaus_HH
Beiträge gesamt: 6

12. Mär 2013, 12:27
Beitrag # 38 von 65
Beitrag ID: #509707
Bewertung:
(11970 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Oh, wie genial! - Ganz herzlichen Dank!!

Übrigens auch dafür, dass nicht einfach "Nutz die Suchfunktion!" als Antwort kommt, wie man es sonst so oft mit genervtem Unterton zu hören bekommt. Wo man dann immer sagen muss: "Ich habe aber gesucht und nichts gefunden" (was bei mir in diesem Fall auch so war...).

Nochmals Vielen Dank und Grüße,
Klaus


als Antwort auf: [#509685]

IndexFromCharacterStyle CS 4

Martin Fischer
  
Beiträge gesamt: 12783

12. Mär 2013, 13:12
Beitrag # 39 von 65
Beitrag ID: #509711
Bewertung:
(11951 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Klaus,

prima, dass es funktioniert.

Antwort auf: Übrigens auch dafür, dass nicht einfach "Nutz die Suchfunktion!" als Antwort kommt, wie man es sonst so oft mit genervtem Unterton zu hören bekommt. Wo man dann immer sagen muss: "Ich habe aber gesucht und nichts gefunden" (was bei mir in diesem Fall auch so war...).


Mit der Zeit kann man es ein bisschen erspüren, ob sich jemand selbst angestrengt hat, eine Lösung zu seinem Problem zu finden.
Und manchmal ist es gar nicht so einfach, herauszufinden, wo genau nach was zu suchen ist.

Außerdem stimmen mich Beiträge mit einer vorgeschobenen Entschuldigung "Ich hab überall gesucht, konnte aber nichts finden" etwas traurig. Wer ein echtes Anliegen hat und sich die Mühe gibt, das Problem klar und deutlich zu formulieren, der sollte keine Angst vor einer ruppigen Antwort haben müssen.


als Antwort auf: [#509707]
(Dieser Beitrag wurde von Martin Fischer am 12. Mär 2013, 13:13 geändert)

IndexFromCharacterStyle CS 4

KDA
Beiträge gesamt: 2

13. Aug 2014, 12:10
Beitrag # 40 von 65
Beitrag ID: #530976
Bewertung:
(11228 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,
ich versuche seit gestern verzweifelt dieses bestimmt total tolle Script zum laufen zu bringen, aber es funktioniert bei mir weder mit CS4 noch mit CS6. Wenn ich auf das Script klicke und sich dann die "Index-Begriffe"-Box öffnet kann ich dort kein Zeichenformat auswählen, mir wird nur "Zeichenformat: Ohne" angeboten. Wenn ich dann trotzdem ok sage kommt die Fehlernummer 30477.
Es handelt sich um ein CS6 Dokument, Umfang 480 Seiten, in dem ich für die Indexierung zwei verschiedene Zeichenformate angelegt habe, einmal "Copy_Indexfarbe" für die markierten Begriffe im Fließtext, und "FN/BU_Indexfarbe" für die markierten Begriffe in BUs und Fußnoten.
Ich hatte mir das so vorgestellt dass ich dann 2 Listen ausspielen kann indem ich das Script jeweils für ein Zeichenformat laufen lasse.

Was mache ich falsch? Ich habe leider keine Ahnung von Java oder scripten, und die stundenlange Suche nach Hinweisen in (gefühlt) allen Foren dieser Welt hat mich leider nicht weitergebracht.
Es wäre super wenn mir jemand weiterhelfen könnte!

LG, Kerstin



MAC OS X 10.6.8
InDesign CS 6 Version 8.0


als Antwort auf: [#497107]

IndexFromCharacterStyle CS 4

Martin Fischer
  
Beiträge gesamt: 12783

13. Aug 2014, 13:50
Beitrag # 41 von 65
Beitrag ID: #530978
Bewertung:
(11272 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kerstin,

vermutlich liegen Deine Zeichenformate in Zeichenformatgruppen.
Das obige Skript unterstützt Zeichenformate in Zeichenformatgruppen (noch) nicht.
Es wurde auf die Schnelle mal hochkonvertiert aus CS2, wo es keine Formatgruppen gab.

Lösung: verschiebe die entsprechenden Zeichenformate kurzfristig auf die Root-Ebene (ausserhalb der ZF-Gruppen) und unternehme dann einen weiteren Versuch mit dem Skript.


als Antwort auf: [#530976]
(Dieser Beitrag wurde von Martin Fischer am 13. Aug 2014, 13:52 geändert)

IndexFromCharacterStyle CS 4

KDA
Beiträge gesamt: 2

13. Aug 2014, 14:15
Beitrag # 42 von 65
Beitrag ID: #530982
Bewertung:
(11260 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

YEAH! Es läuft! Genau daran lag es, nie im Leben wäre ich darauf gekommen.
TAUSEND DANK für die rasche Antwort!


als Antwort auf: [#530978]

IndexFromCharacterStyle CS 4

JohanneS.
Beiträge gesamt: 1065

27. Nov 2014, 13:44
Beitrag # 43 von 65
Beitrag ID: #534423
Bewertung:
(10724 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Martin,

das musste ich jetzt rauskramen, weil ich einen Index von Absatzformaten benötige. Auch von mir ein großes Dankeschön für das Script.
Zeichen in Absatz umbenennen ist sogar für mich Programmierlaien leicht getan, es läuft, findet alle Absätze — aber wo landet dann der erstellte Index?
Ich stehe auf dem Schlauch …

Johannes


als Antwort auf: [#427620]

IndexFromCharacterStyle CS 4

Martin Fischer
  
Beiträge gesamt: 12783

27. Nov 2014, 14:09
Beitrag # 44 von 65
Beitrag ID: #534425
Bewertung:
(10719 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Johannes,

Antwort auf: aber wo landet dann der erstellte Index?


Darauf nimmt das Skript keinen Einfluss.
Das Skript nimmt Begriffe, die mit den entsprechenden Formaten ausgezeichnet sind, in den InDesign-eigenen Index auf.
Über die entsprechende Palette kann dann der Index generiert und an einem ausgewählten Ort platziert werden. Der Anwender entscheidet über die Landung.

Allerdings könnte es bei der Indizierung von ganzen Absätzen (über ein Absatzformat als Indizierungsquelle) Probleme geben, weil zu einem Absatz in der Regel (außer in Tabellenzellen, Fußnoten oder am Ende von Textabschnitten) eine Absatzschaltung als letztes Zeichen des Absatzes gehört.

Bei der Indizierung von Absätzen sollte man also darauf achten, diese ungewollten Zeichen möglichst herauszufiltern. Per GREP-Suche ginge das z.B. über [^\r]+


als Antwort auf: [#534423]
(Dieser Beitrag wurde von Martin Fischer am 27. Nov 2014, 14:11 geändert)

IndexFromCharacterStyle CS 4

JohanneS.
Beiträge gesamt: 1065

27. Nov 2014, 14:32
Beitrag # 45 von 65
Beitrag ID: #534427
Bewertung:
(10703 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Martin,

vielen Dank für die schnelle Antwort!
Da konnte ich den neuen Index ja nicht sehen, weil da schon einer stand … jetzt einen Test mit einer Kopie ohne Index gemacht.
Und alles ist gut, auch die Absatzmarken machen kein Problem.

Grüße
Johannes


als Antwort auf: [#534425]
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.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

https://www.impressed.de/schulung.php?c=sDetail&sid=327

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!