[GastForen Programme Print/Bildbearbeitung Adobe InDesign Optionen für die Indexformatierung

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

Optionen für die Indexformatierung

M.Greiner
Beiträge gesamt: 49

10. Sep 2008, 13:35
Beitrag # 1 von 31
Bewertung:
(16040 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich erstelle einen Index in ID 5.0.2, was soweit auch gut klappt. Aber kann es sein, das bestimmte Einstellungen zur Indexformatierung (etwa "Seitenbereich"), nicht greifen? Bei mir werden alle gefundenen Seitenzahlen je einmal, getrennt durch Kommas, aufgelistet, also: 12,13,14,15. Ich hätte lieber 12-15.

Was mache ich (noch) falsch? – Habe mich redlich bemüht (Hilfe gelesen etc.), aber komme nicht weiter ...

Danke für Ihre/Eure Hilfe und Grüße von

Max Greiner
X

Optionen für die Indexformatierung

Martin Fischer
  
Beiträge gesamt: 12783

10. Sep 2008, 14:11
Beitrag # 2 von 31
Beitrag ID: #365551
Bewertung:
(16032 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Max,

an dem Begriff "Seitenbereich" habe ich mir auch schon die Zähne ausgebissen, denn ich erwartete so wie Du eine Zusammenfassung von aufeinanderfolgenden Seitenzahlen: 4-6 statt 4, 5, 6.

Seitenbereich meint aber etwas anderes.
Der wird relevant, wenn nicht auf eine Einzelseite (aktuelle Seite) verwiesen wird, sondern auf einen "Seitenbereich". ;-)

Also z.B. "Bis nächster Formatwechsel".
siehe auch http://help.adobe.com/...15-CA3BEDACF001.html


als Antwort auf: [#365547]

Optionen für die Indexformatierung

zaphodbeeblebroxx
Beiträge gesamt: 408

10. Sep 2008, 14:26
Beitrag # 3 von 31
Beitrag ID: #365553
Bewertung:
(16022 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
 
Hallo,

für die Aufbereitung von "Seitenbereichen" nehem ich immer folgendes Skript (CS2):

Code
//DESCRIPTION: re-range page numbers  

/*-----------------------------------------------------------------
Expand page ranges, sort, and do page ranges again
These formats are handled:

Leech, G., 1, 2, 3, 4, 6, 8, 9, 10, 15, 18, 20, 21, 22, 23
Leech, Geoff, 1, 2, 3, 4, 6, 8, 9, 10, 15, 18, 20, 21, 22, 23
Leech, G.\u20021, 2, 3, 4, 6, 8, 9, 10, 15, 18, 20, 21, 22, 23
Leech, Geoff\u20021, 2, 3, 4, 6, 8, 9, 10, 15, 18, 20, 21, 22, 23

span = 1: ‘1, 2, 3, 4, 6’ > ‘1-4, 6’
span = 2: ‘1, 2, 3, 4, 6’ > ‘1-6’
etc.

---------------------------------------------------------------------*/

span = 1

switch( app.selection[0].constructor.name )
{
case "TextFrame" : doStory(); break;
case "InsertionPoint" : doParagraph(); break;
default : errorM( "Select a text frame\ror an insertion point" )
}

function doStory()
{
var par = app.selection[0].parentStory.contents.split("\r");
for( var i = 0; i < par.length; i++ )
par[i] = oneLine( par[i] );
app.selection[0].parentStory.contents = par.join("\r")
}

function doParagraph()
{
var par = app.selection[0].paragraphs[0].contents.split("\r")[0];
app.selection[0].paragraphs[0].contents = oneLine( par ) + "\r"
}

function oneLine( p )
{
p = p.replace( /(\d+)\u2013(\d+)/g, expandNum );
//separate entry from the pages. Separation is: period or
//word character, perhaps followed by comma, followed by white space
p = p.replace( /([\.\w],?\s)(\d)(.+)\b/g, compressPages )
//alert(p); exit()
return p
}

function expandNum()
{
//alert(arguments[1]+"|"+arguments[2]);
var exp = "";
var start = +arguments[1];
var stop = +arguments[2];
for( var i = start; i < stop; i++ )
exp += i + ", ";
exp += stop;
return exp
}

function compressPages()
{
return arguments[1] + indexCompress(
(arguments[2]+arguments[3]).split(", ") )
}

function indexCompress( array )
{
array.sort( sortNum );
//arrayCompress( array )
var i = 0;
var j = 0; while( i < array.length )
{
j = i;
while( ( array[j+1] - +array[j] <= span ) && ( j < array.length ) )
j++;
if( j - i > 1 )
{
array[i] += "\u2013" + array[j ];
array.splice( i+1 , (j-i) )
}
i++;
}
return array.join(", ")
}

function sortNum( a, b )
{
return a - b
}

function errorM( m )
{
alert( m );
exit()
}



als Antwort auf: [#365551]

Optionen für die Indexformatierung

Martin Fischer
  
Beiträge gesamt: 12783

10. Sep 2008, 15:39
Beitrag # 4 von 31
Beitrag ID: #365568
Bewertung:
(15985 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Matthias,

unter CS3 geht es dank GREP etwas einfacher:
(das Skript setzt die Auswahl eines Textabschnitts voraus = Cursor in Textabschnitt platzieren oder Text auswählen)


Code
// groupSequentiellNum.jsx 

//DESCRIPTION: 1, 2, 4, 5, 6 -> 1-2, 4-6

var s = app.selection[0].parentStory;
app.findGrepPreferences = app.changeGrepPreferences = NothingEnum.nothing;

app.findGrepPreferences.findWhat = '\\d+, ([\\d+, ])+';
var r = s.findGrep();
for ( aLine = r.length-1; aLine >= 0; aLine-- )
r[aLine].contents= checkOneLine ( r[aLine].contents );

function checkOneLine ( aString )
{
var a = aString.split( ', ');
for ( var i = 0; i < aString.length-1; i++ )
{
var k = i +1;
while ( k < aString.length && a[k] == Number( a[k-1] ) + 1)
{
k++;
}
if ( Number(a[k-1]) > Number( a[i] ) )
{
a[i] = a[i] + '–' + a[k-1];
a.splice( i+1, k-1-i );
}
}
return a.join( ', ');
}


Das folgende Skript macht f. und ff. an Seitenfolgen dran:

1, 2, 4, 5, 6 -> 1f., 4ff.


Code
// groupSequentiellNumFF.jsx 

//DESCRIPTION: 1, 2, 4, 5, 6 -> 1f., 4ff.

var s = app.selection[0].parentStory;
app.findGrepPreferences = app.changeGrepPreferences = NothingEnum.nothing;

app.findGrepPreferences.findWhat = '\\d+, ([\\d+, ])+';
var r = s.findGrep();

var myMax = r.length;

for ( aLine = r.length-1; aLine >= 0; aLine-- )
r[aLine].contents= checkOneLine ( r[aLine].contents );


function checkOneLine ( aString )
{
var a = aString.split( ', ');
for ( var i = 0; i < aString.length-1; i++ )
{
var k = i;
var k = i +1;
while ( k < aString.length && a[k] == Number( a[k-1] ) + 1)
{
k++;
}
if ( Number(a[k-1]) >= Number( a[i] )+2 )
{
a[i] = a[i] + '\u2009ff.';
a.splice( i+1, k-1-i );
}
else if ( Number(a[k-1]) == Number( a[i] )+1 )
{
a[i] = a[i] + '\u2009f.';
a.splice( i+1, 1 );
}
}
return a.join( ', ');
}



als Antwort auf: [#365553]
(Dieser Beitrag wurde von Martin Fischer am 10. Sep 2008, 15:51 geändert)

Optionen für die Indexformatierung

M.Greiner
Beiträge gesamt: 49

10. Sep 2008, 16:14
Beitrag # 5 von 31
Beitrag ID: #365573
Bewertung:
(15965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,
danke für Deinen Hinweis. Tatsächlich führt die Adobe-Beschreibung des Features in die Irre.
Und natürlich einen großen Dank für die vielen Skripts, die Du schon ins Netz gestellt hast. Damit hast Du vielen – auch mir – geholfen, unsere Jobs termingerecht fertig zu bekommen.

Schöne Grüße aus Köln

Max


als Antwort auf: [#365551]

Optionen für die Indexformatierung

mezzo
Beiträge gesamt: 78

13. Jan 2016, 14:35
Beitrag # 6 von 31
Beitrag ID: #545925
Bewertung:
(14233 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

sagt mal, gibt es so ein Script auch für Indesign CC2015????

Vielen Dank schon einmal und liebe Grüße

Mezzo


als Antwort auf: [#365573]

Optionen für die Indexformatierung

mezzo
Beiträge gesamt: 78

13. Jan 2016, 14:57
Beitrag # 7 von 31
Beitrag ID: #545928
Bewertung:
(14219 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
 Oder bin ich zu dämlich zum installieren??? :-D

Habe das Script per cmd-c hier ratskopiert und im script Editor eingefügt. Dann im Scriptverzeichnis abgespeichert!

Folgende Fehlermeldung:

„„/““ kann hier nicht verwendet werden.

Was mach ich falsch????

Vielen Dank schon einmal und liebe Grüße

Mezzo


als Antwort auf: [#545925]

Optionen für die Indexformatierung

Martin Fischer
  
Beiträge gesamt: 12783

13. Jan 2016, 15:11
Beitrag # 8 von 31
Beitrag ID: #545930
Bewertung:
(14197 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mezzo,
Antwort auf: Habe das Script per cmd-c hier ratskopiert und im script Editor eingefügt. Dann im Scriptverzeichnis abgespeichert!


In welchen Skript-Editor hast Du den Code reinkopiert?
AppleScript Editor?
Das wäre in diesem Fall falsch, denn es handelt sich um ein JavaScript.

Kopiere den Text in einen Texteditor und sichere es im Skriptverzeichnis als Nur Text (nicht RTF, DOC o.Ä.).


als Antwort auf: [#545928]

Optionen für die Indexformatierung

mezzo
Beiträge gesamt: 78

13. Jan 2016, 15:22
Beitrag # 9 von 31
Beitrag ID: #545931
Bewertung:
(14194 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hat sich erledigt, des Rätsels Lösung war ExtendScript Toolkit! Damit läuft es! Vielen Dank für die Skripte!!!!!!!


als Antwort auf: [#545928]

Optionen für die Indexformatierung

yogy
Beiträge gesamt: 105

25. Sep 2019, 18:38
Beitrag # 10 von 31
Beitrag ID: #571970
Bewertung:
(11818 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Da sich InDesign hartnäckig weigert meine Seitenbereiche wenigstens mit Bisstrich zu verknüpfen, wurde ich hier fündig.

Hab dann mal dieses Makro ausprobiert und stelle fest, dass es durchaus gut funktioniert... Wobei eine Kombination von Bisstrich mit f. und ff. für mich sehr reizvoll wäre.

Leider bin ich was meine Ansprüche angeht ein wenig old school, aber wieso sollte man nicht am Bewährten festhalten.

Schön wäre daher die Möglichkeit eine Zahlenreihe wie

{9, 10, 12, 13, 14, 16, 17, 18, 19, 20}

per Makro nach {9 f., 12 ff., 16-20} tauschen zu können sodass n ff. auf drei aufeinander folgende Ziffern beschränkt wäre und bei größeren Zahlenbereichen der Bisstrich zum Einsatz käme.

Grüßle
yogy


als Antwort auf: [#545931]

Optionen für die Indexformatierung

Martin Fischer
  
Beiträge gesamt: 12783

27. Sep 2019, 08:05
Beitrag # 11 von 31
Beitrag ID: #571988
Bewertung:
(11740 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo yogy,

teste mal dies:

Code
// groupSequentiellNumFF+to.jsx 

//DESCRIPTION: 1, 2, 4, 5, 6, 8, 9, 10, 11 -> 1f., 4ff., 8-11

if (app.documents.length == 0) exit();
if (app.selection.length == 0 || !app.selection[0].hasOwnProperty('parentStory'))
error_exit('Bitte platzieren Sie die Einfügemarke in einem Textabschnitt oder wählen Sie einen Textrahmen.');

var s = app.selection[0].parentStory;
app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat = '\\d+, ([\\d+, ])+';
var r = s.findGrep();
app.findGrepPreferences = NothingEnum.nothing;

for ( var aLine = r.length-1; aLine >= 0; aLine-- )
r[aLine].contents= checkOneLine ( r[aLine].contents );


function checkOneLine ( aString )
{
var a = aString.split( ', ');
for ( var i = 0; i < aString.length-1; i++ )
{
var k = i +1;
while ( k < aString.length && a[k] == Number( a[k-1] ) + 1)
{
k++;
}
// 1-3
if ( Number(a[k-1]) > Number( a[i] )+2 )
{
a[i] = a[i] + '\u2013' + a[k-1];
a.splice( i+1, k-1-i );
}
// 1ff.
else if ( Number(a[k-1]) == Number( a[i] )+2 )
{
a[i] = a[i] + '\u2009ff.';
a.splice( i+1, k-1-i );
}
// 1f.
else if ( Number(a[k-1]) == Number( a[i] )+1 )
{
a[i] = a[i] + '\u2009f.';
a.splice( i+1, 1 );
}
}
return a.join( ', ');
}

function error_exit(message)
{
if (arguments.length > 0)
alert('Achtung!\n' + message);
exit();
}



als Antwort auf: [#571970]
(Dieser Beitrag wurde von Martin Fischer am 27. Sep 2019, 08:10 geändert)

Optionen für die Indexformatierung

yogy
Beiträge gesamt: 105

1. Okt 2019, 09:32
Beitrag # 12 von 31
Beitrag ID: #572025
Bewertung:
(11531 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

nun habe ich endlich das Script testen können, und was soll ich sagen: works like a charm!

Vielen herzlichen Dank lieber Martin

yogy


als Antwort auf: [#571988]

Optionen für die Indexformatierung

typecookie
Beiträge gesamt: 63

22. Okt 2019, 18:29
Beitrag # 13 von 31
Beitrag ID: #572471
Bewertung:
(10816 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallöchen zusammen,

wenn hier gerade das Wunschkonzert stattfindet ;-)) möchte ich mich an dieser Stelle einklinken.

Bekommt man per Script auch die Seitenfolgen 1–2 und 3–6 zu 1f. und 3ff. geändert?

Das wäre super …


als Antwort auf: [#572025]

Optionen für die Indexformatierung

Thomas Richard
Beiträge gesamt: 19334

22. Okt 2019, 18:39
Beitrag # 14 von 31
Beitrag ID: #572472
Bewertung:
(10811 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Tut's das denn nicht bereits?


als Antwort auf: [#572471]

Optionen für die Indexformatierung

typecookie
Beiträge gesamt: 63

23. Okt 2019, 09:53
Beitrag # 15 von 31
Beitrag ID: #572486
Bewertung:
(10712 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wenn ich das richtig sehe, tut es das nicht.
In diesem Script wird bei einer Seitenfolge von mehr als drei Seiten ein Gedanken- äääh Bis-Strich gesetzt. ich bräuchte aber ein Script, bei dem bereits vorhandene Bis-Striche entfernt werden.

Vielleicht noch einmal zur Erklärung:
Es gibt Seitenfolgen, die durch einen Gedankenstrich verbunden sind, also z.B. 1–2, 3–5, 6–10. 1–2 soll zu 1 f., 3–5 zu 3 ff. und 6–10 zu 6 ff. geändert werden.


als Antwort auf: [#572472]
(Dieser Beitrag wurde von typecookie am 23. Okt 2019, 09:57 geändert)

Optionen für die Indexformatierung

WernerPerplies
Beiträge gesamt: 2762

23. Okt 2019, 10:24
Beitrag # 16 von 31
Beitrag ID: #572487
Bewertung:
(6091 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

bei mir gibt es ein (kostenpflichtiges) Skript, das von InDesign erzeugte Stichwortverzeichnisse entsprechend aufbereiten sollte.

Da ich das Skript bereits vor längerer Zeit erstellt habe, müsste ich testen, ob es Deine Anforderungen komplett erfüllt.

Kontaktiere mich bei Interesse bitte mit einer Testdatei.


als Antwort auf: [#572486]

Optionen für die Indexformatierung

Martin Fischer
  
Beiträge gesamt: 12783

23. Okt 2019, 10:32
Beitrag # 17 von 31
Beitrag ID: #572488
Bewertung:
(6083 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ typecookie ] Wenn ich das richtig sehe, tut es das nicht.
In diesem Script wird bei einer Seitenfolge von mehr als drei Seiten ein Gedanken- äääh Bis-Strich gesetzt. ich bräuchte aber ein Script, bei dem bereits vorhandene Bis-Striche entfernt werden.


Du hast recht.
Das Skript tut DIES nicht.
Es war zur Überarbeitung eines von InDesign generierten Index konzipiert. Und dort taucht die von Dir zitierte Struktur (unbearbeitet) nicht auf.


als Antwort auf: [#572486]

Optionen für die Indexformatierung

typecookie
Beiträge gesamt: 63

23. Okt 2019, 10:53
Beitrag # 18 von 31
Beitrag ID: #572492
Bewertung:
(6079 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Und dort taucht die von Dir zitierte Struktur (unbearbeitet) nicht auf


Doch, das kann passieren ;-)

Bei einzelnen Indexmarken werden die Seitenzahlen im Index getrennt duch Kommata aufgelistet.
Wenn beim Anlegen der Indexmarke bei den Seitenverweisoptionen bei „Art:“ im Pop-Up-Menü aber „Für folgende Seitenzahl“ gewählt und 2 oder höher eingegeben wird, erstellt Indesign beim Erzeugen eines Indexes die Seitenfolge mit einem Gedankenstrich.


Da wir die Daten oft geliefert bekommen oder alte Dateien weiterverarbeiten müssen stellt sich immer wieder mal das Problem, den generierten Index „auf Schnell“ zu vereinheitllichen (f. und ff.). Da wäre eine Scriptlösung auch für das Bis-Strich-Problem bei machmal 50 Seiten Index hilfreich.


als Antwort auf: [#572488]
(Dieser Beitrag wurde von typecookie am 23. Okt 2019, 10:55 geändert)

Optionen für die Indexformatierung

Martin Fischer
  
Beiträge gesamt: 12783

23. Okt 2019, 11:03
Beitrag # 19 von 31
Beitrag ID: #572498
Bewertung:
(6069 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Wenn beim Anlegen der Indexmarke bei den Seitenverweisoptionen bei „Art:“ im Pop-Up-Menü aber „Für folgende Seitenzahl“ gewählt und 2 oder höher eingegeben wird, erstellt Indesign beim Erzeugen eines Indexes die Seitenfolge mit einem Gedankenstrich.


Stimmt, an diesen Fall hatte ich (mangels Praxis) nicht gedacht.


als Antwort auf: [#572492]

Optionen für die Indexformatierung

typecookie
Beiträge gesamt: 63

23. Okt 2019, 11:12
Beitrag # 20 von 31
Beitrag ID: #572500
Bewertung:
(6065 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wir haben häufiger mit Indices zu tun und vor allem mit unsauber angelegten oder „zusammengepfuschten“ Stichwortverzeichnissen.

Leider ist es mir bisher als (Noch-)Nichtscripter nicht gelungen, vorhandene Scripte dahingehend zu verändern, dass sie die Seitenfolgen mit Gedankenstrich zu f. und vor allem zu ff. verändern. :-((


als Antwort auf: [#572498]
(Dieser Beitrag wurde von typecookie am 23. Okt 2019, 11:13 geändert)

Optionen für die Indexformatierung

Martin Fischer
  
Beiträge gesamt: 12783

23. Okt 2019, 12:22
Beitrag # 21 von 31
Beitrag ID: #572502
Bewertung:
(6060 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo typecookie,

kannst Du das folgende Skript mal testen?

Bin mir nicht ganz sicher, ob alles berücksichtigt ist.

Als Bis-Strich werden sowohl der einfache Divis als auch der Halbgeviertstrich akzeptiert.

Code
// groupSequentiellNumFF.jsx  

//DESCRIPTION: 1, 2, 11, 12, 13, 21, 22, 23, 24, 31-32, 41-43, 51-54 -> 1f., 11ff., 21–24, 31f., 41ff., 51–54

if (app.documents.length == 0) exit();
if (app.selection.length == 0 || !app.selection[0].hasOwnProperty('parentStory'))
error_exit('Bitte platzieren Sie die Einfügemarke in einem Textabschnitt oder wählen Sie einen Textrahmen.');

var s = app.selection[0].parentStory;
app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat = '\\d+([–-]\\d+)?(, \\d+([–-]\\d+)?)*';
var r = s.findGrep();
//app.findGrepPreferences = NothingEnum.nothing;

for ( var aLine = r.length-1; aLine >= 0; aLine-- )
r[aLine].contents= checkOneLine ( r[aLine].contents );


function checkOneLine ( aString )
{
var a = aString.split( ', ');
for ( var i = 0; i < a.length; i++ )
{
if (a[i].match(/\d[-–]\d/) != null)
{
a[i] = a[i].replace(/-/g,'–');
var b = a[i].split('–');
if (Number(b[1]) - Number(b[0]) == 1)
a[i] = b[0] + '\u2009f.';
else if (Number(b[1]) - Number(b[0]) == 2)
a[i] = b[0] + '\u2009ff.';
}
else
{
var k = i +1;
while ( k < aString.length && a[k] == Number( a[k-1] ) + 1)
{
k++;
}
// 1-3
if ( Number(a[k-1]) > Number( a[i] )+2 )
{
a[i] = a[i] + '\u2013' + a[k-1];
a.splice( i+1, k-1-i );
}
// 1ff.
else if ( Number(a[k-1]) == Number( a[i] )+2 )
{
a[i] = a[i] + '\u2009ff.';
a.splice( i+1, k-1-i );
}
// 1f.
else if ( Number(a[k-1]) == Number( a[i] )+1 )
{
a[i] = a[i] + '\u2009f.';
a.splice( i+1, 1 );
}
}
}
return a.join( ', ');
}

function error_exit(message)
{
if (arguments.length > 0)
alert('Achtung!\n' + message);
exit();
}



als Antwort auf: [#572500]
(Dieser Beitrag wurde von Martin Fischer am 23. Okt 2019, 13:04 geändert)

Optionen für die Indexformatierung

typecookie
Beiträge gesamt: 63

23. Okt 2019, 12:53
Beitrag # 22 von 31
Beitrag ID: #572503
Bewertung:
(6042 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Herr Fischer,

ich bin geplättet, ob der prompten Umsetzung! Vielen Dank schon einmal dafür.

Natürlich hab ich das Script sofort getestet und – wie nicht anders erwartet – macht es das was die Description „1, 2, 4, 5, 6, 8, 9, 10, 11, 20-21, 30-32, 40-43 -> 1f., 4ff., 8-11, 20f., 30ff., 40-43“ sagt, aber …

nach Ausführung des Scriptes soll es nur noch f. und ff. geben. Also 8, 9, 10, 11 wird zu 8 ff. und 40–43 wird zu 40 ff..
Und es wäre toll, wenn zwischen Ziffer und f(f). immer ein Achtelgeviert stünde …

Ich hoffe, das ist verständlich und für Sie ohne Riesenaufwand umsetzbar??


als Antwort auf: [#572502]
(Dieser Beitrag wurde von typecookie am 23. Okt 2019, 12:55 geändert)

Optionen für die Indexformatierung

Martin Fischer
  
Beiträge gesamt: 12783

23. Okt 2019, 13:04
Beitrag # 23 von 31
Beitrag ID: #572504
Bewertung:
(6030 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das sollte es in Ihrem Sinne erledigen:

Code
// groupSequentiellNumFF+.jsx  

//DESCRIPTION: 1, 2, 11, 12, 13, 21, 22, 23, 24, 31-32, 41-43, 51-54 -> 1f., 5, 11ff., 21ff., 31f., 41ff., 51ff.

if (app.documents.length == 0) exit();
if (app.selection.length == 0 || !app.selection[0].hasOwnProperty('parentStory'))
error_exit('Bitte platzieren Sie die Einfügemarke in einem Textabschnitt oder wählen Sie einen Textrahmen.');

var s = app.selection[0].parentStory;
app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat = '\\d+([–-]\\d+)?(, \\d+([–-]\\d+)?)*';
var r = s.findGrep();
//app.findGrepPreferences = NothingEnum.nothing;

for ( var aLine = r.length-1; aLine >= 0; aLine-- )
r[aLine].contents= checkOneLine ( r[aLine].contents );


function checkOneLine ( aString )
{
var a = aString.split( ', ');
for ( var i = 0; i < a.length; i++ )
{
if (a[i].match(/\d[-–]\d/) != null)
{
a[i] = a[i].replace(/-/g,'–');
var b = a[i].split('–');
if (Number(b[1]) - Number(b[0]) == 1)
a[i] = b[0] + '\u2009f.';
else
a[i] = b[0] + '\u2009ff.';
}
else
{
var k = i +1;
while ( k < aString.length && a[k] == Number( a[k-1] ) + 1)
{
k++;
}
// 1ff.
if ( Number(a[k-1]) >= Number( a[i] )+2 )
{
a[i] = a[i] + '\u2009ff.';
a.splice( i+1, k-1-i );
}
// 1f.
else if ( Number(a[k-1]) == Number( a[i] )+1 )
{
a[i] = a[i] + '\u2009f.';
a.splice( i+1, 1 );
}
}
}
return a.join( ', ');
}

function error_exit(message)
{
if (arguments.length > 0)
alert('Achtung!\n' + message);
exit();
}



als Antwort auf: [#572503]
(Dieser Beitrag wurde von Martin Fischer am 23. Okt 2019, 13:20 geändert)

Optionen für die Indexformatierung

typecookie
Beiträge gesamt: 63

23. Okt 2019, 13:30
Beitrag # 24 von 31
Beitrag ID: #572506
Bewertung:
(6003 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Boooaaaahh … ich bin total hin und weg!! SUPER!

Das klappt einwandfrei und wird uns das Arbeiten erleichtern.
Was mich direkt zu der Frage bringt, wie wir Ihnen (Dir? – wie wird das hier im Forum eigentlich gehandhabt?) das vergüten können. Gibt es da eine Möglichkeit?

Auf jeden Fall schon mal einen ganz, ganz herzlichen Dank und meine aufrichtige Bewunderung …


als Antwort auf: [#572504]

Optionen für die Indexformatierung

Martin Fischer
  
Beiträge gesamt: 12783

23. Okt 2019, 13:50
Beitrag # 25 von 31
Beitrag ID: #572507
Bewertung:
(5995 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ typecookie ] Wie wir Ihnen (Dir? – wie wird das hier im Forum eigentlich gehandhabt?) das vergüten können.
Gibt es da eine Möglichkeit?


Es gibt die Möglichkeit einer Spende/Mitgliedschaft.

Damit ist allen geholfen.


als Antwort auf: [#572506]

Optionen für die Indexformatierung

typecookie
Beiträge gesamt: 63

23. Okt 2019, 14:04
Beitrag # 26 von 31
Beitrag ID: #572509
Bewertung:
(5982 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Erledigt!

Mitglied bin ich ja schon. Also hab ich rasch eine Spende auf den Weg gebracht.

Danke nochmal.


als Antwort auf: [#572507]

Optionen für die Indexformatierung

vglue
Beiträge gesamt: 14

18. Feb 2021, 18:51
Beitrag # 27 von 31
Beitrag ID: #578844
Bewertung:
(4383 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ganz herzlichen Dank für dieses Skript!

Und
Schöne Grüße aus Bonn.


als Antwort auf: [#572502]

Optionen für die Indexformatierung

Tanja B.
Beiträge gesamt: 2

17. Aug 2022, 15:32
Beitrag # 28 von 31
Beitrag ID: #584188
Bewertung:
(1817 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin Fischer,

ich habe hier dein Script groupSequentiellNumFF.jsx gefunden und bin begeistert, wie gut es funktioniert (auch in InDesign 2022). Es macht genau das, was es soll.

Jetzt habe ich das Problem, dass ich die Datei auch als PDF mit Hyperlinks veröffentliche und nachdem das Script den Index zusammengefasst hat, funktionieren die Links zu den Seiten nicht mehr.

Beispiel:
Begriff 1, 2, 3, 8, 9 (alle richtig verlinkt im PDF)

Nach Script:
Begriff 1 ff., 8 f. Auf der 8 liegt der Link von Seitenzahl 2.

Fällt dir dazu vielleicht irgendeine Lösung ein?

Viele Grüße
Tanja


als Antwort auf: [#365568]

Optionen für die Indexformatierung

Peter Sauseng
Beiträge gesamt: 484

18. Aug 2022, 14:49
Beitrag # 29 von 31
Beitrag ID: #584204
Bewertung:
(1717 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Tanja!

Das Problem kenne ich. Mit dem Acrobat-PlugIn AutoBookmark von Evermap können mit der Funktion "Link Numbers To Corresponding Pages" auf bestimmten Seiten bzw. einem bestimmten Bereich Links auf die jeweiligen Seitenzahlen eingefügt werden.
Die vorher bestehenden Links müssen dazu natürlich gelöscht werden.

Gruß, Peter


als Antwort auf: [#584188]

Optionen für die Indexformatierung

Tanja B.
Beiträge gesamt: 2

18. Aug 2022, 15:09
Beitrag # 30 von 31
Beitrag ID: #584205
Bewertung:
(1703 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Peter,

vielen Dank für den Tipp. Aber ich kann es leider nicht testen, da das PlugIn für Windows ist und ich am Mac arbeite.

Viele Grüße
Tanja


als Antwort auf: [#584204]

Optionen für die Indexformatierung

Peter Sauseng
Beiträge gesamt: 484

18. Aug 2022, 15:31
Beitrag # 31 von 31
Beitrag ID: #584206
Bewertung:
(1310 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Tanja!

Oh, das ist schade.

Gruß, Peter


als Antwort auf: [#584205]
X