PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Umlaute im pdf werden nicht gefunden/sind nicht kopierbar



KlausImMai
10-01-2010, 09:06
Hallo,

wenn ich folgendes Minimalbeispiel erstelle, dann erscheinen die Umlaute äöü im pdf als  a o u und werden deshalb nicht gefunden und können auch nicht kopiert werden.


\documentclass[a4paper]{article}
%\usepackage{cmap} - ändert nichts
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\begin{document}

äöü
ÄÖÜ
\end{document}

Ich arbeite auf windows.

Nützt nichts:
* \usepackage[ansinew]{inputenc}
* \usepackage{cmap}

Könnte mir bitte jemand ein Minimalbeispiel geben, in dem das funktioniert?

Ziel:
1. Umlaute im pdf sollen über Suche gefunden werden
2. Umlaute sollen nach Kopieren von Text aus dem pdf erhalten bleiben

Viele Grüße,

Klaus

mechanicus
10-01-2010, 09:30
Hi,

unter Linux funktioniert die Suche im adobe mit dem Beispiel:

\documentclass[a4paper,ngerman]{article}
\usepackage{babel}
\usepackage[utf8]{inputenc}
% \usepackage{cmap}
%\usepackage[T1]{fontenc}
\begin{document}
äöü
ÄÖÜ
\end{document}

Mit Okular funktioniert es nur so:

\documentclass[a4paper,ngerman]{article}
\usepackage{babel}
\usepackage[utf8]{inputenc}
% \usepackage{cmap}
\usepackage[T1]{fontenc}
\begin{document}
äöü
ÄÖÜ
\end{document}

Gruß
Marco

KlausImMai
10-01-2010, 10:06
Hallo,

da bekomme ich die Fehlermeldung:


! Package inputenc Error: Unicode char \u8:õ÷³ not set up for use with LaTeX.

Der Grund liegt darin, dass äöü nicht als Unicode Zeichen eingegeben sind.

Wenn ich das ändere, dann funktioniert es:


\documentclass[a4paper,ngerman]{article}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\begin{document}
äöü
ÄÖÜ

\end{document}



Heißt das, dass ich alles auf Unicode umstellen muss? Und überall ä statt ä ... schreiben muss?

(Mich wundert, dass andere das Problem einfach zu ignorieren scheinen. Ich habe zuerst hier im Forum gesucht. Sehr wenig gefunden.)

Herzlichen Dank, schon mal, für die Antwort.

Viele Grüße,

Klaus

bischi
10-01-2010, 10:27
Du musst einfach das inputenc so einstellen, dass es zu den Einstellungen deines Editors passt (also wenn dein Editor UTF8 abspeichert, dann UTF8 wählen - usw...). Sonst gibt es auch noch das selinput Package...

MfG Bischi

mechanicus
10-01-2010, 10:36
Hi,

ich habe ja geschrieben, dass ich Linux nutze. Wenn du
\usepackage[latin1]{inputenc} verwendest, sollte s normal funktionieren. Oder du nimmst das von Bischi angesprochene Paket.

Gruß
Marco

u_fischer
10-01-2010, 13:36
Es ist nicht wichtig, wie deine Datei kodiert ist, d.h. ob du inputenc mit der Option latin1, ansinew oder utf8 benutzt (solange die Option zu deiner Dateikodierung passt).

Wichtig sind die Schriften: Du musst aber T1-kodierte Schriften benutzen, d.h. \usepackage[T1]{fontenc} ist zwingend. Die Schriften sollte auch type1-Schriften sein, d.h. pdflatex sollte am Ende der log-Datei pfb-Schriften einbinden.

KlausImMai
10-01-2010, 14:21
Das heißt: OT1 funktioniert nicht?


\usepackage[OT1]{fontenc}

funktioniert nicht?

KlausImMai
10-01-2010, 15:06
OK, ich habe das Problem gelöst.

Hier meine Zusammenfassung (bitte korrigieren, wenn irgendetwas nicht stimmt):
1. das Problem hat nichts mit linux versus windows zu tun
2. das Problem hat nichts mit encoding zu tun
3. das Problem liegt am Schriftsatz: wenn gleichsam jemand die Bleilettern für die Umlaute gegossen hat, und ich lade diesen Schriftsatz, dann wird alles auf Anhieb funktionieren (mit \usepackage[T1]{fontenc}). Wenn ich allerdings einen Bleiletterkasten ohne Umlaute verwende, werden diese zwar im PDF erscheinen, aber es sind fakes/Mimikries und werden deshalb von der PDF-Suche nicht gefunden.

Grund für genanntes Problem:
* Ich verwende einen Schriftsatz/eine Schriftart, die keine Umlaute hat
* Ich glaube, ich lade den richtigen Schriftsatz, aber in Wirklichkeit lade ich etwas Anderes, weil ein stylesheet, das ich benutze, etwas Anderes lädt - so war es bei mir (im log-file nachschauen!).

Interessieren würde mich noch die oben gestellte offene Frage, wie man das Problem mit OT1 löst.

Herzlichen Dank für die bisherigen Antworten!

Klaus

u_fischer
10-01-2010, 17:19
Ich verwende einen Schriftsatz/eine Schriftart, die keine Umlaute hat

Nein, die Schrift könnte schon Umlaute haben, aber du verwendest die Schrift mit einer Kodierung (OT1), die diese Umlaute -- wenn es sie gibt -- nicht verwendet. OT1 ist sozusagen auf dem Auge blind.


Interessieren würde mich noch die oben gestellte offene Frage, wie man das Problem mit OT1 löst.

Gar nicht. Ich sagte doch schon, du musst T1 benutzen.

KlausImMai
11-01-2010, 05:57
Natürlich möchte ich OT1 nur dann verwenden, wenn ich eine Schriftart verwende, die LaTeX selbst nicht mitbringt. Die Frage macht also schon Sinn, weil gewisse importierte Schriftarten einen dazu zwingen, OT1 zu verwenden. Wie schaut es dann aus?

u_fischer
11-01-2010, 09:07
Bei OT1-kodierten Schriften können Umlaute nicht kopiert werden. Es geht nicht. Punkt. Mir ist aber keine aktuelle Schrift bekannt, die man nicht auch mit T1 benutzen kann. Was ist also konkret dein Problem?

KlausImMai
11-01-2010, 14:27
OT bedeutet Open Type - nicht wahr?

Adobe Janson Schriftart (http://store1.adobe.com/cfusion/store/html/index.cfm?&store=OLS-US&event=displayFontPackage&code=1341) ist eine Open Type Schriftart.

Können die Umlaute dieser Schriftart nach Import in LaTeX im generierten PDF gefunden werden? Und muss ich dann nicht "\usepackage[OT1]{fontenc}" statt "\usepackage[T1]{fontenc}" verwenden?

u_fischer
11-01-2010, 14:42
Nein, OT1 und T1 sind Schriftkodierungen = Zeichentabellen. Das hat nichts mit den Schriftformaten Open Type oder type1 zu tun, auch wenn die Namen ähnlich klingen.

Wenn du eine Open Type Schrift verwenden willst, musst du entweder xelatex benutzen, das kann das von Hause aus. Oder du musst die Open Type Schrift in eine Type1-Schrift (pfb) konvertieren, diverse tfm, vf, und sonstige Dateien erzeugen und alles installieren. Siehe auch:
http://www.mrunix.de/forums/showthread.php?t=67058

KlausImMai
11-01-2010, 17:35
Ist es dann also möglich, Adobe Janson und \usepackage[T1]{fontenc} zu benutzen?

u_fischer
11-01-2010, 23:03
Ja, wobei es wohl einfacher ist, die nötigen Dateien für die Kodierung LY1 zu erstellen (LY1=Alternative zu T1, aber nicht so verbreitet).

KlausImMai
12-01-2010, 07:05
Herzlichen Dank für den Hinweis!