[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt notes2text nach CS3-5.5

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

notes2text nach CS3-5.5

Jabadabadu
Beiträge gesamt: 244

25. Aug 2011, 17:54
Beitrag # 1 von 3
Bewertung:
(1775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo an alle Könner -- ich bin leider kein Script-Guru ;-),

bisher konnte ich mit dem Script notes2text (in CS2) wunderbar arbeiten, um vor der Indexerstellung auch die Begriffe in den Fußnoten auszeichnen und damit dann den Index erstellen zu können. Nach dem Umstieg auf CS4 scheitert die Abarbeitung des Scripts. Hier die von mir verwendete Version. Sorry, dass ich das komplette Script bringe, aber bisher habe ich keine Adaption für CS4 gefunden.

Ich habe in Zeile 30 schon
Code
app.findTextPreferences = app.changeTextPreferences = null 

aktualisiert; nun mosert die Maschine für Zeile 31:
Code
var notes = theStory.search( '^F' ) 

sei keine Funktion.


Code
// notes2text.jsx  
//DESCRIPTION: Converts footnotes of every story to text or back text to footnotes

// An InDesign CS2 script from Peter Kahrel
// with some adjustments and additions (Dialog to select the operation,
// considering every story but only the selected one) by Martin Fischer

//some global constants
notecueStyle = 'Fußnotenzeichen' //cues, char. style
notenumStyle = 'Fußnotenzeichen' //note number (in foot- and in endnotes), char. style
noteStyle = 'FN' //for notes, paragraph style
notePar1Style = 'FN' //for first paragraph in note, par. style
sepText = '\u2002' //separator text in notes
noteStart = '\u2704' //codes for notes when
noteEnd = '\u2705' //placed at end of story
u = undefined
//---------------------------------------------------------------------

var myResult = myDialog();
var myStories = app.documents[0].stories;
for (oneStory = 0; oneStory < myStories.length; oneStory++)
{
if (myResult == "notes2Text")
notes2text( myStories[oneStory] )
else text2Footnotes(myStories[oneStory])
}

function notes2text( theStory )
{
app.findTextPreferences = app.changeTextPreferences = null
var notes = theStory.search( '^F' )
if( notes.length > 0 )
{
app.activeDocument.footnoteOptions.separatorText = ''
app.activeDocument.footnoteOptions.markerPositioning =
FootnoteMarkerPositioning.normalMarker
for( var j = 0; j < theStory.footnotes.length; j++ )
{
theStory.insertionPoints[-1].contents = '\r' + noteStart
theStory.footnotes[j].texts[0].move(
LocationOptions.after, theStory.insertionPoints[-1] )
theStory.insertionPoints[-1].contents = noteEnd
}
//must refresh 'notes'
var notes = theStory.search( '^F' )
for( var j = theStory.footnotes.length-1; j > -1; j-- )
notes[j].insertionPoints[0].contents = '</cue>'
theStory.search( '^F', false, false, '' )
}
}

//-----------------------------------------------------------------------

function text2Footnotes(theStory)
{
app.findTextPreferences = app.changeTextPreferences = null
var cues = theStory.search( '</cue>' )
if( cues.length > 0 )
{
doNoteStyles()
var nStart = theStory.search( noteStart, false, true )
//var story = cues[0].parentStory
theStory.paragraphs.itemByRange(
nStart[0].paragraphs[0],
theStory.paragraphs[-1] ).applyStyle
( pStyles.item( noteStyle ), false )
//apply notePar1Style to first paragraph of each note
for( var j = nStart.length-1; j > -1; j-- )
nStart[j].paragraphs[0].applyStyle
( pStyles.item( notePar1Style ), false )

with( app.activeDocument.footnoteOptions )
{
footnoteTextStyle = pStyles.item( notePar1Style )
separatorText = sepText
footnoteMarkerStyle = chStyles.item( notecueStyle )
markerPositioning = FootnoteMarkerPositioning.normalMarker
}
for( var j = cues.length-1; j > -1; j-- )
var fn = cues[j].insertionPoints[0].footnotes.add()
var nStart = theStory.search( noteStart, false, true )
var nEnd = theStory.search( noteEnd, false, true )
for( var j = cues.length-1; j > -1; j-- )
theStory.characters.itemByRange( nStart[j], nEnd[j] ).move
( LocationOptions.after, theStory.footnotes[j].insertionPoints[-1] )
theStory.search( '</cue>', false, true, '' )
//delete placeholdres
theStory.search( noteStart, u, u, '' )
theStory.search( noteEnd, u, u, '' )
//mop up stray hard returns
while( theStory.characters[-1].contents == '\r' )
theStory.characters[-1].remove()
}
}

//--------------------------------------------------------------------------

//create some styles for notes
function doNoteStyles()
{
chStyles = app.activeDocument.characterStyles
if( chStyles.item( notecueStyle ) == null )
chStyles.add( { name : notecueStyle, position : Position.superscript } )
if( chStyles.item( notenumStyle ) == null )
chStyles.add( { name : notenumStyle } )
pStyles = app.activeDocument.paragraphStyles
if( pStyles.item( noteStyle ) == null )
pStyles.add( {
name : noteStyle,
basedOn : pStyles.item('[Basic Paragraph]') } )
if( pStyles.item( notePar1Style ) == null )
{
var temp = pStyles.add( {
name : notePar1Style,
basedOn : pStyles.item( noteStyle ) } )
with( temp.nestedStyles.add() )
{
appliedCharacterStyle = chStyles.item( notenumStyle )
delimiter = NestedStyleDelimiters.anyWord
inclusive = true
}
}
}

//-----------------------------------------------------------------------

function myDialog(myDefaultPara01,myDefaultPara02)
{
var myDialog = app.dialogs.add({name:"Operation"});
var theChoice = ["notes2Text", "text2Footnotes"];
with(myDialog.dialogColumns.add()){
with(dialogRows.add()){
with(dialogColumns.add()){
staticTexts.add({staticLabel:"Choice:"});
}
with(dialogColumns.add()){
var myChoiceDropdown = dropdowns.add({stringList:theChoice, selectedIndex:0});
}
}
}
var theResult = myDialog.show();
if(theResult == true){
var theOpera = theChoice[myChoiceDropdown.selectedIndex]
myDialog.destroy();
}
else{
myDialog.destroy();
exit();
}
return theOpera;
}


Wie kann ich den "Fehler" für CS4 anpassen, dass die Maschine durchläuft und alle Fußnoten in endnoten verwandelt (mit der Rcüksicherung, dass ich nach der Indizierung per Text-Liste die Endnoten wieder in Fußnoten zurückwandeln kann?

Bin dankbar für jede Hilfe.
X

notes2text nach CS3-5.5

Peter Kahrel
Beiträge gesamt: 182

27. Aug 2011, 10:23
Beitrag # 2 von 3
Beitrag ID: #479020
Bewertung:
(1720 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Jörn,

The script was necessary in CS2 because of a bug in CS2's footnote scripting. However, that bug was resolved in CS3, so that the script is no longer necessary. Simply run index scripts on InDesign documents containing footnotes.

Peter


als Antwort auf: [#478877]

notes2text nach CS3-5.5

Jabadabadu
Beiträge gesamt: 244

28. Aug 2011, 11:42
Beitrag # 3 von 3
Beitrag ID: #479064
Bewertung:
(1678 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke an Peter Kahrel und Martin Fischer (in PM) für den Hinweis auf meinen Denkfehler; habe die Indizierung ausprobiert, funktioniert wie gewünscht. Also schmeiß ich das CS2-Skript schnell weg.

Einen schönen Sonntag noch.


als Antwort auf: [#479020]

Aktuell

InDesign / Illustrator
axaio_PR_Bild_300x300_10_22

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
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/