Antwort auf: FCBL fügt am Ende des Artikels das Wörtchen 'Ende' mit einem AF ein, sodaß ich mich beim Querverweis darauf beziehen kann. Und dann?
Geht das 'Ende' so – sichtbar – auch in Druck?
Ein Textanker wäre ein unsichtbares Ende.
Über den Druck hinaus. ;-)
So etwa könnte man
von einem ausgewählten Text (Autorenname) den Anker ans Ende des Textabschnitts werfen. Der Anker bekommt den Inhalt des ausgewählten Text zum Namen (oder bei Konflikten einen einzugebenden alternativen Namen).
Code if (app.selection.length == 0 || !app.selection[0].hasOwnProperty('baseline')) exit(); var d = app.activeDocument; var s = app.selection[0]; try { var myName = (app.selection[0].constructor.name == 'InsertionPoint') ? s.words.firstItem().contents : s.contents; } catch(e) { var myName = 'Irgendwas' } while ( myName == '' || d.hyperlinkTextDestinations.itemByName(myName).isValid) { myName = prompt('Alternativer Name für Quellenziel', myName+= '_'); if (myName == null) exit(); } var hl_destination = d.hyperlinkTextDestinations.add({destinationText:s.parentStory.insertionPoints.lastItem(), name:myName}); alert('Querverweisziel \r»' + myName + '« am Ende des Textabschnitts erstellt.') Das Gegenstück dazu (
Querverweis von ausgewählter Quelle zum ausgewählten Ziel ):
Code if (app.selection.length == 0 || !app.selection[0].hasOwnProperty('baseline')) exit(); var doc = app.activeDocument; var cr_name = 'Seitenverweis'; var myHLdest = myDisplayDialog(doc); var sel = app.selection[0]; // Prüfung Vorhandensein von Querverweisformat var cr_format = doc.crossReferenceFormats.itemByName(cr_name); if (cr_format == null) { cr_format = doc.crossReferenceFormats.add({name:cr_name}); // cr_format.buildingBlocks.add({blockType:BuildingBlockTypes.CUSTOM_STRING_BUILDING_BLOCK, customText: '–'}); cr_format.buildingBlocks.add({blockType:BuildingBlockTypes.PAGE_NUMBER_BUILDING_BLOCK}); } // Quelle des Querverweises hinzufügen var cr_source = doc.crossReferenceSources.add({sourceText: sel.insertionPoints.firstItem(), appliedFormat: cr_format}); // Querverweis von Quelle zu Ziel hinzufügen app.documents.firstItem().hyperlinks.add(cr_source, myHLdest); function myDisplayDialog(doc){ var myFieldWidth = 120; var hl_destinations = doc.hyperlinkTextDestinations.everyItem().name; var myDialog = app.dialogs.add({name:"Querverweise"}); with(myDialog.dialogColumns.add()){ with(dialogRows.add()){ with(dialogColumns.add()){ staticTexts.add({staticLabel:"Hyperlinkziel:", minWidth:myFieldWidth}); } with(dialogColumns.add()){ var mySourceDropdown = dropdowns.add({stringList:hl_destinations, selectedIndex:hl_destinations.length-1}); } } } var myResult = myDialog.show(); if(myResult == true){ var the_hldest =doc.hyperlinkTextDestinations.item(mySourceDropdown.selectedIndex); myDialog.destroy(); } else{ myDialog.destroy() exit(); } return the_hldest; } Oder, um
automatische Seitenzahl und Querverweis zum ausgewählten Textanker einzugeben (z.B. '1–10'):
Code if (app.selection.length == 0 || !app.selection[0].hasOwnProperty('baseline')) exit(); var doc = app.activeDocument; var cr_name = 'Seitenverweis'; var myHLdest = myDisplayDialog(doc); var sel = app.selection[0]; // Prüfung Vorhandensein von Querverweisformat var cr_format = doc.crossReferenceFormats.itemByName(cr_name); if (cr_format == null) { cr_format = doc.crossReferenceFormats.add({name:cr_name}); // cr_format.buildingBlocks.add({blockType:BuildingBlockTypes.CUSTOM_STRING_BUILDING_BLOCK, customText: '–'}); cr_format.buildingBlocks.add({blockType:BuildingBlockTypes.PAGE_NUMBER_BUILDING_BLOCK}); } // Quelle des Querverweises hinzufügen var cr_source = doc.crossReferenceSources.add({sourceText: sel.insertionPoints.firstItem(), appliedFormat: cr_format}); // Querverweis von Quelle zu Ziel hinzufügen app.documents.firstItem().hyperlinks.add(cr_source, myHLdest); // aktuelle Seitenzahl sel.insertionPoints.firstItem().contents = "–"; sel.insertionPoints.firstItem().contents = SpecialCharacters.AUTO_PAGE_NUMBER; function myDisplayDialog(doc){ var myFieldWidth = 120; var hl_destinations = doc.hyperlinkTextDestinations.everyItem().name; var myDialog = app.dialogs.add({name:"Querverweise"}); with(myDialog.dialogColumns.add()){ with(dialogRows.add()){ with(dialogColumns.add()){ staticTexts.add({staticLabel:"Hyperlinkziel:", minWidth:myFieldWidth}); } with(dialogColumns.add()){ var mySourceDropdown = dropdowns.add({stringList:hl_destinations, selectedIndex:hl_destinations.length-1}); } } } var myResult = myDialog.show(); if(myResult == true){ var the_hldest =doc.hyperlinkTextDestinations.item(mySourceDropdown.selectedIndex); myDialog.destroy(); } else{ myDialog.destroy() exit(); } return the_hldest; }