[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Letztes Wort auf Seite finden (für epub)

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

Letztes Wort auf Seite finden (für epub)

imagica
Beiträge gesamt: 14

24. Sep 2012, 15:45
Beitrag # 1 von 9
Bewertung:
(1923 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ePup haben ja bekanntlich keine Seitenzahlen. Für eines unserer Werke ist aber die Zitierfähigkeit in der fertigen epub wichtig, d.h. es muss in der epub an der Stelle, wo die Seite im gedruckten Werk zu Ende ist, die Seitenzahl rein (z.B: ++Ende S. 34++).

Jetzt habe ich allerdings keine Möglichkeit in ID gefunden, nach dem letzten Wort auf einer Seite zu suchen und kommen hier nicht weiter.

Wenn jemand einen Tipp hätte, wäre ich begeistert!

Gruß Manny
X

Letztes Wort auf Seite finden (für epub)

Martin Fischer
  
Beiträge gesamt: 12783

24. Sep 2012, 16:07
Beitrag # 2 von 9
Beitrag ID: #501478
Bewertung:
(1899 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Manny,

das könnte per Skript erledigt (= eingearbeitet) werden, hängt aber von der Struktur des Dokuments bzw. des Seitenaufbaus und der Seitenelemente ab.

Man könnte etwa in einem Textabschnitt in einer Schleife rückwärts durch alle Textrahmen am Ende den String '++Ende S. ' + [Seitenzahl] + '++' einfügen.
Damit verhaut's allerdings den Umbruch gnadenlos, so dass dies nur in einer Spezialkopie des Dokument für den ePub-Export gemacht werden sollte.

Möglicherweise gibt es noch andere, einfachere und weniger destruktive Wege.


als Antwort auf: [#501471]

Letztes Wort auf Seite finden (für epub)

imagica
Beiträge gesamt: 14

24. Sep 2012, 16:31
Beitrag # 3 von 9
Beitrag ID: #501483
Bewertung:
(1869 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

sowas in der Richtung hatte ich mir gedacht, es müsste allerdings eher in Richtung gehen, die den Umbruch nicht verändert, vllt. durch einen verankerten Rahmen, der dann außerhalb steht und den Umbruch nicht beeinflusst....

Gruß


als Antwort auf: [#501478]

Letztes Wort auf Seite finden (für epub)

Hans Haesler
  
Beiträge gesamt: 5826

24. Sep 2012, 16:56
Beitrag # 4 von 9
Beitrag ID: #501486
Bewertung:
(1840 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Manny,

herzlich willkommen in der Skriptwerkstatt auf HDS! :-)

Dein Problem (in ähnlicher Form) wurde schon im Thema "Pagnierung am Seitenanfang ausgeben CS5" diskutiert:
http://www.hilfdirselbst.ch/..._P482610.html#482610

Probiere es bitte mal aus. Möglicherweise ist dieser Ansatz auch für Dich geeignet. Sonst: Nachhaken.

Gruss, Hans


als Antwort auf: [#501483]

Letztes Wort auf Seite finden (für epub)

imagica
Beiträge gesamt: 14

25. Sep 2012, 09:12
Beitrag # 5 von 9
Beitrag ID: #501515
Bewertung:
(1770 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

danke..danke..danke! Genau das habe ich gesucht!

Eine klitzekleinigkeit noch:

wie kann ich hier:
Code
var pageName = allFrames[f].parentPage.name; 

nicht die aktuelle sondern die vorherige Seite benutzen, quasi sowas wie: "parentPage.name-1"?

Gruß Manny


als Antwort auf: [#501486]

Letztes Wort auf Seite finden (für epub)

Hans Haesler
  
Beiträge gesamt: 5826

25. Sep 2012, 10:03
Beitrag # 6 von 9
Beitrag ID: #501521
Bewertung:
(1741 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Manny,

das ist kein Problem. Aber so direkt geht es nicht.

Warum? Weil pageName eine Textkette (= String) ist. Diese muss zuerst in eine Zahl (= Number) verwandelt werden. Dann kann man damit rechnen. Und das Ergebnis muss in einen String zurückverwandelt werden, damit der Wert in den Inhalt des Rahmens gesetzt werden kann.

Code
// die Textkette ... 
var pageName = allFrames[f].parentPage.name;
// ... multipliziert mit 1 wandelt sie in eine Zahl um
var pageNumber = pageName*1;
// davon 1 abziehen
var preNumber = pageNumber-1;
// an eine leere Textkette hängen, zurückwandeln in String
var pageName = "" + preNumber;

Das könnte in einer Zeile erledigt werden ...

Code
var pageName = "" + ((allFrames[f].parentPage.name)*1)-1; 

... ist aber nicht so gut lesbar.

Der Vollständigkeit halber: Das Umwandeln in eine Zahl sollte eigentlich mit der Methode parseInt() vorgenommen werden:

Code
var pageNumber = parseInt(pageName); 

Und das Zurückwandeln in einen String mit der Methode toString():

Code
var pageName   = preNumber.toString(); 

Aber die Kurzformen (*1 und "" +) sind halt rascher getippt ...

Gruss, Hans


als Antwort auf: [#501515]

Letztes Wort auf Seite finden (für epub)

imagica
Beiträge gesamt: 14

25. Sep 2012, 10:21
Beitrag # 7 von 9
Beitrag ID: #501525
Bewertung:
(1726 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

nochmals vielen Dank! Deine Erklärung hilft mir das für zukünftige Sachen zu verstehen.

Gruß Manny


als Antwort auf: [#501521]

Letztes Wort auf Seite finden (für epub)

Martin Fischer
  
Beiträge gesamt: 12783

25. Sep 2012, 10:39
Beitrag # 8 von 9
Beitrag ID: #501529
Bewertung:
(1710 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

weil ich mich gerade mit einem ähnlichen Problem im Umkreis der Ermittlung der Seitenzahl (= Name der Seite) beschäftige:

Deine Lösung setzt voraus, dass die Seitenzahl numerisch (nicht etwa römisch) ist, sich 1:1 von einem String ohne Verlust in eine Zahl umwandeln lässt und nicht ein Abschnittspräfix beim Namen der Seite verwendet wird.

Aber dies dürfte in der Regel so der Fall sein.


als Antwort auf: [#501521]

Letztes Wort auf Seite finden (für epub)

Hans Haesler
  
Beiträge gesamt: 5826

25. Sep 2012, 10:49
Beitrag # 9 von 9
Beitrag ID: #501532
Bewertung:
(1698 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

guter Einwand! Doch diese Probleme hatte ich bewusst weggelassen, weil für einen Einsteiger das Grundlegende schon anspruchsvoll genug ist.

Bei Bedarf kann man immer noch versuchen, die Erweiterungen einzubauen. Aber das Behandeln von Abschnitts-Präfizes und/oder römischen Zahlen ist nicht so einfach ...

Gruss, Hans


als Antwort auf: [#501529]
X