PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kein Umlaute trotz "ngerman"



no1gizmo
25-04-2007, 13:51
Hi,

guckt euch mal bitte den smarten Header an:



\documentclass[11pt, oneside]{scrartcl}
\usepackage{a4,fancyhdr}
\usepackage[a4paper,right=2cm,left=2.5cm,top=3.5cm,bottom=3.5c m]{geometry}
\usepackage[ngerman]{babel}
\usepackage{array}
\usepackage{color}
\usepackage{lastpage}
\usepackage{tocloft}
\usepackage[refpage,german]{nomencl}
\usepackage{listings} \lstset{numbers=left, numberstyle=\tiny, numbersep=5pt} \lstset{language=Perl}
\usepackage[pdftex,colorlinks=false]{hyperref}
\pagestyle{fancy}

\fancyhf{} % Kopf- und Fußzeile löschen

% Header
\fancyhead[LO]{\slshape\nouppercase{\rightmark}}
\fancyhead[OC]{\rhead{\includegraphics[width=1cm]{Bilder/lsv}}}

% Footer
\fancyfoot[LO]{Dokumentation}
\fancyfoot[C]{Seite \thepage~von \pageref{LastPage}}
\fancyfoot[OR]{dingens}

% Punkte im Inhaltsverzeichnis
\renewcommand{\cftsecdotsep}{\cftdotsep}

% Definition Abkürzungsverzeichnis
\let\abbrev\nomenclature
\setlength{\nomlabelwidth}{.25\hsize}
\renewcommand{\nomlabel}[1]{#1 \dotfill}
\makeglossary

\renewcommand{\headrulewidth}{0.7pt}
\renewcommand{\footrulewidth}{0.7pt}
\setlength{\headheight}{15pt}

%% this makes images possible both in latex and pdftex
\newif\ifpdf
\ifx\pdfoutput\undefined
\pdffalse
\else
\pdfoutput=1
\pdftrue
\fi

\ifpdf
\usepackage[pdftex]{graphicx}
\pdfinfo {
/Title (Abschlussprüfung)
/Subject (Dokumentation)
/Author (dingens)
/Keywords (Fax-Viewer)
}
\else
\usepackage{graphicx}
\fi

% our own colors :>
\definecolor{front}{rgb}{0.93,1,0.94}
\definecolor{back}{rgb}{0.55,0.84,0.93}
\definecolor{comment}{rgb}{0.54,0.58,0.78}

% language definition
\lstdefinelanguage{csharp}
{morekeywords={this,foreach, if, else, else if, try, catch, finally, void, public, private, partial, string, int, bool, return,
class, static, new, using, namespace},
sensitive=true,
morecomment=[l]{//},
morecomment=[s]{/*}{*/},
morestring=[b]",
morestring=[d]’}

% makes listing beautiful ;-)
\lstset{emph={square}, emphstyle=\color{red},
emph={[2]root,base},emphstyle={[2]\color{blue}},
framexleftmargin=5mm, frame=shadowbox,
backgroundcolor=\color{front}, rulesepcolor=\color{back},
basicstyle=\tiny,
keywordstyle=\color{red}\bfseries,
identifierstyle=\color{blue},
commentstyle=\color{comment},
stringstyle=\ttfamily,
showstringspaces=false} % no special string spaces}

Im gesamten Dokument werden aber keine Umlaute mehr angezeigt, sie sind einfach weg, aus "über" wird dann eben "ber" und so weiter.

Ich habe gerade das Glossar erstellt (das war nicht so einfach und hat lange gedauert), dann ist mir das aufgefallen, einst waren die Umlaute alle da. Nun habe ich das Glossar und das Package "nomencl" wieder entfernt, aber trotzdem sind keine Umlaute mehr zu sehen :confused:
Mysterium?

marius79
25-04-2007, 14:06
Hallo,

wie gibst Du denn die Umlaute ein? Als ä, ö etc.? Oder als \"a, \"o etc.? Wenn ich letzteres bei mir ausprobiere, kommen auch die Umlaute, sonst nicht. Habt Ihr im Eifer der Präambel vielleicht ein \usepackage[latin1]{inputenc} rausgeschmissen?

Grüße
marius

Salnic
25-04-2007, 14:07
Hi Benjamin,

> Kein Umlaute trotz "ngerman"
naja, Du sagst ja "bloß" babel und nomencl, dass Du es gern in Deutsch hättest. Woher soll es denn der Rest wissen? Und vor allem, wie soll Latex wissen, wie es mit Deinen wahrscheinlich direkt eingegebenen Umlauten umgehen soll.

es gibt mehrere Varianten, Umlaute einzugeben.

ohne babel: \"a
mit babel: \"a oder "a
mit inputenc: ä, \"a oder "a

Das Packet inputenc sorgt dafür, dass Deine Sonderzeichen korrekt kodiert, bzw. decodiert werden und somit für Latex verarbeitbar sind.


\documentclass[11pt, oneside,ngerman]{scrartcl}
\usepackage[ansinew]{inputenc} %oder eine andere Option, passend zu Deinem Betriebsystem
\usepackage[T1]{fontenc}
\usepackage{a4,fancyhdr}
\usepackage[a4paper,right=2cm,left=2.5cm,top=3.5cm,bottom=3.5c m]{geometry}
\usepackage[ngerman]{babel}
\usepackage{array}
\usepackage{color}
\usepackage{lastpage}
\usepackage{tocloft}
\usepackage[refpage,german]{nomencl}
\usepackage{listings} \lstset{numbers=left, numberstyle=\tiny, numbersep=5pt} \lstset{language=Perl}
\usepackage[pdftex,colorlinks=false]{hyperref}
\pagestyle{fancy}

countbela666
25-04-2007, 15:58
Noch ein paar zusätzliche Anmerkungen:

\usepackage{a4} ist ganz böser Pfusch, das Paket ist uralt und in mehreren verschiedenen Versionen im Netz zu haben (vgl. l2tabu). Sofort ersatzlos streichen (die KOMA-Script-Klasse scrartcl bindet per default bereits die Option a4paper ein).

Folgender Schmonz ist veraltet und vor allem unnütz, da das Paket graphicx die gleichen Abfragen intern bereits von Hause aus durchführt:

%% this makes images possible both in latex and pdftex
\newif\ifpdf
\ifx\pdfoutput\undefined
\pdffalse
\else
\pdfoutput=1
\pdftrue
\fi

\ifpdf
\usepackage[pdftex]{graphicx}
\pdfinfo {
/Title (Abschlussprüfung)
/Subject (Dokumentation)
/Author (no1gizmo)
/Keywords (Fax-Viewer)
}
\else
\usepackage{graphicx}
\fiWenn du die PDF-Infostrings einbinden willst, übergib die Werte den entsprechenden Optionen des hyperref-Pakets (s. Doku).

Grüße
Marcel

no1gizmo
26-04-2007, 10:31
Danke Jungs, ihr seid die besten! Habe alle Tipps erfolgreich umsetzen können! :) Daumen hoch!

trinity83
03-07-2007, 20:58
Hi Leute, sorry das ich den Thread noch mal nach vorn holen muss.
Ich bin grad dabei meine Studienarbeit zu schreiben und hab jetzt leider ein kleines Problem mit den Umlauten.
Mein Code sieht folgendermaßen aus:

\documentclass[12pt,a4paper,oneside]{report}


\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{cite}
\usepackage{color}
\usepackage{subfigure}
%\usepackage{here}
\usepackage{graphicx}
%\usepackage[dvips]{eps2pdf}
\usepackage{epstopdf}
\usepackage{amstext}
\usepackage{amsmath}
\usepackage{epsfig}
\usepackage{subfigure}
\usepackage{chapterbib}
\usepackage{caption}
\usepackage{setspace}
\usepackage{latexsym,amssymb}
\usepackage{pdfsync}
\usepackage{fancyhdr}
\usepackage{listings}

\graphicspath{images}

% This is now the recommended way for checking for PDFLaTeX:
\usepackage{ifpdf}

%\newif\ifpdf
%\ifx\pdfoutput\undefined
%\pdffalse % we are not running PDFLaTeX
%\else
%\pdfoutput=1 % we are running PDFLaTeX
%\pdftrue
%\fi

\ifpdf
\usepackage[pdftex]{graphicx}
\else
\usepackage{graphicx}
\fi


Umlaute geb ich einfach mit ä,ü,ö ein - sollte ja eigentlich auch gehen durch in inputenc, oder?! Nur leider tut es das nicht :(.
Kann mir jemand nen Tipp geben, seh den Wald vor lauter Bäumen nicht mehr.

Salnic
04-07-2007, 04:14
sorry, ich hatte es in rot geschrieben.

\usepackage[T1]{fontenc}

Salnic

sommerfee
04-07-2007, 06:33
sorry, ich hatte es in rot geschrieben.

\usepackage[T1]{fontenc}

Salnic

Soweit ich weiß, sorgt dies lediglich dafür, daß Worte mit Umlaute korrekt getrennt werden, aber für das "Erscheinen" der Umlaute innerhalb des Dokuments sollte das \usepackage[...]{inputenc} reichen.

Daher tippe ich auf ein falsches Encoding, "latin1" scheint hier nicht zu stimmen. trinity83, unter was für einem Betriebssystem und mit welchem Editor gibst du deinen LaTeX-Text ein, und welche LaTeX-Distribution setzt du ein?

Liebe Grüße,
Axel

Salnic
04-07-2007, 08:27
Hi Alex,

ich bin ich nicht ganz Deiner Meinung. Aber hier kann mich mein gefährliches Halbwissen auch trügen. Bei mir sorgt Inputenc für die richtige "Umwandlung" der Quelldateien, damit Latex sie lesen kann (also z.B. Mac, Unix, Windows, UTF8, Kyrillisch, ...).

Fontenc hingegen kümmert sich bei mir darum, wie Buchstaben für die Ausgabe kodiert werden. Mit T1 wird z.B. dafür gesorgt, dass Umlaute echte Umlaute sind und keine Buchstaben auf die anschließend Tremata gesetzt werden, also eigentlich ein aus zwei Zeichen zusammengesetztes Zeichen. Beim Ausdrucken (und dafür ist ja Latex eigentlich mal entwickelt worden) spielt das keine Rolle, aber wenn man aus einem PDF was rauskopieren möchte, hat man plötzlich zwei Zeichen: den Grundbuchstaben und die Pünktchens. Wenn Latex T1 kodiert, zaubert es also einen einzelnen Buchstaben, mit dem Vorteil, dass jetzt auch die Trennung funktioniert. (Die richtige Trennung bei Standard-Kodierung klappt wohl nicht, weil in den Trenntabellen keine Buchstaben mit separierten Umlautpunkten enthalten sind)

Kannst ja mal spaßeshalber auf OT2 stellen. Dann wird der Ausdruck mit kyrillischen Buchstaben kodiert. Wenn man den Text jetzt kopiert, hat man leider trotzdem lateinische Buchstaben in der Zwischenablage.

Salnic


\listfiles
\documentclass{article}
\usepackage[latin1]{inputenc}
%\usepackage[T1]{fontenc} % Encoding mit echten Umlauten
%\usepackage[OT2]{fontenc} % kyrillisches Encoding
\begin{document}
Umlaute, privet \"{a}\"{o}\"{u} \"{A}\"{O}\"{U} ä ö ü Ä Ö Ü
\end{document}


*File List*
article.cls 2005/09/16 v1.4f Standard LaTeX document class
size10.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
inputenc.sty 2006/05/05 v1.1b Input encoding file
latin1.def 2006/05/05 v1.1b Input encoding file
***********

Salnic
04-07-2007, 08:29
Hi Trinity,

wenn es mit \usepackage[T1]{fontenc} nicht klappt (was ich nicht glaube), dann schreib mal ein kleines Minimalbeispiel.


Daher tippe ich auf ein falsches Encoding, "latin1" scheint hier nicht zu stimmen.
das glaube ich nicht, da die Umlaute ja erkannt werden (also keine Fehlermeldung) und auch korrekt (zumindestens optisch) dargestellt werden.


unter was für einem Betriebssystem und mit welchem Editor gibst du deinen LaTeX-Text ein, und welche LaTeX-Distribution setzt du ein?
bitte kopiere nicht aus Deinem Latex-Editor den Quelltext, sondern nimm einen Nicht-Latex-Editor z.B. notepad.exe (unter Windows).

Grund: viele Latex-Editoren speichern (heimlich) Umlaute als (\"{a} statt ä) und wenn die Eingabekodierung die Fehlerursache ist, könnten wir den Fehler hier nie finden.

Salnic

sommerfee
04-07-2007, 08:58
Moin Salnic,



ich bin ich nicht ganz Deiner Meinung.

Hmm, ich stimme aber allem zu, was du jetzt geschrieben hast, also wohl nur ein Mißverständnis. (siehe unten)

(Aber dafür haben wir jetzt einen guten, erklärenden Text von dir, auf den man zukünftig gut verweisen kann :) )



Mit T1 wird z.B. dafür gesorgt, dass Umlaute echte Umlaute sind und keine Buchstaben auf die anschließend Tremata gesetzt werden, also eigentlich ein aus zwei Zeichen zusammengesetztes Zeichen.

Genau, aber das wird ja immerhin schon'mal als Umlaut dargestellt (solange das font encoding nicht verstellt wurde), und ich interpretiere das "Nur leider tut es das nicht" von trinity83 so, daß es bereits hier schon harkt. Du hingegen interpretierst es als "da die Umlaute ja erkannt werden (also keine Fehlermeldung) und auch korrekt (zumindestens optisch) dargestellt werden."

Aber wissen wir das? trinity83, was genau heißt bei dir "Nur leider tut es das nicht"? Fehlermeldung? Umlaute nicht sichtbar? Umlaute sichtbar, werden aber nicht wie echte Umlaute behandelt?

Liebe Grüße,
Axel

Salnic
04-07-2007, 09:17
Ja Axel,

Du hast recht, habe zu viel in Trinitis Aussage reininterpretiert, weiß gar nicht, wie ich auf die Idee gekommen bin, dass es "optisch korrekt" sein könnte. Mein Kristallkugel klemmt manchmal bei "Nur leider tut es das nicht".

viele Grüße
Salnic

sommerfee
04-07-2007, 12:38
Du hast recht, habe zu viel in Trinitis Aussage reininterpretiert

Ich ja auch, nur eben in die andere Richtung.



Mein Kristallkugel klemmt manchmal bei "Nur leider tut es das nicht".

Nicht nur deine. :D

Alles Liebe,
Axel

trinity83
04-07-2007, 14:17
Also ich schreib mit TextMate unter Mac OsX.

Ich hab das mit \userpackage[T1]{fontenc} ausprobiert - die Ausgabe bleibt allerdings die selbe. Für ein ü kommt ein Ãij herraus, (keine Fehlermeldung beim kompilieren).

bischi
04-07-2007, 15:15
Tja - dann solltest du vielleicht mal nachschauen, was dein Editor genau für ein Encoding verwendet und das richtig einstellen (ev. applemac anstatt latin1).

MfG Bischi

rais
04-07-2007, 15:24
Moin moin,

Also ich schreib mit TextMate unter Mac OsX.

Ich hab das mit \userpackage[T1]{fontenc} ausprobiert - die Ausgabe bleibt allerdings die selbe. Für ein ü kommt ein Ãij herraus, (keine Fehlermeldung beim kompilieren).
ich kenne die Standardkodierung von TextMate zwar nicht, aber unter MAC OS/X ist es meist "applemac" oder "utf8" -- versuch' die beiden mal nacheinander statt "latin1" bei {inputenc}.
Alternativ kannst Du vllt auch selbst nachsehen: Datei->speichern unter, auf dem erscheinendem Fenster mal nach Kodierung schauen.;)

@Axel: Deine Kristallkugel scheint mir hier aber noch die richtige Schmierung gehabt zu haben :D

MfG,

trinity83
04-07-2007, 17:32
Mit "utf8" klappt's jetzt endlich :D - "applemac" hatte ich selbst auch schon versucht, aber auf "utf8" bin ich nicht gekommen. Ein großes Dankeschön!

Salnic
04-07-2007, 18:03
die goldene Kristallkugel geht an Axel und meine in die Reparatur :-)

Salnic