[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Bibelstellen mit IndexFromList_withSubtopics.jsx

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

Bibelstellen mit IndexFromList_withSubtopics.jsx

JoPie
Beiträge gesamt: 75

3. Dez 2015, 15:52
Beitrag # 1 von 6
Bewertung:
(2689 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kollegen,

ich muss ein Bibelstellenregister erstellen.
Das sieht wie folgt aus:

Genesis 1
Genesis 1,1

Nun findet das Script natürlich bei Genesis 1,1 auch Genesis 1 und setzt die entsprechende Indemarke.
Siehe Beispiel
--------------------
Es ist so, als wenn du mit einem unsinnigen Menschen reden und ihm beweisen wolltest, dass Gott Himmel und Erde geschaffen hat ({xe "Genesis 1,1"}{xe "Genesis 1"}Genesis 1,1), und du ihm mit Fingern Himmel und Erde zeigst, er aber dennoch plaudert, dass dies nicht der Himmel noch die Erde sei, von denen {xe "Genesis 1"}Genesis 1 redet
-------------------

Gibt es eine Möglichkeit dass das Script nur 1,1 findet und nicht auch noch 1?

Gruß
JoPie


ID SC6 unter WIN 8.1
X

Bibelstellen mit IndexFromList_withSubtopics.jsx

Quarz
Beiträge gesamt: 3555

3. Dez 2015, 17:51
Beitrag # 2 von 6
Beitrag ID: #545127
Bewertung:
(2655 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo JoPie,

ich würde die Anführungszeichen
mitberücksichtigen.

(?<=»)Genesis 1(?=«)
(?<=»)Genesis 1,1(?=«)


Gruß
Quarz
---------------------------
Win7 | InDesign CS6 ver 8.1



als Antwort auf: [#545119]

Bibelstellen mit IndexFromList_withSubtopics.jsx

JoPie
Beiträge gesamt: 75

4. Dez 2015, 08:30
Beitrag # 3 von 6
Beitrag ID: #545131
Bewertung:
(2567 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich glaube, ich muss meine Frage doch besser erläutern.

In ID lese ich einen Wordtext ohne Indexeinträge ein.

Mustertext:
"Es ist so, als wenn du mit einem unsinnigen Menschen reden und ihm beweisen wolltest, dass Gott Himmel und Erde geschaffen hat (Genesis 1,1), und du ihm mit Fingern Himmel und Erde zeigst, er aber dennoch plaudert, dass dies nicht der Himmel noch die Erde sei, von denen Genesis 1 redet"

Anschließend lasse ich das Script "IndexFromList_withSubtopics.jsx" laufen und lese eine ensprechend Konkordanztabelle ein.

Muster Konkordanztabelle:
Genesis 1
Genesis 1,1

Das Ergbnis nach Scriptlauf sieht als exportierte RTF-Datei wie folgt aus:
"Es ist so, als wenn du mit einem unsinnigen Menschen reden und ihm beweisen wolltest, dass Gott Himmel und Erde geschaffen hat ({xe "Genesis 1,1"}{xe "Genesis 1"}Genesis 1,1), und du ihm mit Fingern Himmel und Erde zeigst, er aber dennoch plaudert, dass dies nicht der Himmel noch die Erde sei, von denen {xe "Genesis 1"}Genesis 1 redet"

Hier kann man sehen, das bei "Genesis 1,1" auch "Genesis 1" indexiert wurde.
Um das zu vermeiden, suche ich eine Lösung.

PS: Die RTF-Datei habe ich nur erstellt um das Problem darstellen zu können. Die benötige ich natürlich nicht.
Das Problem müsste schon in ID gelöst werden.

Gruß JoPie


als Antwort auf: [#545127]

Bibelstellen mit IndexFromList_withSubtopics.jsx

Martin Fischer
  
Beiträge gesamt: 12783

4. Dez 2015, 09:32
Beitrag # 4 von 6
Beitrag ID: #545133
Bewertung:
(2548 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo JoPie,

zum Ersten müsste man im Skript die Suche nach den Ausdrücken auf GREP- statt TEXT-Suche umbauen.

Dann könnte man bei den Sucheinträgen GREP-Code integrieren.

In Deinem Fall etwa
Code
Genesis\s\d+(,\d+)? 


Damit könntest Du Dir die Wiederholung
Zitat Genesis 1
Genesis 1,1

sparen.


Möchtest Du mal versuchen, das Skript entsprechend umzubauen?


als Antwort auf: [#545131]
(Dieser Beitrag wurde von Martin Fischer am 4. Dez 2015, 09:33 geändert)

Bibelstellen mit IndexFromList_withSubtopics.jsx

Martin Fischer
  
Beiträge gesamt: 12783

4. Dez 2015, 11:52
Beitrag # 5 von 6
Beitrag ID: #545150
Bewertung:
(2511 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo JoPie,

alternativ könnte ich Dir ein Skript anbieten, das Indexeinträge auf der Basis von bedingtem Text erstellt.

1. Erstelle eine (oder mehrere) Bedingung(en) mit dem Begriff "Register" im Namen;
2. weise den zu indizierenden Begriffen die entsprechende Bedingung zu (z.B. per GREP-Suche);
3. führe das folgende Skript aus.

Code
/* 
conditions2index.jsx

//DESCRIPTION:Indexeinträge aus bedingtem Text mit 'register' im Namen.
VERSION: 0.3
AUTHOR: Martin Fischer
EMAIL: InDesign@MartinFischer.de
DATE: 30.10.2014
© Martin Fischer 2014
*/

main();

function main()
{
var myErr = mySucc = 0,
i = 0, myList = "", ct = new Array,
pb_max = pb_width = 400,
myMax = 0,
doc = app.activeDocument,
_index = ( doc.indexes.length == 0 )
? doc.indexes.add()
: doc.indexes.firstItem();

app.findTextPreferences = NothingEnum.nothing;

for (i = 0; i < doc.conditions.length; i++)
{
if (doc.conditions[i].name.match(/register/gi) != null)
ct.push(doc.conditions[i]);
}

for (i = 0; i < ct.length; i++)
cond2index(ct[i]);

app.findTextPreferences = NothingEnum.nothing;

if (myErr.length > 0)
alert('Achtung!\n' + myErr.join('\n'));
else
alert('Fertig!');

function cond2index(cond)
{
var f = null, oneEntry = 0, _topic = null, _topic_base = null, entry_arr = new Array, str = '', sur_name = '';
if (cond.name == "Register")
_topic_base = _index;
else
_topic_base = (_index.topics.itemByName( cond.name ).isValid) ? _index.topics.itemByName( cond.name ) : _index.topics.add( {name: cond.name});

app.findTextPreferences.appliedConditions = [cond];
f = doc.findText();
if (f.length > 0)
{
create_progresspanel(pb_max,pb_width, cond.name);
progress_panel.show();

myMax = f.length;
var pb_increment = pb_width/(myMax+1);

for( oneEntry = f.length-1; oneEntry > -1; oneEntry-- )
{
progress_panel.progress_bar.value += pb_increment;
progress_panel.counter_text.text= (myMax - oneEntry) + '/' + myMax;
str = f[oneEntry].contents.replace(/\s+/g,' ').replace(/\s+$/g,'');
if (cond.name.match(/autor|name/gi) != null)
{
entry_arr = str.split(' ');
if (entry_arr.length > 1)
{
sur_name = entry_arr.pop();
if (sur_name.match(/^[IVXLCDM]+\.$/) == null)
str = sur_name + ', ' + entry_arr.join(' ');
}
}


_topic = (_topic_base.topics.itemByName( str ).isValid) ? _topic_base.topics.itemByName( str ) : _topic_base.topics.add( {name: str });

try
{
_topic.pageReferences.add( f[oneEntry], PageReferenceType.currentPage ) ;
mySucc++;
}
catch(e) {
myList += f[oneEntry].contents + "\r" ;
myErr++;
}
}
progress_panel.close();
}
}

function create_progresspanel(pb_max, pb_width, title)
{
progress_panel = new Window('window', title);
progress_panel.progress_bar = progress_panel.add('progressbar', [12, 12, pb_width, 24], 0, pb_max);
progress_panel.counter_text = progress_panel.add('statictext', [12, 0, pb_width, 24], '');
return progress_panel;
}
}


Besonderheit:
Steckt im Namen der Bedingung der Begriff "Name" oder "Autor", dann versucht das Skript bei Einträgen mit mehreren Worten das letzte Wort nach vorne zu stellen und durch Komma vom Rest zu trennen.
Beispiel: "Gustav Knut" -> "Knut, Gustav".


als Antwort auf: [#545133]

Bibelstellen mit IndexFromList_withSubtopics.jsx

JoPie
Beiträge gesamt: 75

4. Dez 2015, 12:28
Beitrag # 6 von 6
Beitrag ID: #545155
Bewertung:
(2496 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

mit dem neuen Script könnte es funktionieren.
Ich werde es Morgen ausprobieren.

Gruß
JoPie


als Antwort auf: [#545150]
X

Aktuell

PDF / Print
enfocus_300

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!