Noch eine Frage zu POD
am 14.09.2006 13:57:58 von Ferry Bolhar
Hallo liebe NG,
wie in einem früheren Posting schon erwähnt, muss ich Dokumentation,
die auch etliche Fußnoten enthält, auf POD umschreiben. Um meinen
Lesern den Umgang mit der Doku möglichst einfach zu machen, dachte
ich, ich könne im Text einen Verweis auf die jeweilige Fußnote machen
und von der Fußnote zurück zum Text, sodass man zur Fußnote hin-
und von dort in den Text zurückwandern kann.
POD kennt dafür die L<> Direktive, und ich dachte, ich kann damit
(lt. der Beschreibung in perlpod):
=item Text1
Dies ist ein Text L<[1]|/Fussnote1>.
....
=item Fussnote1
Das ist die Fußnote. Hier gehts Lck|/Text1> zum Text.
Das funktioniert (zumindest mit perldoc) aber nicht - der Text wird
zwar richtig dargestellt, aber es gibt keine Navigier-Funktionalität.
Habe ich den Sinn von L<> falsch verstanden? Oder wo liegt das
Problem?
Ach ja, und perldoc motzt einerseits über Umlaute im Text:
WARNING: old character encoding and/or character set
stellt aber andererseits zB. ein E als "ue" dar, und nicht als
Umlaut.
Hat schon jemand Erfahrung mit dem Erstellen von POD und kann
mir helfen?
Schönen Dank im Voraus, und liebe Grüße aus Wien,
Ferry
--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol@adv.magwien.gv.at
Re: Noch eine Frage zu POD
am 14.09.2006 14:28:05 von Frank Seitz
Ferry Bolhar wrote:
> Das funktioniert (zumindest mit perldoc) aber nicht - der Text wird
> zwar richtig dargestellt, aber es gibt keine Navigier-Funktionalität.
Du erwartetst, dass perldoc Dir eine Link-Navigation anbietet?
Perldoc konvertiert doch via nroff in normalen Text und leitet
das Resultat in einen Pager. Wo soll da eine Navigation herkommen?
Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel
Re: Noch eine Frage zu POD
am 14.09.2006 15:39:29 von Ferry Bolhar
Frank Seitz:
> Du erwartetst, dass perldoc Dir eine Link-Navigation anbietet?
> Perldoc konvertiert doch via nroff in normalen Text und leitet
> das Resultat in einen Pager. Wo soll da eine Navigation herkommen?
Hast wahrscheinlich recht, aber eine Gegenfrage: was ist dann der
Sinn von L<>?
LG, Ferry
--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol@adv.magwien.gv.at
Re: Noch eine Frage zu POD
am 14.09.2006 15:47:05 von Frank Seitz
Ferry Bolhar wrote:
> Frank Seitz:
>>
>>Du erwartetst, dass perldoc Dir eine Link-Navigation anbietet?
>>Perldoc konvertiert doch via nroff in normalen Text und leitet
>>das Resultat in einen Pager. Wo soll da eine Navigation herkommen?
>
> Hast wahrscheinlich recht, aber eine Gegenfrage: was ist dann der
> Sinn von L<>?
L<> ist für hypertextfähige Dokumentenformate wie HTML gedacht.
Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel
Re: Noch eine Frage zu POD
am 14.09.2006 21:44:42 von Slaven Rezic
"Ferry Bolhar" writes:
[...]
>
> Habe ich den Sinn von L<> falsch verstanden? Oder wo liegt das
> Problem?
>
Mit der Ausgabe von pod2html oder mit tkpod sollte es funktionieren.
> Ach ja, und perldoc motzt einerseits über Umlaute im Text:
>
> WARNING: old character encoding and/or character set
>
> stellt aber andererseits zB. ein E als "ue" dar, und nicht als
> Umlaut.
Der Umlaut geht irgendwo bei der Bearbeitung mit nroff verloren. Du
kannst bei perldoc explizit die Verwendung von nroff mit der Option -t
verhindern. Dann solltest du auch Umlaute sehen.
Beim Debuggen des nroff-Outputs kann ich mangels Kenntnisse leider
nicht weiterhelfen. Ein "ä" wird beispielsweise zu
a\*:
konvertiert. Das Postscript-Backend von groff kann damit umgehen:
pod2man test.pod | groff -T ps -man | gv -
wohingegen man mit der latin1-Ausgabe die Konvertierung nach ae etc.
bekommt:
pod2man test.pod | groff -T latin1 -man | less
Wenn man statt a\*: gleich ein Latin1-ä verwendet, funktioniert es mit
beiden Ausgabeformen.
Gruß,
Slaven
--
Slaven Rezic - slaven rezic de
babybike - routeplanner for cyclists in Berlin
handheld (e.g. Compaq iPAQ with Linux) version of bbbike
http://bbbike.sourceforge.net
Re: Noch eine Frage zu POD
am 15.09.2006 18:24:19 von Ferry Bolhar
Hallo,
ich kämpfe immer noch tapfer mit pod (und neuerdings auch mit
pod2html, da meine Doku auch in HTML vorliegen muss).
Abgesehen davon, dass man bei L<> Einiges an Nacharbeit
machen muss, damit Links innerhalb des Dokuments zum
Navigieren auch wirklich funktionieren (Gott sei Dank gibt's
ja da so eine Skriptsprache, die mit "p" beginnt, der Name
fällt mir gerade nicht ein ;-), habe ich das Ganze mittlerweile
so einigermaßen leidlich im Griff (sogar podchecker ist
mittlerweile schon friedlich).
Allerdings gibt's beim Abteilen oft Troubles - irgendetwas
versucht brav abzuteilen, das geht aber häufig ins Auge. So
wird zB. "gleichzeitig" als "gle-" / "ichzeitig" abgeteilt. Brr!
Na, ich dachte mir, kein Problem, es gibt ja S<>, welches
alles Enthaltene in einer Zeile darstellen soll - ja, soll. Denn
es tut es nicht. Ich hab's mit
S
Szeitig
glSchzeitig
probiert - ohne Erfolg. Es wird immer das "ei" aufgetrennt.
Es ist mir aufgefallen, dass auch im HTML-Code ein S<>
überhaupt nicht berücksichtigt wird (HTML kennt ja hierfür
...). Diese Tags werden von pod2html
aber nicht generiert.
Natürlich könnte ich mir jetzt pod2html (oder besser Pod::Html,
denn das steckt dahinter) vorknöpfen, um herauszufinden, was
S<> tatsächlich macht. Aber vielleicht weiß schon jemand von
Euch, was ich machen muss, um das Problem zu lösen?
Schönen Dank & Grüße aus Wien,
Ferry
--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol@adv.magwien.gv.at
Re: Noch eine Frage zu POD
am 15.09.2006 21:27:53 von hjp-usenet2
On 2006-09-15 16:24, Ferry Bolhar wrote:
> ich kämpfe immer noch tapfer mit pod (und neuerdings auch mit
> pod2html, da meine Doku auch in HTML vorliegen muss).
[...]
> Allerdings gibt's beim Abteilen oft Troubles - irgendetwas
> versucht brav abzuteilen, das geht aber häufig ins Auge.
Dieses "irgendwas" wird wohl entweder der groff (wenn Du pod2man
verwendest) oder Dein Browser (wenn Du pod2html verwendest) sein. Soweit
ich sehe, trennt keines der pod* Tools selbst (perldoc ist nur ein
Frontend).
> So wird zB. "gleichzeitig" als "gle-" / "ichzeitig" abgeteilt. Brr!
Englische Trennungsregeln vermutlich. Google führt mich bei der Suche
nach "groff hyphenation" zu
http://www.cs.cmu.edu/cgi-bin/info2www?(groff)Manipulating%2 0Hyphenation
wo man sowohl findet, wie man Hyphenation komplett abschaltet, als auch
wie man ihm andere Pattern-Files unterschiebt. Irgendwo in den
unendlichen Weiten des Internet findet man sicher auch deutsche
Patternfiles.
> Na, ich dachte mir, kein Problem, es gibt ja S<>, welches
> alles Enthaltene in einer Zeile darstellen soll - ja, soll.
perldoc perlpod scheint mir da etwas wirr zu sein:
| "S" -- text contains non-breaking spaces
| This means that the words in text should not be broken across
| lines. Example: "S<$x ? $y : $z>".
Den Schluss kann ich nicht nachvollziehen: Aus "contains non-breaking
spaces" folgt m.E. nicht "words in text should not be broken".
> Denn es tut es nicht. Ich hab's mit
>
> S
> Szeitig
> glSchzeitig
>
> probiert - ohne Erfolg. Es wird immer das "ei" aufgetrennt.
>
> Es ist mir aufgefallen, dass auch im HTML-Code ein S<>
> überhaupt nicht berücksichtigt wird
Bei mir wird es. Jedes Space innerhalb von S<> wird durch ein
ersetzt. Auch beim nroff-Output wird jedes Space durch '\ ' ersetzt. Die
Beschreibung "text contains non-breaking spaces" stimmt also. Aber
natürlich verhindern irgendwelche Non-breaking-Spaces nicht die
Silbentrennung von Wörtern.
> (HTML kennt ja hierfür ...).
HTML 4 nicht. Ich bin jetzt zu faul um nachzusehen, ob die in einer
früheren Version von HTML enthalten waren, aber ich vermute stark, dass
das immer nur eine Extension gewisser Browser war.
... wäre eine Möglichkeit mit
HTML+CSS.
hp
--
_ | Peter J. Holzer | > Wieso sollte man etwas erfinden was nicht
|_|_) | Sysadmin WSR | > ist?
| | | hjp@hjp.at | Was sonst wäre der Sinn des Erfindens?
__/ | http://www.hjp.at/ | -- P. Einstein u. V. Gringmuth in desd
Zwei Fragen zu POD
am 16.09.2006 15:03:46 von Ferry Bolhar
Peter J. Holzer:
>> So wird zB. "gleichzeitig" als "gle-" / "ichzeitig" abgeteilt. Brr!
>
> Englische Trennungsregeln vermutlich. Google führt mich bei der Suche
> nach "groff hyphenation" zu
> http://www.cs.cmu.edu/cgi-bin/info2www?(groff)Manipulating%2 0Hyphenation
> wo man sowohl findet, wie man Hyphenation komplett abschaltet, als auch
> wie man ihm andere Pattern-Files unterschiebt. Irgendwo in den
> unendlichen Weiten des Internet findet man sicher auch deutsche
> Patternfiles.
Oh je, mit groff/nroff kenn' ich mich überhaupt nicht aus, ich will ja
bloß POD-Doku zur Darstellung mit perldoc und in HTML
schreiben. Gibt's hier jemanden, der mir sagen kann, was ich da zu
tun habe?
> Den Schluss kann ich nicht nachvollziehen: Aus "contains non-breaking
> spaces" folgt m.E. nicht "words in text should not be broken".
Da hast du recht, das war leider ein Trugschluss von mir. Ich müsste
wohl wirklich bei den Abteilungsregeln ansetzen. Ich muss allerdings
gestehen, das ich von Textverarbeitung auf dieser Basis sehr, sehr
wenig weiß - ich komme eigentlich aus der VMS-Welt, wo es ein
sehr mächtiges Werkzeug namens "DEC Document" gibt, mit dem
man in einer HTML-ähnlichen Sprache (sie nennt sich SDML)
Dokumentationen schreiben und in alle möglichen Format übertragen
kann - aber natürlich leider nicht in pod! So habe ich mich mit nroff
und seinen Brüdern nie beschäftigt (ich habe ja auch jetzt erst mit
pod begonnen).
>> (HTML kennt ja hierfür ...).
>
> HTML 4 nicht. Ich bin jetzt zu faul um nachzusehen, ob die in einer
> früheren Version von HTML enthalten waren, aber ich vermute stark, dass
> das immer nur eine Extension gewisser Browser war.
Das stimmt (für Netscape).
> ... wäre eine Möglichkeit mit
> HTML+CSS.
Ja, aber wie gesagt, das ist hier ja gar nicht das Problem. HTML
wird ja ohnehin richtig dargestellt. Nur pod eben nicht. Hilfe!
Eine zweite Frage noch: wenn ich zB. mit
Zu Referenzen siehe auch L und L.
externe Doku referenzieren möchte, sagt mir perl2pod
testdoc.pod: cannot resolve L in paragraph 78.
testdoc.pod: cannot resolve L in paragraph 78.
Beide Dokumente kann man sich aber mit perldoc ganz normal
ansehen.
Wo hapert's da wieder?
Grüße aus Wien,
Ferry
--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol@adv.magwien.gv.at
Re: Zwei Fragen zu POD
am 16.09.2006 18:34:12 von hjp-usenet2
On 2006-09-16 13:03, Ferry Bolhar wrote:
> Peter J. Holzer:
>>> So wird zB. "gleichzeitig" als "gle-" / "ichzeitig" abgeteilt. Brr!
>>
>> Englische Trennungsregeln vermutlich. Google führt mich bei der Suche
>> nach "groff hyphenation" zu
>> http://www.cs.cmu.edu/cgi-bin/info2www?(groff)Manipulating%2 0Hyphenation
>> wo man sowohl findet, wie man Hyphenation komplett abschaltet, als auch
>> wie man ihm andere Pattern-Files unterschiebt. Irgendwo in den
>> unendlichen Weiten des Internet findet man sicher auch deutsche
>> Patternfiles.
>
> Oh je, mit groff/nroff kenn' ich mich überhaupt nicht aus,
Ich gestehe, gerade genug zu wissen, um man-Pages cargo-culten zu
können. Als ich mit Unix anfing, gab es troff nur auf der Cadmus, die
VAXen (mit Ultrix) hatten "nur" LaTeX installiert, und das war sowieso
viel schöner als *roff.
> ich will ja bloà POD-Doku zur Darstellung mit perldoc und in HTML
> schreiben. Gibt's hier jemanden, der mir sagen kann, was ich da zu tun
> habe?
Ich würde perldoc (bzw. pod2man oder das dafür zuständige Modul) so
ändern, dass es ein ".nh" bzw. ".hy 0" ganz am Anfang in das generierte
man-File reinschreibt. Hmm, ich sehe gerade, dass er das eh tut:
..\" For nroff, turn off justification. Always turn off hyphenation; it makes
..\" way too many mistakes in technical documents.
..hy 0
Aber mein groff teilt trotzdem Wörter ab. Wenn ich das .nh aber direkt
vor dem Text einfüge, funktioniert es. Irgendwas schaltet also wohl die
Hyphenation zwischen Zeile 65 und Zeile 136 wieder ein. Naja, das sollte
sich finden lassen.
>> Den Schluss kann ich nicht nachvollziehen: Aus "contains non-breaking
>> spaces" folgt m.E. nicht "words in text should not be broken".
>
> Da hast du recht, das war leider ein Trugschluss von mir.
Nicht nur von Dir, sondern auch vom Manual-Schreiber ("... This means
....").
>> ... wäre eine Möglichkeit mit
>> HTML+CSS.
>
> Ja, aber wie gesagt, das ist hier ja gar nicht das Problem. HTML
> wird ja ohnehin richtig dargestellt. Nur pod eben nicht. Hilfe!
Irgendwie habe ich jetzt ein Verständnisproblem: "pod" ist das
Source-Format. Das wird normalerweile gar nicht dargestellt, auÃer im
Editor beim Schreiben. Dieses Source-Format wird dann in diverse andere
Formate (man, html, latex, text, ...) übersetzt, und die schaut man sich
dann an. Wenn ich Dich recht verstehe, hast Du ein Problem mit dem
man-Format.
hp
--
_ | Peter J. Holzer | > Wieso sollte man etwas erfinden was nicht
|_|_) | Sysadmin WSR | > ist?
| | | hjp@hjp.at | Was sonst wäre der Sinn des Erfindens?
__/ | http://www.hjp.at/ | -- P. Einstein u. V. Gringmuth in desd
Re: Zwei Fragen zu POD
am 16.09.2006 18:46:11 von hjp-usenet2
On 2006-09-16 16:34, Peter J. Holzer wrote:
> On 2006-09-16 13:03, Ferry Bolhar wrote:
>> Peter J. Holzer:
>>>> So wird zB. "gleichzeitig" als "gle-" / "ichzeitig" abgeteilt. Brr!
[...]
> Ich würde perldoc (bzw. pod2man oder das dafür zuständige Modul) so
> ändern, dass es ein ".nh" bzw. ".hy 0" ganz am Anfang in das generierte
> man-File reinschreibt. Hmm, ich sehe gerade, dass er das eh tut:
>
> .\" For nroff, turn off justification. Always turn off hyphenation; it makes
> .\" way too many mistakes in technical documents.
> .hy 0
>
> Aber mein groff teilt trotzdem Wörter ab. Wenn ich das .nh aber direkt
> vor dem Text einfüge, funktioniert es. Irgendwas schaltet also wohl die
> Hyphenation zwischen Zeile 65 und Zeile 136 wieder ein. Naja, das sollte
> sich finden lassen.
Gefunden. Es ist offensichtlich das .TH makro. Hier ist ein Patch für
Pod::Man:
--- /usr/local/lib/perl5/5.8.8/Pod/Man.pm 2006-06-28 14:25:14.000000000 +0200
+++ /home/hjp/lib/Pod/Man.pm 2006-09-16 18:41:07.000000000 +0200
@@ -463,6 +463,8 @@
.\\"
.IX Title "$name $section"
.TH $name $section "$$self{date}" "$$self{release}" "$$self{center}"
+.\\" Turn hyphenation off again because .TH turns it on
+.nh
----END OF HEADER----
# Initialize a few per-file variables.
hp
--
_ | Peter J. Holzer | > Wieso sollte man etwas erfinden was nicht
|_|_) | Sysadmin WSR | > ist?
| | | hjp@hjp.at | Was sonst wäre der Sinn des Erfindens?
__/ | http://www.hjp.at/ | -- P. Einstein u. V. Gringmuth in desd
Re: Zwei Fragen zu POD
am 16.09.2006 22:34:36 von hjp-usenet2
On 2006-09-16 16:46, Peter J. Holzer wrote:
> Gefunden. Es ist offensichtlich das .TH makro. Hier ist ein Patch für
> Pod::Man:
>
>
> --- /usr/local/lib/perl5/5.8.8/Pod/Man.pm 2006-06-28 14:25:14.000000000 +0200
> +++ /home/hjp/lib/Pod/Man.pm 2006-09-16 18:41:07.000000000 +0200
> @@ -463,6 +463,8 @@
> .\\"
> .IX Title "$name $section"
> .TH $name $section "$$self{date}" "$$self{release}" "$$self{center}"
> +.\\" Turn hyphenation off again because .TH turns it on
> +.nh
> ----END OF HEADER----
>
> # Initialize a few per-file variables.
http://rt.perl.org/rt3//Ticket/Display.html?id=40344
hp
--
_ | Peter J. Holzer | > Wieso sollte man etwas erfinden was nicht
|_|_) | Sysadmin WSR | > ist?
| | | hjp@hjp.at | Was sonst wäre der Sinn des Erfindens?
__/ | http://www.hjp.at/ | -- P. Einstein u. V. Gringmuth in desd
Re: Zwei Fragen zu POD
am 18.09.2006 10:26:18 von Ferry Bolhar
Peter J. Holzer:
>> Ja, aber wie gesagt, das ist hier ja gar nicht das Problem. HTML
>> wird ja ohnehin richtig dargestellt. Nur pod eben nicht. Hilfe!
>
> Irgendwie habe ich jetzt ein Verständnisproblem: "pod" ist das
> Source-Format. Das wird normalerweile gar nicht dargestellt, außer im
> Editor beim Schreiben. Dieses Source-Format wird dann in diverse andere
> Formate (man, html, latex, text, ...) übersetzt, und die schaut man sich
> dann an. Wenn ich Dich recht verstehe, hast Du ein Problem mit dem
> man-Format.
Ja. Ich habe das ganze pod-System noch nicht so ganz durchschaut,
aber es scheint, als gibt es zunächst Doku in pod, die wird dann in
..nroff-Format übersetzt und aus der wird dann durch die diverse
"Front-Ends" das gwünschte Output-Format (zB. HTML) erzeugt
oder - wie im Fall von "man" - der nroff-Output mit einem Pager
dargestellt.
> Gefunden. Es ist offensichtlich das .TH makro. Hier ist ein Patch für
> Pod::Man:
Danke für die Info! Das Dumme ist nur, dass ich damit zwar bei
_mir_ das Abteilen unterbinden kann, aber nicht auf den Rechnern
der Benutzer, die meine Doku später lesen werden, weil die ja
weiterhin die ungepatchte Pod::Man Version verwenden.
Wäre es möglich, hier mit der =for Direktive zu arbeiten? Ich verwende
sie, um im Falle von HTML-Output "" und ""
Direktiven einzubauen, die ein Navigieren im Dokument ermöglichen.
Vielleicht könnte man dann auf diese Weise auch die benötigten
Makros für nroff einbauen. Nur was gibt man als "formatname" nach
=for an? Und was müsste man im .TH angeben bzw gibt es nicht
auch in nroff die Möglichkeit zu sagen "trenne dieses Wort nicht"?
LG, Ferry
--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol@adv.magwien.gv.at
Fehler in pod2html
am 18.09.2006 10:30:17 von Ferry Bolhar
Hallo,
ich hatte diese Frage zwar schon mal gepostet, aber ganz am Ende
eines anderen Threads, sodass die Gefahr besteht, dass sie der eine
oder andere vielleicht überlesen hat. Daher wiederhole ich sie hier
mit der Bitte um Hilfe:
> Eine zweite Frage noch: wenn ich zB. mit
>
> Zu Referenzen siehe auch L und L.
>
> externe Doku referenzieren möchte, sagt mir pod2html
>
> testdoc.pod: cannot resolve L in paragraph 78.
> testdoc.pod: cannot resolve L in paragraph 78.
>
> Beide Dokumente kann man sich aber mit perldoc ganz normal
> ansehen.
Kann mir da vielleicht jemand helfen?
Schöne Grüße, Ferry
--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol@adv.magwien.gv.at
Re: Zwei Fragen zu POD
am 18.09.2006 11:26:04 von hjp-usenet2
On 2006-09-18 08:26, Ferry Bolhar wrote:
> Peter J. Holzer:
>>> Ja, aber wie gesagt, das ist hier ja gar nicht das Problem. HTML
>>> wird ja ohnehin richtig dargestellt. Nur pod eben nicht. Hilfe!
>>
>> Irgendwie habe ich jetzt ein Verständnisproblem: "pod" ist das
>> Source-Format. Das wird normalerweile gar nicht dargestellt, auÃer im
>> Editor beim Schreiben. Dieses Source-Format wird dann in diverse andere
>> Formate (man, html, latex, text, ...) übersetzt, und die schaut man sich
>> dann an. Wenn ich Dich recht verstehe, hast Du ein Problem mit dem
>> man-Format.
>
> Ja. Ich habe das ganze pod-System noch nicht so ganz durchschaut,
> aber es scheint, als gibt es zunächst Doku in pod, die wird dann in
> .nroff-Format übersetzt und aus der wird dann durch die diverse
> "Front-Ends" das gwünschte Output-Format (zB. HTML) erzeugt
> oder - wie im Fall von "man" - der nroff-Output mit einem Pager
> dargestellt.
Nein, nroff/man ist nur eines von mehreren Markup-Formaten, in die pod
direkt übersetzt wird. Es ist nur eines der wichtigeren, weil es von perldoc
unter Unix verwendet wird (was macht eigentlich perldoc unter Windows?
pod2text?).
Also eine Auswahl möglicher Konversionen ist z.B.:
..pod => pod2man => .man => nroff => .txt => $PAGER => (Zeichen am Bildschirm)
..pod => pod2man => .man => groff => .ps => lpr => (Zeichen am Papier)
..pod => pod2html => .html => $BROWSER (Zeichen am Bildschirm)
..pod => pod2latex => .tex => latex => .dvi => dvips => .ps => (Zeichen am Papier)
>> Gefunden. Es ist offensichtlich das .TH makro. Hier ist ein Patch für
>> Pod::Man:
>
> Danke für die Info! Das Dumme ist nur, dass ich damit zwar bei
> _mir_ das Abteilen unterbinden kann, aber nicht auf den Rechnern
> der Benutzer, die meine Doku später lesen werden, weil die ja
> weiterhin die ungepatchte Pod::Man Version verwenden.
Ja, das Blöde an Bugs ist, dass sie immer erst (frühestens) in der
nächsten Version gefixt sind. Du müsstest dann also Perl oder zumindest
Pod::Man überall upgraden.
> Wäre es möglich, hier mit der =for Direktive zu arbeiten?
Ja, das müsste möglich sein.
> Vielleicht könnte man dann auf diese Weise auch die benötigten
> Makros für nroff einbauen. Nur was gibt man als "formatname" nach
>=for an?
perldoc perlpod:
| Some format names that formatters currently are known to accept
| include "roff", "man", "latex", "tex", "text", and "html". (Some
| formatters will treat some of these as synonyms.)
Also probieren wir mal "roff":
=for roff .nh
=head1 NAME
fuh - eine Test-Seite
[...]
Scheint zu funktionieren.
> Und was müsste man im .TH angeben
Gar nichts. .TH setzt die Kopf- und FuÃzeilen. Das scheint nur (versehentlich?)
als Nebeneffekt die Silbentrennung einzuschalten, daher muss man sie
danach wieder ausschalten, wenn man sie nicht will.
> bzw gibt es nicht auch in nroff die Möglichkeit zu sagen "trenne
> dieses Wort nicht"?
Vermutlich. Aber wie gesagt, was anderes als Man-Pages habe ich mit
*roff nie geschrieben, bei den Feinheiten kenne ich mich nicht aus.
hp
--
_ | Peter J. Holzer | > Wieso sollte man etwas erfinden was nicht
|_|_) | Sysadmin WSR | > ist?
| | | hjp@hjp.at | Was sonst wäre der Sinn des Erfindens?
__/ | http://www.hjp.at/ | -- P. Einstein u. V. Gringmuth in desd
Re: Fehler in pod2html
am 18.09.2006 21:54:24 von Slaven Rezic
"Ferry Bolhar" writes:
> Hallo,
>
> ich hatte diese Frage zwar schon mal gepostet, aber ganz am Ende
> eines anderen Threads, sodass die Gefahr besteht, dass sie der eine
> oder andere vielleicht überlesen hat. Daher wiederhole ich sie hier
> mit der Bitte um Hilfe:
>
> > Eine zweite Frage noch: wenn ich zB. mit
> >
> > Zu Referenzen siehe auch L und L.
> >
> > externe Doku referenzieren möchte, sagt mir pod2html
> >
> > testdoc.pod: cannot resolve L in paragraph 78.
> > testdoc.pod: cannot resolve L in paragraph 78.
> >
> > Beide Dokumente kann man sich aber mit perldoc ganz normal
> > ansehen.
>
> Kann mir da vielleicht jemand helfen?
>
Was ist genau dein Problem? Die Warnungen? Oder sind die beiden
Dokumente nicht richtig verlinkt?
Gruß,
Slaven
--
Slaven Rezic - slaven rezic de
Dump a Tk canvas as an xfig file:
http://search.cpan.org/search?mode=module&query=Tk::CanvasFi g
Re: Fehler in pod2html
am 19.09.2006 09:54:04 von Ferry Bolhar
Slaven Rezic:
> Was ist genau dein Problem? Die Warnungen? Oder sind die beiden
> Dokumente nicht richtig verlinkt?
Offen gestanden, ist mir der Sinn von L<> nicht ganz klar.
Ich hatte soweit verstanden, dass man damit, wie in perlpod
behauptet wird, Hyperlinks definieren kann, und zwar sowohl
innerhalb des eigenen Dokumentes, als auch zu Externen.
Nun wurde hier schon festgestellt, dass ein Navigieren in dem
von perldoc erzeugten Output nicht möglich ist, was IMHO
die Einsatzmöglichkeiten der Direktive schon stark einschränkt,
denn ich behaupte mal, in 99% aller Fälle wird pod-Doku wohl
mit perldoc angesehen werden. Ich hätte eigentlich erwartet,
dass damit zumindest ein Anspringen von entsprechend gekenn-
zeichneten Abschnitten möglich sein sollte, ähnlich wie
perldoc -f
direkt zu in perlfunc springt.
Nun gibt es "Frontends", die aus pod auch anderen Output
(HTML, LaTeX) machen können. Der HTML-Frontend
baut aus L korrekte Verweise, wenn im selben
Dokument ein solcher mittels =head oder =item im
Dokument existiert. Man muss zwar ein bisschen nachhelfen,
aber es geht. Auch noch verständlich.
Nun gibt es aber auch die Syntax
L, die lt. perlpod:
Link to a Perl manual page (e.g., "L"). Note that
"name" should not contain spaces. This syntax is also occa-
sionally used for references to UNIX man pages, as in
"L".
einen Verweis auf eine man-page (die natürlich existieren
muss), anlegt.
Ich habe gesehen, dass in den diversen perlxxxx.pod Seiten
immer wieder auf andere Doku referenziert wird, und wollte
das in meiner eben auch machen, zB.:
Für weitere Informationen über Referenzen siehe L.
und hätte erwartet, dass in meinem HTML-Dokument beim
Anklicken des Verweises dann entweder
o) aus perlref on the fly eine HTML-Seite generiert und diese
ausgegeben wird, oder
o) perlref so, als normales Textdokument dargestellt wird.
Es passiert aber weder das eine noch das andere, es wird
überhaupt kein Verweis erzeugt, sondern (hier):
Für weitere ....siehe perlref.
und es kommt die erwähnte "cannot resolve" Fehlermeldung.
Daher meine Frage nach dem Sinn von L bzw.
ganz allgemein nach den Einsatzmöglichkeiten (und der
richtigen Syntax) dieser Direktive in pod-Dokumenten.
Unter welchen Umstäden macht es dann überhaupt noch
Sinn, aus pod Dokumenten heraus andere Dokumente zu
referenzieren?
LG, Ferry
--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol@adv.magwien.gv.at
Re: Fehler in pod2html
am 19.09.2006 10:43:37 von Christian Winter
Ferry Bolhar schrieb:
> Hallo,
>
> ich hatte diese Frage zwar schon mal gepostet, aber ganz am Ende
> eines anderen Threads, sodass die Gefahr besteht, dass sie der eine
> oder andere vielleicht überlesen hat. Daher wiederhole ich sie hier
> mit der Bitte um Hilfe:
>
>> Eine zweite Frage noch: wenn ich zB. mit
>>
>> Zu Referenzen siehe auch L und L.
>>
>> externe Doku referenzieren möchte, sagt mir pod2html
>>
>> testdoc.pod: cannot resolve L in paragraph 78.
>> testdoc.pod: cannot resolve L in paragraph 78.
>>
>> Beide Dokumente kann man sich aber mit perldoc ganz normal
>> ansehen.
>
> Kann mir da vielleicht jemand helfen?
Wie wäre es mit den Optionen "--podroot" und "--podpath"?
Wenn die sauber gesetzt sind, findet pod2html auch alle
verlinkten Pods (achtung: die Verzeichnisse in podpath
sind _relativ_ zu podroot). Wenn ich hier etwas wie
L im text habe und dann
pod2html --podroot C:/perl588/lib --podpath .:Pod \
--infile myfile.pm --outfile myfile.html
drüber laufen lasse, werden auch die Links (fast)
ordnungsgemäß gesetzt.
Die Verlinkung mittels --htmlroot und --htmldir sauber ins
HTML zu bekommen, sollte dann eine einfach Fleißaufgabe sein.
-Christian
Re: Fehler in pod2html
am 19.09.2006 21:24:22 von Slaven Rezic
"Ferry Bolhar" writes:
> Slaven Rezic:
>
> > Was ist genau dein Problem? Die Warnungen? Oder sind die beiden
> > Dokumente nicht richtig verlinkt?
>
> Offen gestanden, ist mir der Sinn von L<> nicht ganz klar.
> Ich hatte soweit verstanden, dass man damit, wie in perlpod
> behauptet wird, Hyperlinks definieren kann, und zwar sowohl
> innerhalb des eigenen Dokumentes, als auch zu Externen.
>
> Nun wurde hier schon festgestellt, dass ein Navigieren in dem
> von perldoc erzeugten Output nicht möglich ist, was IMHO
> die Einsatzmöglichkeiten der Direktive schon stark einschränkt,
> denn ich behaupte mal, in 99% aller Fälle wird pod-Doku wohl
> mit perldoc angesehen werden.
Ich glaube, du unterschätzt die Verfügbarkeit von Perl-Dokumentation
als Hypertext. Es gibt z.B. populäre Webseiten wie search.cpan.org
oder perldoc.perl.org. Dort funktioniert die Querverlinkung. Und ich
bin mir ziemlich sicher (obwohl ich gerne dafür eine Bestätigung
hätte), dass ActivePerl die Perl-Dokumentation hypertextfähig
anbietet, entweder als HTML oder in einem anderen Hypertextformat.
Ich persönlich muss mir in 90% aller Fälle die Doku mit tkpod
anschauen :-)
> Ich hätte eigentlich erwartet,
> dass damit zumindest ein Anspringen von entsprechend gekenn-
> zeichneten Abschnitten möglich sein sollte, ähnlich wie
>
> perldoc -f
>
> direkt zu in perlfunc springt.
Das ist mir nicht klar. Wenn du einen L<...>-Referenz hast, dann
verwendet man doch einfach
perldoc
?
>
> Nun gibt es "Frontends", die aus pod auch anderen Output
> (HTML, LaTeX) machen können. Der HTML-Frontend
^^^
Es gibt nicht ein einziges HTML-Frontend. Im CPAN tummeln sich einige
Module, die von Pod nach HTML konvertieren können.
> baut aus L korrekte Verweise, wenn im selben
> Dokument ein solcher mittels =head oder =item im
> Dokument existiert. Man muss zwar ein bisschen nachhelfen,
> aber es geht. Auch noch verständlich.
>
> Nun gibt es aber auch die Syntax
>
> L, die lt. perlpod:
>
> Link to a Perl manual page (e.g., "L"). Note that
> "name" should not contain spaces. This syntax is also occa-
> sionally used for references to UNIX man pages, as in
> "L".
>
> einen Verweis auf eine man-page (die natürlich existieren
> muss), anlegt.
>
> Ich habe gesehen, dass in den diversen perlxxxx.pod Seiten
> immer wieder auf andere Doku referenziert wird, und wollte
> das in meiner eben auch machen, zB.:
>
> Für weitere Informationen über Referenzen siehe L.
>
> und hätte erwartet, dass in meinem HTML-Dokument beim
> Anklicken des Verweises dann entweder
>
> o) aus perlref on the fly eine HTML-Seite generiert und diese
> ausgegeben wird, oder
Dazu gibt es Module, die on-the-fly mit Hilfe eines Webservers
HTML-Seiten aus Pod erzeugen, z.B. Apache::Pod::HTML.
>
> o) perlref so, als normales Textdokument dargestellt wird.
>
> Es passiert aber weder das eine noch das andere, es wird
> überhaupt kein Verweis erzeugt, sondern (hier):
>
> Für weitere ....siehe perlref.
>
> und es kommt die erwähnte "cannot resolve" Fehlermeldung.
>
> Daher meine Frage nach dem Sinn von L bzw.
> ganz allgemein nach den Einsatzmöglichkeiten (und der
> richtigen Syntax) dieser Direktive in pod-Dokumenten.
> Unter welchen Umstäden macht es dann überhaupt noch
> Sinn, aus pod Dokumenten heraus andere Dokumente zu
> referenzieren?
Wie gesagt, es hängt vom Frontend ab. Es gibt z.B. pods2html (mit
Plural-s), welches für mehrere Pods die HTML-Seiten erzeugt und
wahrscheinlich die Querverlinkungen zwischen diesen Pods richtig
erzeugt, aber alle anderen Verweise unbearbeitet lässt. Es gibt
Frontends, denen man nur sagen muss, wo sich die HTML-Dokumentation
befindet (--base), und man bekommt Links erzeugt, muss aber dafür
sorgen, dass sich an dieser Stelle tatsächlich schon ein Dokument
befindet.
Gruß,
Slaven
--
Slaven Rezic - slaven rezic de
tkruler - Perl/Tk program for measuring screen distances
http://ptktools.sourceforge.net/#tkruler
Re: Fehler in pod2html
am 20.09.2006 09:47:28 von Peter Arnhold
Slaven Rezic schrieb:
> Ich glaube, du unterschätzt die Verfügbarkeit von Perl-Dokumentation
> als Hypertext. Es gibt z.B. populäre Webseiten wie search.cpan.org
> oder perldoc.perl.org. Dort funktioniert die Querverlinkung. Und ich
> bin mir ziemlich sicher (obwohl ich gerne dafür eine Bestätigung
> hätte), dass ActivePerl die Perl-Dokumentation hypertextfähig
> anbietet, entweder als HTML oder in einem anderen Hypertextformat.
Die Bestätigung: Komplett in HTML. ..\Perl\html\...
Gruß,
Peter
Re: Fehler in pod2html
am 20.09.2006 13:12:21 von Ferry Bolhar
Slaven Rezic:
> Ich glaube, du unterschätzt die Verfügbarkeit von Perl-Dokumentation
> als Hypertext. Es gibt z.B. populäre Webseiten wie search.cpan.org
> oder perldoc.perl.org. Dort funktioniert die Querverlinkung. Und ich
> bin mir ziemlich sicher (obwohl ich gerne dafür eine Bestätigung
> hätte), dass ActivePerl die Perl-Dokumentation hypertextfähig
> anbietet, entweder als HTML oder in einem anderen Hypertextformat.
Als HTML. Es wäre interessant zu wissen, wie diese Dokumentation
(die aus den jeweiligen .pod-Dokumenten stammt) erstellt wurde.
> Ich persönlich muss mir in 90% aller Fälle die Doku mit tkpod
> anschauen :-)
Ich nur mit POD, vielleicht führt das zu falschen Schlüssen.
>> Ich hätte eigentlich erwartet,
>> dass damit zumindest ein Anspringen von entsprechend gekenn-
>> zeichneten Abschnitten möglich sein sollte, ähnlich wie
>>
>> perldoc -f
>>
>> direkt zu in perlfunc springt.
>
> Das ist mir nicht klar. Wenn du einen L<...>-Referenz hast, dann
> verwendet man doch einfach
>
> perldoc
Vielleicht habe ich mich unklar ausgedrückt. Es geht um das
Anspringen eines Abschnittes in einem Dokument von einer
anderen Stelle innerhalb dieses Dokumentes aus. Aber ich sehe
schon, dass das mit perldoc/*roff/man nicht vorgesehen
und L<> nur für Output, der in navigierfähigen Tools dargestellt
wird, gedacht ist. Darauf sollte man allerdings in perlpod
deutlich hinweisen; die Doku läßt nicht vermuten, dass L<>
mit perldoc bzw. pod2man eigentlich nutzlos ist.
>> Nun gibt es "Frontends", die aus pod auch anderen Output
>> (HTML, LaTeX) machen können. Der HTML-Frontend
> ^^^
> Es gibt nicht ein einziges HTML-Frontend. Im CPAN tummeln sich einige
> Module, die von Pod nach HTML konvertieren können.
Danke für den Hinweis, ich werde mich mal dort umsehen.
Was mir in der Doku zu Pod::Html (das von pod2html
verwendet wird) fehlt, sind eben Hinweise, wie solche
speziellen Direktiven wie L<> und X<> verarbeitet werden
(bzw. im Falle von Pod::Man bzw. pod2man, dass sie über-
haupt nicht verarbeitet werden). Generell sollte jeder pod-
Konverter IMHO beschreiben, wie er mit pod-Direktiven
umgeht (und auch Möglichkeiten zum Eingreifen in diesen
Ablauf vorsehen).
Und dass natürlich Fehler oder Warnungen, die durch das
Modul ausgegeben werden können, entsprechend beschrieben
sind!
Die Frage, die nach wie vor für mich offen ist, ist eben,
inwieweit die Verwendung von zB. "Siehe L..."
in pod-Dokumenten, die nach HTML konvertiert werden,
Sinn macht bzw. wie man L<> sinnvoll verwendet.
LG, Ferry
--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol@adv.magwien.gv.at
Re: Fehler in pod2html
am 20.09.2006 20:38:12 von Slaven Rezic
Peter Arnhold writes:
> Slaven Rezic schrieb:
>
> > Ich glaube, du unterschätzt die Verfügbarkeit von Perl-Dokumentation
> > als Hypertext. Es gibt z.B. populäre Webseiten wie search.cpan.org
> > oder perldoc.perl.org. Dort funktioniert die Querverlinkung. Und ich
> > bin mir ziemlich sicher (obwohl ich gerne dafür eine Bestätigung
> > hätte), dass ActivePerl die Perl-Dokumentation hypertextfähig
> > anbietet, entweder als HTML oder in einem anderen Hypertextformat.
>
> Die Bestätigung: Komplett in HTML. ..\Perl\html\...
>
Danke!
--
Slaven Rezic - slaven rezic de
Lost in your Tk widget tree? Try
http://user.cs.tu-berlin.de/~eserte/src/perl/Tk-WidgetDump/
Re: Fehler in pod2html
am 20.09.2006 21:09:22 von Slaven Rezic
"Ferry Bolhar" writes:
> Slaven Rezic:
>
[...]
> >> Ich hätte eigentlich erwartet,
> >> dass damit zumindest ein Anspringen von entsprechend gekenn-
> >> zeichneten Abschnitten möglich sein sollte, ähnlich wie
> >>
> >> perldoc -f
> >>
> >> direkt zu in perlfunc springt.
> >
> > Das ist mir nicht klar. Wenn du einen L<...>-Referenz hast, dann
> > verwendet man doch einfach
> >
> > perldoc
>
> Vielleicht habe ich mich unklar ausgedrückt. Es geht um das
> Anspringen eines Abschnittes in einem Dokument von einer
> anderen Stelle innerhalb dieses Dokumentes aus. Aber ich sehe
> schon, dass das mit perldoc/*roff/man nicht vorgesehen
> und L<> nur für Output, der in navigierfähigen Tools dargestellt
> wird, gedacht ist. Darauf sollte man allerdings in perlpod
> deutlich hinweisen; die Doku läßt nicht vermuten, dass L<>
> mit perldoc bzw. pod2man eigentlich nutzlos ist.
Das ist wieder die eingeengte Denkweise. Bei der Pod-Konvertierung
kann man beispielsweise als Endformat etwas wählen, das schließlich
auf Papier gedruckt wird. Man würde nicht unbedingt erwarten, dass
hier Hyperlinks funktionieren (außer vielleicht in der Form von
Fußnoten, die auf andere Seiten verweisen). Und bei einem Programm,
welches offensichtlich $PAGER verwendet, würde man auch nicht
erwarten, dass Hyperlinks irgendwie automatisch funktionieren. Das tut
es bei man(1) auch nicht.
>
> >> Nun gibt es "Frontends", die aus pod auch anderen Output
> >> (HTML, LaTeX) machen können. Der HTML-Frontend
> > ^^^
> > Es gibt nicht ein einziges HTML-Frontend. Im CPAN tummeln sich einige
> > Module, die von Pod nach HTML konvertieren können.
>
> Danke für den Hinweis, ich werde mich mal dort umsehen.
>
> Was mir in der Doku zu Pod::Html (das von pod2html
> verwendet wird) fehlt, sind eben Hinweise, wie solche
> speziellen Direktiven wie L<> und X<> verarbeitet werden
> (bzw. im Falle von Pod::Man bzw. pod2man, dass sie über-
> haupt nicht verarbeitet werden). Generell sollte jeder pod-
> Konverter IMHO beschreiben, wie er mit pod-Direktiven
> umgeht (und auch Möglichkeiten zum Eingreifen in diesen
> Ablauf vorsehen).
>
> Und dass natürlich Fehler oder Warnungen, die durch das
> Modul ausgegeben werden können, entsprechend beschrieben
> sind!
>
> Die Frage, die nach wie vor für mich offen ist, ist eben,
> inwieweit die Verwendung von zB. "Siehe L..."
> in pod-Dokumenten, die nach HTML konvertiert werden,
> Sinn macht bzw. wie man L<> sinnvoll verwendet.
>
Die meisten Pod-zu-HTML-Konverter sind für die Massenumwandlung der
Standard-Perl-Dokumentation nach HTML optimiert. Bei pods2html oder
mpod2html kann man ein gesamtes Pod-Verzeichnis (oder gar den gesamten
@INC-Pfad) nach HTML konvertieren lassen. In diesem Fall funktioniert
die Link-Auflösung, weil die Konverterprogramme wissen, wo sich die
Linkziele befinden bzw. befinden werden.
Du hast anscheinend den Spezialfall, dass Links sowohl zu deinen
eigenen Seiten als auch zu der Standard-Perl-Dokumentation
funktionieren sollen. Funktionieren würde, wenn du auch hier die
komplette Perl-Dokumentation zusammen mit deinen Dateien umwandeln
lässt. Das ist natürlich aufwändig. Schöner wäre eine Lösung, die bei
Links auf die Perl-Dokumentation externe http-Links erzeugen würde,
z.B. auf perldoc.perl.org oder search.cpan.org (www.perldoc.com gibt
es leider nicht mehr). Leider kenne ich so eine Lösung nicht. Aber es
gibt ja nicht nur die Skripte, die Pod::*-Module warten nur darauf,
verwendet zu werden.
Gruß,
Slaven
--
Slaven Rezic - slaven rezic de
sf-upload: make batch releases on SourceForge
http://sf-upload.sf.net
Re: Fehler in pod2html
am 22.09.2006 23:01:15 von Slaven Rezic
"Ferry Bolhar" writes:
[...]
> Die Frage, die nach wie vor für mich offen ist, ist eben,
> inwieweit die Verwendung von zB. "Siehe L..."
> in pod-Dokumenten, die nach HTML konvertiert werden,
> Sinn macht bzw. wie man L<> sinnvoll verwendet.
Nachtrag: ich habe gerade entdeckt, dass man sämtliche
CPAN-Dokumentation auf search.cpan.org durch Benutzung des folgenden
URL-Formats verlinken kann:
http://search.cpan.org/perldoc?Modulename
Also z.B.:
http://search.cpan.org/perldoc?Tk%3A%3APod
Das muss man nur noch den Pod2HTML-Konvertern beibringen...
Gruß,
Slaven
--
Slaven Rezic - slaven rezic de
tkrevdiff - graphical display of diffs between revisions (RCS, CVS or SVN)
http://ptktools.sourceforge.net/#tkrevdiff