Connect failed: Connection timed out

[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Seitenumfang in bibliographischen Angaben eines Testabschnitts (war: Verankertes Objekt per Script erzeugen?)

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

Seitenumfang in bibliographischen Angaben eines Testabschnitts (war: Verankertes Objekt per Script erzeugen?)

Quarz
Beiträge gesamt: 3550

14. Dez 2009, 13:18
Beitrag # 1 von 18
Bewertung:
(13450 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

ich mach mal ein neues Fass auf, und verlängere nicht den
Threat Verankertes Objekt per Script erzeugen?.

Also zu meinem Problem:

Um eine Marginalie, die mir vom Titel aus einen Textrahmen für
die Jahrgangsangaben unten auf der Seite einrichtet, benutzte
ich das Script, s.o.

insertAnchoredFrame_simpleVersion.jxs
http://www.hilfdirselbst.ch/..._P205732.html#205732


Das Script ist im Laufe der Zeit schon dahingehend erweitert
worden, dass ich im Script einen/den Text eintragen konnte.

myFrame.insertionPoints[0].select();
myFrame.contents=mySelection.contents;
app.selection[0].contents = "zmr | 93. Jahrgang | 2009 | x - y"

x = autom Seitenzahl
y = Querverweis für Artikelende

Ließe sich das machen, dass das Script die Angabe für die
autom. Seitenzahl enthält?
(Den Querverweis, kann ich 'mit der Hand' eintragen.)

Gruß
Quarz


--------------------------------------------
InDesign CS4 ver6.04 | WinXP SP3


(Dieser Beitrag wurde von Martin Fischer am 14. Dez 2009, 17:58 geändert)
X

Verankertes Objekt per Script erzeugen?

Martin Fischer
  
Beiträge gesamt: 12779

14. Dez 2009, 14:25
Beitrag # 2 von 18
Beitrag ID: #427682
Bewertung:
(13385 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

versuch's mal damit:
Code
if (app.selection.length == 0 || !app.selection[0].hasOwnProperty('baseline')) 
exit();

var mySelection = app.selection[0];
var myOStyle = app.activeDocument.objectStyles.item("Marginalien"); // Objektstil
if (myOStyle == null)
{
alert('Objektstil \"Marginalien\" nicht vorhanden.');
exit();
}
var myBounds = [ "0p", "0p", "33mm", "18mm"]; // Koordinaten des Marginalientextrahmens [y1, x1, y2, x2]

var myFrame = mySelection.insertionPoints[0].textFrames.add(); // Einfügen eines Textrahmen am Einfügepunkt (Cursor)
myFrame.parent.parentTextFrames[0].characters.length;
myFrame.geometricBounds = myBounds; // Zuweisung der Koordinaten (Höhe und Breite)
myFrame.applyObjectStyle(myOStyle, true); // Zuweisung des Objektstils

//myFrame.contents = "zmr | 93. Jahrgang | 2009 | " + SpecialCharacters.AUTO_PAGE_NUMBER + "–y";

myFrame.contents = SpecialCharacters.AUTO_PAGE_NUMBER;
myFrame.insertionPoints.lastItem().contents = "–y";
myFrame.insertionPoints.firstItem().contents = "zmr | 93. Jahrgang | 2009 | ";
myFrame.characters.lastItem().select();



als Antwort auf: [#427664]

Verankertes Objekt per Script erzeugen?

Quarz
Beiträge gesamt: 3550

14. Dez 2009, 16:13
Beitrag # 3 von 18
Beitrag ID: #427707
Bewertung:
(13369 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

Klasse - ganz große Klasse :-)))

Machst Du das auch so?

Gruß
Quarz


--------------------------------------------
InDesign CS4 ver6.04 | WinXP SP3



als Antwort auf: [#427682]

Verankertes Objekt per Script erzeugen?

Martin Fischer
  
Beiträge gesamt: 12779

14. Dez 2009, 16:37
Beitrag # 4 von 18
Beitrag ID: #427711
Bewertung:
(13360 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nein, ich mach das nicht per Skript.

Für die jeweils ersten Seiten der Beiträge meiner Zeitschriften habe ich eine spezielle Musterseite angelegt, wo neben den bibliographischen Angaben die Hinweise zum Seitenumfang drin stehen.
Die automatische Seitennummer steht schon drin. Den Querverweis auf den Textanker am Ende des Beitrags bringe ich aber (ähnlich wie Du) von Hand ein.

Mein Verfahren ist gewiss nicht das optimale.
(Besser als die Lösung mit der Musterseite wär's etwa über ein Bibliotheksobjekt).
Aber ich habe mich halt dran gewöhnt und nehm's grad so, wie's schon immer kommt. ;-)

Und wenn ich mal wieder viel Zeit habe, werde ich mir dafür noch ein Skript basteln, wo der Textanker ausgewählt werden kann. Du bist jetzt schon als Betatester vorgemerkt. ;-)
Allerdings schätze ich beim jetzigen Vorgehen die Kontrollmöglichkeit.
Ich vertraue nicht blindlings jedem Automatismus.
Schon gar nicht meinen eigenen.


als Antwort auf: [#427707]
(Dieser Beitrag wurde von Martin Fischer am 14. Dez 2009, 16:40 geändert)

Verankertes Objekt per Script erzeugen?

Quarz
Beiträge gesamt: 3550

14. Dez 2009, 16:56
Beitrag # 5 von 18
Beitrag ID: #427715
Bewertung:
(13348 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

ich glaube, dass mit den Musterseiten für die erste Seite
der einzelnen Beiträge ist eine gute Idee.
Zumal dort keine Seitenzahl auftaucht und die Kolumnenlinie
bei mir fetter ist.

›Man‹ lernt doch nie aus ;-)

Gruß
Quarz


--------------------------------------------
InDesign CS4 ver6.04 | WinXP SP3



als Antwort auf: [#427711]

Seitenumfang in bibliographischen Angaben eines Testabschnitts

Martin Fischer
  
Beiträge gesamt: 12779

14. Dez 2009, 17:50
Beitrag # 6 von 18
Beitrag ID: #427719
Bewertung:
(13334 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Zumal dort keine Seitenzahl auftaucht

Eben deswegen und wegen aufgeblendeten Kolumnentiteln und andere Besonderheiten der ersten Seite hatte ich mich vor längerer Zeit für die Musterseitenlösung entschieden.

Das Lösen des bibliographischen Blocks ist allerdings eine wacklige Lösung. Falls die bibliographischen Angaben geändert werden (Bandnr., Erscheinungsdatum), reicht nicht eine Änderung auf den Musterseiten alleine aus (ok, hier könnte man stattdessen auch mit Textvariablen arbeiten, die sich überall anpassen).

Eine erneute Zuweisung der Musterseite auf eine erste Seite mit gelöstem bibliographischen Block hätte zur Konsequenz, dass das Musterseitenobjekt wieder durchscheint.
Deswegen wäre hier einem Bibliotheksobjekt der Vorzug zu geben.


als Antwort auf: [#427715]
(Dieser Beitrag wurde von Martin Fischer am 14. Dez 2009, 17:58 geändert)

Seitenumfang in bibliographischen Angaben eines Testabschnitts

Quarz
Beiträge gesamt: 3550

14. Dez 2009, 17:59
Beitrag # 7 von 18
Beitrag ID: #427720
Bewertung:
(13324 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

der Auftrag ist noch nicht da.
Ich mach mir nur schon mal Gedanken, wie es noch besser
gehen könnte.

Vielleicht mache ich eine Kombination aus Musterseite und
Script für die bibliographischen Angaben.

Dann habe ich nicht das Problem mit dem Lösen und dem
Stehenbleiben.
Und, wenn eine Seite mehr oder weniger kommt, gehen die
bibliographischen Angaben durch die Verankerung wunderbar mit.

Gruß
Quarz


--------------------------------------------
InDesign CS4 ver6.04 | WinXP SP3



als Antwort auf: [#427719]

Seitenumfang in bibliographischen Angaben eines Testabschnitts

Martin Fischer
  
Beiträge gesamt: 12779

14. Dez 2009, 18:27
Beitrag # 8 von 18
Beitrag ID: #427723
Bewertung:
(13314 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Und, wenn eine Seite mehr oder weniger kommt, gehen die
bibliographischen Angaben durch die Verankerung wunderbar mit.


Wo stehen bei Dir die bibliographischen Angaben?
Bei mir stehen sie auf der erste Seite des Beitrags, mit einer Zeile Abstand zur unteren Satzspiegelkante.

Verankerte Objekte suche ich wo es geht zu meiden.
Wie schnell vergisst man einen Anker oder übersieht man bestimmte Konsequenzen, die er mit sich bringen kann (z.B. Silbentrennung).


als Antwort auf: [#427720]

Seitenumfang in bibliographischen Angaben eines Testabschnitts

Quarz
Beiträge gesamt: 3550

14. Dez 2009, 20:38
Beitrag # 9 von 18
Beitrag ID: #427733
Bewertung:
(13290 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

bei 'mir' stehen 'sie' - siehe Anlage.

Bis jetzt bin ich mit diesen verankerten Objekten noch
nicht durcheinander gekommen.

Ob ich nun Querverweise oder Hyperlinkziele verwenden
werde, weiß ich noch nicht.

Ich bin die Querverweise so gewöhnt.
FCBL fügt am Ende des Artikels das Wörtchen 'Ende' mit
einem AF ein, sodaß ich mich beim Querverweis darauf
beziehen kann.


Gruß
Quarz


--------------------------------------------
InDesign CS4 ver6.04 | WinXP SP3



als Antwort auf: [#427723]
Anhang:
Muster bibliographische Angaben.pdf (56.9 KB)

Seitenumfang in bibliographischen Angaben eines Testabschnitts

Martin Fischer
  
Beiträge gesamt: 12779

14. Dez 2009, 23:16
Beitrag # 10 von 18
Beitrag ID: #427747
Bewertung:
(13271 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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;
}



als Antwort auf: [#427733]
(Dieser Beitrag wurde von Martin Fischer am 15. Dez 2009, 06:39 geändert)

Seitenumfang in bibliographischen Angaben eines Testabschnitts

Quarz
Beiträge gesamt: 3550

15. Dez 2009, 10:19
Beitrag # 11 von 18
Beitrag ID: #427802
Bewertung:
(13220 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Martin :-)))

ich glaube, ich habe jetzt das fast Non-plus-ultra für
mich gefunden.

Mit 3 Klicks steht die bibliographische Angabe unten
auf der Seite.

Verwendet werden folgende Scripte:.
1. Querverweis aus ausgewählten Txt.jsx
2. Textrahmen mit bibliographischen Angaben.jsx
3. autom SZahl + Querverweis.jsx
und
4. Script von Peter Kahrel, um mehrere Scripte
hintereinander laufen zu lassen, in die ich die o.g.
3 Scripte gesetzt habe.


Allerdings gibt es noch einen kleinen Schönheitsfehler.

Wenn ich ein Wort markiere, z.B. den Autor, dann wird
mir Folgendes platziert:
Müllerzmr | 93. Jahrgang | 2009 | 2 - 13

Wenn ich nichts markiere, nur den Cusor positioniere,
dann ist es richtig
zmr | 93. Jahrgang | 2009 | 2 - 13


-------------------------
Script von Peter Kahrel
http://www.hilfdirselbst.ch/...i?post=411580#411580


Gruß
Quarz

--------------------------------------------
InDesign CS4 ver6.04 | WinXP SP3



als Antwort auf: [#427747]
Anhang:
Danke.jpg (36.7 KB)

Seitenumfang in bibliographischen Angaben eines Testabschnitts

Quarz
Beiträge gesamt: 3550

15. Dez 2009, 18:08
Beitrag # 12 von 18
Beitrag ID: #427954
Bewertung:
(13194 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

ich hab’s gefunden, wie ich den Schönheitsfehler
beseitigen kann.

zu 1.
Nicht das Wort markieren, sondern den Cursor in das
Wort setzen.

Und alles ist gut ;-)

Gruß
Quarz

--------------------------------------------
InDesign CS4 ver6.04 | WinXP SP3



als Antwort auf: [#427802]

Seitenumfang in bibliographischen Angaben eines Testabschnitts

Martin Fischer
  
Beiträge gesamt: 12779

15. Dez 2009, 18:21
Beitrag # 13 von 18
Beitrag ID: #427955
Bewertung:
(13187 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

> Und alles ist gut ;-)

Nun, Dir kann ich es ja in aller Heimlichkeit verraten:
Es gibt da oben eine Stelle, da habe ich geschlampert, weil ich keine Lust hatte, alle möglichen Situationen auszubrüten und darauf zu reagieren.

Vielleicht bist Du da jetzt in die Falle getappt und bist dem fiesen Trick auf die Schliche gekommen.
Sobald ich mit diesen beiden Skripten oben mal vernünftig arbeiten werde (und das werde ich), folgt Besserung.

Es handelt sich um diese Stelle:
Code
try   
{
var myName = (app.selection[0].constructor.name == 'InsertionPoint')
? s.words.firstItem().contents
: s.contents;
}
catch(e)
{
var myName = 'Irgendwas'
}

Kam bei Dir mal 'Irgendwas' dazwischen?


als Antwort auf: [#427954]

Seitenumfang in bibliographischen Angaben eines Testabschnitts

Quarz
Beiträge gesamt: 3550

15. Dez 2009, 18:31
Beitrag # 14 von 18
Beitrag ID: #427956
Bewertung:
(13179 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

wenn ich den Cursor ans Ende eines Wortes stelle wird
Irgendwas als Anker gespeichert, und kommt dann nicht
'dazwischen'.

Aber - es kann nur einmal Irgendwas als Anker gespeichert
werden.

Gruß
Quarz

--------------------------------------------
InDesign CS4 ver6.04 | WinXP SP3



als Antwort auf: [#427955]

Seitenumfang in bibliographischen Angaben eines Testabschnitts

Quarz
Beiträge gesamt: 3550

18. Okt 2010, 16:46
Beitrag # 15 von 18
Beitrag ID: #454403
Bewertung:
(12012 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

jetzt ist dieser thread fast ein Jahr alt, und ich bin
mittlerweile von CS4 auf CS5 umgestiegen.

Das Script
automatische Seitenzahl und Querverweis zum
ausgewählten Textanker (z.B. '1–10'):

siehe oben oder folgend:

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;
}

bringt mir unter CS5 einen Absturz.

Ich würde natürlich auch gerne unter CS5
automatisch die ›bibliographischen Angaben‹
machen.

Hat sich irgendetwas am Code in CS5 verändert?

Vielleicht kannst Du ja mal einen Blick drüberwerfen.


Gruß
Quarz

----------------------------------------------------------
InDesign CS4 6.05 + CS5 7.02 | Win7/64 Prof.



als Antwort auf: [#427956]
X