Script:
// Gruppierungf_ff.jsx
//Beschreibung: aus 1, 2, 10, 11, 12 -> 1f., 10ff.
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( ', ');
}
Genial! Danke!
AntwortenLöschenVery nice!
AntwortenLöschen