Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ß in url bei pdftex

121 views
Skip to first unread message

Heiko Oberdiek

unread,
Oct 10, 1999, 3:00:00 AM10/10/99
to
Thomas Wimmer <tho...@wimmer.net> wrote:

>Ich habe eine url mit einem "ß" in der Adresse (fuer die newsreader
>ohne Umlaute: das ist ein scharfes s):
>http://www.regtp.de/Erreichen/text9_1.htm#Außenstelle
>
>Wenn ich das so in dem .tex-file eintrage:
>\href{http://www.regtp.de/Erreichen/text9_1.htm#Außenstelle}{Au\ss{}enstellen}
>
>dann bekomme ich nach einem "pdflatex datei.tex" folgendes als url:
>http://www.regtp.de/Erreichen/text9_1.htm#AuT1ss enstellen
>
>Damit kann der browser natuerlich nichts anfangen.
>
>Wie kann ich dem pdf-file das "ß" unterjubeln ?

\pdfstringdef (hyperref) wandelt einen TeX-String in einen PDF-String
(unicode sollte hier abgestellt sein oder man hat mehr Arbeit):

a) Teilstring ("http:" sollte nicht durch das Makro verdeckt
sein):
\pdfstringdef\x{Au\ss enstelle}
\href{http://www.regtp.de/Erreichen/text9_1.htm#\x}{...}

b) Ganze URL, hier werden _ und # durch \_ und \# generiert
(oder durch \string_ und \string#):

\pdfstringdef\x
{http://www.regtp.de/Erreichen/text9\_1.htm\#Au\ss enstelle}
\expandafter\href\expandafter{\x}{...}

Viele Gruesse
Heiko <ober...@ruf.uni-freiburg.de>

Thomas Wimmer

unread,
Oct 11, 1999, 3:00:00 AM10/11/99
to
Hallo

Ich habe eine url mit einem "ß" in der Adresse (fuer die newsreader
ohne Umlaute: das ist ein scharfes s):
http://www.regtp.de/Erreichen/text9_1.htm#Außenstelle

Wenn ich das so in dem .tex-file eintrage:
\href{http://www.regtp.de/Erreichen/text9_1.htm#Außenstelle}{Au\ss{}enstellen}

dann bekomme ich nach einem "pdflatex datei.tex" folgendes als url:
http://www.regtp.de/Erreichen/text9_1.htm#AuT1ss enstellen

Damit kann der browser natuerlich nichts anfangen.

Wie kann ich dem pdf-file das "ß" unterjubeln ?

Ich glaube irgendmal gelesen zu haben, dass pdf die zeichen in der
url als "native pdf-code" erwartet. Was ist der "native pdf-code"
fuer das "ß" ?


Thomas
--
Thomas Wimmer | When you're in a fight with an idiot,
tho...@wimmer.net | its difficult for other people
Stuttgart, Germany | to tell which one the idiot is.

Stefan Haller

unread,
Oct 11, 1999, 3:00:00 AM10/11/99
to
Heiko Schlenker <hsc...@gmx.de> wrote:

> * Thomas Wimmer <tho...@wimmer.net> schrieb:


>
> > Ich habe eine url mit einem "ß" in der Adresse
>

> Damit *koenntest* Du gegen RFC 1738 `Uniform Resource Locators
> (URL)' "verstossen".

Nicht "könntest", sondern ganz sicher. RFC 1738 läßt keinen Zweifel
daran.


> Kurz, das Zeichen "ß" wird zu "%DF". Statt
> "http://www.regtp.de/Erreichen/text9_1.htm#Außenstelle"
> *solltest* Du
> "http://www.regtp.de/Erreichen/text9_1.htm#Au%DFenstelle"
> verwenden.

Nicht "solltest", sondern "mußt".

> Ich bin mir meiner Sache allerdings nicht ganz sicher, da sich das
> "ß" ja im Anchor-Teil befindet, der streng genommen womoeglich gar
> nicht zum URL gehoert.

Doch, es gehört zur URL, was Du sagst ist also ganz richtig.


--
Stefan Haller
Berlin, Germany
http://www.snafu.de/~stk/

Louis Vosloo

unread,
Oct 11, 1999, 3:00:00 AM10/11/99
to
Thomas Wimmer wrote:
Hallo

Ich habe eine url mit einem "ß" in der Adresse (fuer die newsreader
ohne Umlaute: das ist ein scharfes s):
http://www.regtp.de/Erreichen/text9_1.htm#Außenstelle

Wenn ich das so in dem .tex-file eintrage:
\href{http://www.regtp.de/Erreichen/text9_1.htm#Außenstelle}{Au\ss{}enstellen}

dann bekomme ich nach einem "pdflatex datei.tex" folgendes als url:
http://www.regtp.de/Erreichen/text9_1.htm#AuT1ss enstellen

Damit kann der browser natuerlich nichts anfangen.

Wie kann ich dem pdf-file das "ß" unterjubeln ?

Ich glaube irgendmal gelesen zu haben, dass pdf die zeichen in der
url als "native pdf-code" erwartet. Was ist der "native pdf-code"
fuer das "ß" ?

    223 germandbls

ganau wie in ISO Latin 1 --- und LY1, aber nicht T1 leider.  Was verwenden Sie
f"ur encoding?  \usepackage[???]{fontenc}

(Sind Buchstaben ausser 32-126 "uberhaupt erlaubt in HTML?)
 

Thomas Wimmer

unread,
Oct 11, 1999, 3:00:00 AM10/11/99
to
Heiko Oberdiek wrote:
>
> Thomas Wimmer <tho...@wimmer.net> wrote:
>

(...)

> >
> >Wie kann ich dem pdf-file das "ß" unterjubeln ?
>

> \pdfstringdef (hyperref) wandelt einen TeX-String in einen
> PDF-String (unicode sollte hier abgestellt sein oder man hat mehr
> Arbeit):
>
> a) Teilstring ("http:" sollte nicht durch das Makro verdeckt
> sein):
> \pdfstringdef\x{Au\ss enstelle}
> \href{http://www.regtp.de/Erreichen/text9_1.htm#\x}{...}

Ja, tut, jedoch wird vor dem "Aussenstelle" (mit link) soviel
Leerraum gelassen, wie das "aussenstelle" einnimmt.

> b) Ganze URL, hier werden _ und # durch \_ und \# generiert
> (oder durch \string_ und \string#):
>
> \pdfstringdef\x
> {http://www.regtp.de/Erreichen/text9\_1.htm\#Au\ss enstelle}
> \expandafter\href\expandafter{\x}{...}

funktioniert auch, selbes Phaenomen wie vorher, nur ist der Leerraum
noch groesser (ungefaehr so gross wie der ganze link)

> Viele Gruesse
> Heiko <ober...@ruf.uni-freiburg.de>

Thomas Wimmer

unread,
Oct 11, 1999, 3:00:00 AM10/11/99
to
Heiko Schlenker wrote:
>
> * Thomas Wimmer <tho...@wimmer.net> schrieb:
>
> > Ich habe eine url mit einem "ß" in der Adresse
>
>
> Kurz, das Zeichen "ß" wird zu "%DF". Statt
> "http://www.regtp.de/Erreichen/text9_1.htm#Außenstelle"
> *solltest* Du
> "http://www.regtp.de/Erreichen/text9_1.htm#Au%DFenstelle"
> verwenden.

Selbst schon probiert, geht nicht (da es wharscheinlich ein anker
ist und kein computer/verzeichnis)



> Ich bin mir meiner Sache allerdings nicht ganz sicher, da sich das
> "ß" ja im Anchor-Teil befindet, der streng genommen womoeglich gar
> nicht zum URL gehoert.
>

> Gruss, Heiko

Thomas Wimmer

unread,
Oct 11, 1999, 3:00:00 AM10/11/99
to
Louis Vosloo wrote:
>

(...)

> > Ich glaube irgendmal gelesen zu haben, dass pdf die zeichen in
> > der
> > url als "native pdf-code" erwartet. Was ist der "native
> > pdf-code"
> > fuer das "ß" ?
>
> 223 germandbls

?

Versteh ich jetzt nicht. Was soll ich damit machen ?



> ganau wie in ISO Latin 1 --- und LY1, aber nicht T1 leider. Was
> verwenden Sie
> f"ur encoding? \usepackage[???]{fontenc}

\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage{times}

Ein Paket fontenc hab ich nicht. (das .tex file wird automatisch von
sgmltools erzeugt)

> (Sind Buchstaben ausser 32-126 "uberhaupt erlaubt in HTML?)

kA, ich bin nicht der Autor der webseite

Louis Vosloo

unread,
Oct 11, 1999, 3:00:00 AM10/11/99
to
Thomas Wimmer wrote:

> \usepackage[latin1]{inputenc}
> \usepackage{t1enc}
> \usepackage{times}

Es ist m"oglich das da schon ein Problem ist da "germandbls" 255 in
T1 ist, w"arend man 223 f"ur PDF encoding braucht. Aber Ich weiss
nicht ob pdfTeX versucht das zu "ubersetzen...

> Ein Paket fontenc hab ich nicht. (das .tex file wird automatisch von
> sgmltools erzeugt)
>
> > (Sind Buchstaben ausser 32-126 "uberhaupt erlaubt in HTML?)
>
> kA, ich bin nicht der Autor der webseite

Hmm, aber es w"urde mich nicht wundern wenn da noch mehr zerbricht
weil HTML defintif nur "printable ASCII" sein sollte...

Es ist so ungef"ahr wie Datei Namen mit "space" f"ur TeX. Mann kann
soweit damit kommen, aber am besten ist es dass zu vermeiden...

Stefan Haller

unread,
Oct 11, 1999, 3:00:00 AM10/11/99
to
Thomas Wimmer <tho...@wimmer.net> wrote:

> > "http://www.regtp.de/Erreichen/text9_1.htm#Au%DFenstelle"


>
> Selbst schon probiert, geht nicht (da es wharscheinlich ein anker
> ist und kein computer/verzeichnis)

Was meinst Du mit "geht nicht"? Ich habe die obige URL spaßeshalber mal
angeklickt, geht einwandfrei.

Heiko Oberdiek

unread,
Oct 11, 1999, 3:00:00 AM10/11/99
to
Thomas Wimmer <tho...@wimmer.net> wrote:

>Heiko Oberdiek wrote:
>> a) Teilstring ("http:" sollte nicht durch das Makro verdeckt
>> sein):
>> \pdfstringdef\x{Au\ss enstelle}
>> \href{http://www.regtp.de/Erreichen/text9_1.htm#\x}{...}
>
>Ja, tut, jedoch wird vor dem "Aussenstelle" (mit link) soviel
>Leerraum gelassen, wie das "aussenstelle" einnimmt.
>
>> b) Ganze URL, hier werden _ und # durch \_ und \# generiert
>> (oder durch \string_ und \string#):
>>
>> \pdfstringdef\x
>> {http://www.regtp.de/Erreichen/text9\_1.htm\#Au\ss enstelle}
>> \expandafter\href\expandafter{\x}{...}
>
>funktioniert auch, selbes Phaenomen wie vorher, nur ist der Leerraum
>noch groesser (ungefaehr so gross wie der ganze link)

Bitte aktuelles hyperref verwenden,
zur Zeit ausnahmsweise:
http://www.tug.org/applications/hyperref/hyp666k.zip
sonst
http://www.tug.org/applications/hyperref/hyperref.zip

Viele Gruesse
Heiko <ober...@ruf.uni-freiburg.de>

Heiko Oberdiek

unread,
Oct 11, 1999, 3:00:00 AM10/11/99
to
Thomas Wimmer <tho...@wimmer.net> wrote:

>Heiko Schlenker wrote:
>> Kurz, das Zeichen "ß" wird zu "%DF". Statt
>> "http://www.regtp.de/Erreichen/text9_1.htm#Außenstelle"
>> *solltest* Du
>> "http://www.regtp.de/Erreichen/text9_1.htm#Au%DFenstelle"
>> verwenden.
>

>Selbst schon probiert, geht nicht (da es wharscheinlich ein anker
>ist und kein computer/verzeichnis)

In \href funktioniert das %, da der Catcode umgestellt wird, es
sei denn, du verwendest \href innerhalb eines Arguments eines
anderen Befehls. (bei \pdfstringdef wuerde man \% verwenden).
Mit dem AcrobatReader 3 hatt ich keinerlei Probleme mit dem
Link:
\href{http://www.regtp.de/Erreichen/text9_1.htm#Au%DFenstelle}

Viele Gruesse
Heiko <ober...@ruf.uni-freiburg.de>

Thomas Wimmer

unread,
Oct 11, 1999, 3:00:00 AM10/11/99
to

Also ich sagte, dass ich das schon ausprobiert habe meinte ich
damit, dass ich die url so in den browser eingegeben habe.

Aber leider funktioniert das ersetzen des zeichens durch ascii-code
bei einem anker nicht.

Und um die Frage eines anderen Posters zu beantworten:
Natuerlich kommt was, wenn ich den Links so eingeben, aber leider
nicht die Stelle, auf die der anker verweist sondern das seitenende
der html-seite. Das Ziel des Ankers ist der _Anfang_ der Tabelle,
nicht das ende.

> Viele Gruesse
> Heiko <ober...@ruf.uni-freiburg.de>

Achso, software: communicator 4.7 linux, acrobat reader 4 linux

Thomas Wimmer

unread,
Oct 11, 1999, 3:00:00 AM10/11/99
to
Heiko Oberdiek wrote:
>
> Bitte aktuelles hyperref verwenden,
> zur Zeit ausnahmsweise:
> http://www.tug.org/applications/hyperref/hyp666k.zip
> sonst
> http://www.tug.org/applications/hyperref/hyperref.zip

Werds mal ausprobieren.

Wie installiere ich das eigentlich ?
Ist in dem readme nicht erwaehnt, und unter
/usr/share/texmf/tex/latex/hyperref habe ich teils ganz andere
dateien als in dem zip-file vorhanden sind.

> Viele Gruesse
> Heiko <ober...@ruf.uni-freiburg.de>

Ulrich Müller

unread,
Oct 11, 1999, 3:00:00 AM10/11/99
to
Stefan Haller schrieb:

>> > Ich habe eine url mit einem "ß" in der Adresse

>> Damit *koenntest* Du gegen RFC 1738 `Uniform Resource Locators
>> (URL)' "verstossen".

> Nicht "könntest", sondern ganz sicher. RFC 1738 läßt keinen Zweifel
> daran.

Hm, wenn man sich ganz genau nach dem Standard richtet, dann ist auch
der URL:

> http://www.snafu.de/~stk/

nicht konform, denn die ~ (Tilde) gehört laut RFC 1738 zu den "unsafe
characters" und Du solltest sie folglich durch ein %7E ersetzen.

> Nicht "solltest", sondern "mußt".

;-)

--
Ulrich Müller, Inst. für Kernphysik, Univ. Mainz, D-55099 Mainz
u...@kph.uni-mainz.de, Tel. +49 6131 39-5812, Fax -2964

Thomas Wimmer

unread,
Oct 11, 1999, 3:00:00 AM10/11/99
to
Thomas Wimmer wrote:
>
> Heiko Oberdiek wrote:
> >
> > Bitte aktuelles hyperref verwenden,
> > zur Zeit ausnahmsweise:
> > http://www.tug.org/applications/hyperref/hyp666k.zip
> > sonst
> > http://www.tug.org/applications/hyperref/hyperref.zip
>
> Werds mal ausprobieren.
>
> Wie installiere ich das eigentlich ?
> Ist in dem readme nicht erwaehnt, und unter
> /usr/share/texmf/tex/latex/hyperref habe ich teils ganz andere
> dateien als in dem zip-file vorhanden sind.

"make" und dann "make install"

habs natuerlich kurz nach dem Abschicken der news gefunden *schaem*

Funktioniert jetzt alles so wies sollte.

Danke an alle.

Heiko Oberdiek

unread,
Oct 11, 1999, 3:00:00 AM10/11/99
to
Thomas Wimmer <tho...@wimmer.net> wrote:

>Heiko Oberdiek wrote:
>>
>> Bitte aktuelles hyperref verwenden,
>> zur Zeit ausnahmsweise:
>> http://www.tug.org/applications/hyperref/hyp666k.zip
>> sonst
>> http://www.tug.org/applications/hyperref/hyperref.zip
>

>Wie installiere ich das eigentlich ?
>Ist in dem readme nicht erwaehnt, und unter
>/usr/share/texmf/tex/latex/hyperref habe ich teils ganz andere
>dateien als in dem zip-file vorhanden sind.

http://www.dante.de/faq/de-tex-faq/ Frage: 5.1.3

Beispiel fuer installation in /usr/local/texmf
1. .zip-Datei auspacken:
cd /usr/local/texmf/source/latex
rm hyperref/*
unzip irgendwo/hyperref.zip
2. .dtx-Dateien auspacken:
cd hyperref
tex hyperref.ins
3. Dateien ins Zielverzeichnis verschieben:
md /usr/local/texmf/tex/latex/hyperref
rm /usr/local/texmf/tex/latex/hyperref/*
mv *.sty *.cfg *.def /usr/local/texmf/tex/latex/hyperref/
4. Datenbank aktualisieren:
mktexlsr

(Es geht natuerlich auch einfacher,
z.B. mit einer docstrip.cfg-Datei.)

Viele Gruesse
Heiko <ober...@ruf.uni-freiburg.de>

Jens Weissenburger

unread,
Oct 12, 1999, 3:00:00 AM10/12/99
to
Stefan Haller wrote:
>
> Thomas Wimmer <tho...@wimmer.net> wrote:
>
> > > "http://www.regtp.de/Erreichen/text9_1.htm#Au%DFenstelle"

> >
> > Selbst schon probiert, geht nicht (da es wharscheinlich ein anker
> > ist und kein computer/verzeichnis)
>
> Was meinst Du mit "geht nicht"? Ich habe die obige URL spaßeshalber mal
> angeklickt, geht einwandfrei.
>

Bei mir nicht. Ich lande auch am unteren Ende der Tabelle.

Jens

Florian Hars

unread,
Oct 12, 1999, 3:00:00 AM10/12/99
to
Thomas Wimmer <tho...@wimmer.net> writes:
> > \href{http://www.regtp.de/Erreichen/text9_1.htm#Au%DFenstelle}
> Also ich sagte, dass ich das schon ausprobiert habe meinte ich
> damit, dass ich die url so in den browser eingegeben habe.

Gratuliere, du hast einen Bug in Netscape gefunden (lynx kann das
richtig). Bis der in allen installierten Exemplaren repariert ist
(ungefähr 2005), solltest du eine unproblematische URL mit
#Aussenstelle benutzen.

Tschüss, Florian.
--
+ when hideous hordes of web designers will leave ripped bloodless bodies of
hosts they parasited upon and convulsively start tearing limbs of each other
in agony illuminated by artificial light [...], then we know that time has
come for dêë|||zêïñe++++ >>>> Å.Ñ.Ñ.Ï.H.Î.L.Ä.T.Î.Ö.Ñ -- www.absurd.org

Thomas Wimmer

unread,
Oct 12, 1999, 3:00:00 AM10/12/99
to
Florian Hars wrote:
>
> Thomas Wimmer <tho...@wimmer.net> writes:
> > > \href{http://www.regtp.de/Erreichen/text9_1.htm#Au%DFenstelle}
> > Also ich sagte, dass ich das schon ausprobiert habe meinte ich
> > damit, dass ich die url so in den browser eingegeben habe.
>
> Gratuliere, du hast einen Bug in Netscape gefunden (lynx kann das
> richtig). Bis der in allen installierten Exemplaren repariert ist
> (ungefähr 2005), solltest du eine unproblematische URL mit
> #Aussenstelle benutzen.

Ist leider nicht meine Seite. Ich persoenlich waere nie auf die idee
gekommen, umlaute in einer url zu benutzen

> Tschüss, Florian.

Stefan Haller

unread,
Oct 12, 1999, 3:00:00 AM10/12/99
to
Thomas Wimmer <tho...@wimmer.net> wrote:

> Aber leider funktioniert das ersetzen des zeichens durch ascii-code
> bei einem anker nicht.

Aha, das ist ein Bug in Netscape. (In Lynx übrigens auch.) Beim
Internet Explorer, mit dem ich es zuerst nur probiert habe, funktioniert
es wie es soll.


Nochmal zum Mit-Testen: wenn man z.B. die URL

file://a#b

hat, dann sollten die beiden URLs

file://%61#b
file://a#%62

dazu äquivalent sein. Erstere funktioniert in allen drei Browsern
korrekt, letztere nur in IE; mit Netscape kommt man zum Ende der Seite,
mit Lynx zum Anfang.

Man lernt daraus, daß es eine ziemlich schlechte Idee ist, in einem
Anker irgendwas anderes als reines ASCII zu verwenden (obwohl es legal
ist).

Stefan Haller

unread,
Oct 12, 1999, 3:00:00 AM10/12/99
to
Heiko Schlenker <hsc...@gmx.de> wrote:

> Demnach gehoert "#Außenstelle" nicht zum URL und braucht nicht 7-bit
> clean zu sein(?)

Oops, das scheint (nach nochmaligem Lesen von RFC 1738) tatsächlich der
Fall zu sein. War mir neu. (Ich war der Meinung, da man den Anker ja
mit in die < > setzt, gehört er natürlich mit zur URL; aber 1738 weist
ausdrücklich auf diesen Fall hin.)

OK, Thomas, darfst "ß" schreiben. :-)

Thomas Wimmer

unread,
Oct 12, 1999, 3:00:00 AM10/12/99
to
Stefan Haller wrote:
>
> Heiko Schlenker <hsc...@gmx.de> wrote:
>
> > Demnach gehoert "#Außenstelle" nicht zum URL und braucht nicht
> > 7-bit clean zu sein(?)
>
> Oops, das scheint (nach nochmaligem Lesen von RFC 1738)
> tatsächlich der Fall zu sein. War mir neu. (Ich war der Meinung,
> da man den Anker ja mit in die < > setzt, gehört er natürlich mit
> zur URL; aber 1738 weist ausdrücklich auf diesen Fall hin.)
>
> OK, Thomas, darfst "ß" schreiben. :-)

Danke, dass ichs darf, werds aber trotzdem nie tun. ;-))

Christopher Creutzig

unread,
Oct 13, 1999, 3:00:00 AM10/13/99
to
Louis Vosloo <sup...@YandY.com> writes:

> (Sind Buchstaben ausser 32-126 "uberhaupt erlaubt in HTML?)

Latürnich. Siehe Spezifikation HTML 4.0, Abschnitt 5.2 "Character
Encodings". Mit einem entsprechenden HTTP-Header darf der Server auch
direkt Unicode/ISO10646 in UTF-16 schicken; Default-Zeichensatz war
früher ISO-8859-1, mit HTML 4.0 kam die Neuerung 'user agents must not
assume any default value for the "charset" parameter.' Wie das in der
Praxis aussehen soll, ist mir allerdings nicht klar, da immer ein Wert
verwendet werden muß, und EBCDIC und ASCII sind inkompatibel.

--
+--+
+--+|
|+-|+ Christopher Creutzig (c...@mupad.de)
+--+ Tel.: 05251-60-3203

Anselm Lingnau

unread,
Oct 13, 1999, 3:00:00 AM10/13/99
to
Im Artikel <wqs9057uy...@mupad.de> schrieb
Christopher Creutzig <c...@mupad.de>:

> Default-Zeichensatz war
> früher ISO-8859-1, mit HTML 4.0 kam die Neuerung 'user agents must not
> assume any default value for the "charset" parameter.' Wie das in der
> Praxis aussehen soll, ist mir allerdings nicht klar, da immer ein Wert
> verwendet werden muß, und EBCDIC und ASCII sind inkompatibel.

Dafür gibt es RFC 2616 (HTTP 1.1). Dieser schreibt vor, daß für
`text'-Typen (insbesondere `text/html') in Abwesenheit anderer
Vorgaben ein `charset=ISO-8859-1' angenommen wird. In den HTTP-Headern
selber ist bloß ASCII erlaubt, so daß da keine Mehrdeutigkeiten
auftreten können.

Wer verteilt EBCDIC-codierte HTML-Seiten?

Anselm
--
Anselm Lingnau ......................... lin...@tm.informatik.uni-frankfurt.de
It is better to fail in originality than to succeed in imitation.
-- Herman Melville

Lutz Donnerhacke

unread,
Oct 14, 1999, 3:00:00 AM10/14/99
to
* Anselm Lingnau wrote:
>Wer verteilt EBCDIC-codierte HTML-Seiten?

IBM. Und XML hat einen Anhang, wie man das erkennt. Incl 2-1-4-3 Unicode.

0 new messages