[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:
(16051 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:
(16043 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:
(16033 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:
(15996 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:
(15976 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:
(14244 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:
(14230 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:
(14208 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:
(14205 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:
(11829 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:
(11751 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:
(11542 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:
(10827 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:
(10822 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:
(10723 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)
X