PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehlermeldung Sprache



johndaveus
23-06-2007, 17:07
Hallo

Ich bin grad dabei mich in LaTeX einzuarbeiten und möchte eine saubere Dokumentvorlage erstellen, um damit selber meine Diss zu schreiben und diese Vorlage dann auch allen anderen weiterzugeben.

Um alle Fehler wegzubekommen, wär's super nett wenn mir vielleicht jemand sagen könnte um was es sich hier handelt bzw wie man das korrigiert (auch wenn's nicht unbedingt nötig ist, da es keine sichtbaren Auswirkungen hat).

Vielen Dank im Voraus!

Folgende Fehlermeldung taucht auf, wenn ich französischen Text verwende und babel u.a. mit "french" geladen habe:

!LaTex Error: Command \og already defined.
Or name \end ... illegal

Der Cursor zeigt dabei auf \newcommand{\og}{\@empty},

und darunter steht etwas über französische Anführungszeichen:
\newcommand{\fg}{\@empty}
\ifLaTeXe
\def\FrenchGuillemetsFrom#1#2#3#4{%
\DeclareFontEncoding{#1}{}{}%
\DeclareFontSubstitution{#1}{#2}{m}{n}%
\DeclareTextCommand{\guillemotleft}{OT1}{%
{\fontencoding{#1}\fontfamily{#2}\selectfont\char# 3}}%
\DeclareTextCommand{\guillemotright}{OT1}{%
{\fontencoding{#1}\fontfamily{#2}\selectfont\char# 4}}}
\def\CyrillicGuillemets{\FrenchGuillemetsFrom{OT2} {wncyr}{60}{62}}
\def\PolishGuillemets{\FrenchGuillemetsFrom{T1}{lm r}{19}{20}}
\def\LasyGuillemets{%
\DeclareTextCommand{\guillemotleft}{OT1}{\hbox{%
\fontencoding{U}\fontfamily{lasy}\selectfont(\kern-0.20em(}}%
\DeclareTextCommand{\guillemotright}{OT1}{\hbox{%
\fontencoding{U}\fontfamily{lasy}\selectfont)\kern-0.20em)}}}
\IfFileExists{t1lmr.fd}{\PolishGuillemets}{\LasyGu illemets}
\DeclareTextSymbolDefault{\guillemotleft}{OT1}
\DeclareTextSymbolDefault{\guillemotright}{OT1}

localghost
23-06-2007, 17:34
Was passiert, wenn Du den ganzen Kram erstmal auskommentierst? Was man nicht kennt und wovon man nicht weiß, was es macht, sollte man erstmal rauslassen. Denn augenscheinlich wird der Befehl \og schon durch babel (http://dante.ctan.org/CTAN/help/Catalogue/entries/babel.html) definiert. Französische Anführungszeichen kannst Du auch anders bekommen.

johndaveus
23-06-2007, 18:11
Ja danke, das hilft erstmals weiter, ich hab "french" bei Babel rausgenommen und die franz. Anführungszeichen "von Hand" eingegeben und jetzt kommt keine Fehlermeldung mehr.

sommerfee
23-06-2007, 18:49
Denn augenscheinlich wird der Befehl \og schon durch babel (http://dante.ctan.org/CTAN/help/Catalogue/entries/babel.html) definiert.

So wie ich ihn verstanden habe, ist der Fehler während des Ladens des Babel-Paketes erschienen!?


ich hab "french" bei Babel rausgenommen

Wenn man auch französische Texte setzen will, ist das keine gute Idee, alleine schon, weil dann die Trennungen nicht stimmen.

johndaveus, poste doch mal deine Dokumentenvorlage, denn ansonsten können wir nur herumraten. Ich habe mal in meinem TeX-Baum nach \og gesucht, aber nur den franz. Teil von Babel gefunden, der das definiert.

Liebe Grüße,
Axel

johndaveus
03-07-2007, 09:39
johndaveus, poste doch mal deine Dokumentenvorlage

Hallo, tut mir sehr leid wegen der späten Reaktion, aber ich wusste nicht dass Texler so dermassen nett sind dass sie die Problemchen der anderen auch tatsächlich ernst nehmen ... :) Hab deswegen erst heute die Antwort von sommerfee gesehen

Hier ist der Anfang meiner Präambel ... meine oben genannte Frage bezieht sich wie schon gesagt auf's Französisch, aber andere Fehler dürfen natürlich gerne auch bemängelt werden; ich bin ja schliesslich Anfänger und will auch gar nicht so tun als ob ich mich auskenne ...

\documentclass[12pt,a4paper,centeredpartsintoc,twoside]{jurabook}[2006/04/26]
\usepackage[english,ngerman]{babel} %Hier hatte ich noch french geladen, aber dann : oben genannter Fehler
\usepackage{multicol}
\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{varioref}
%\usepackage{microtype} [Schriftalternative zu lmodern]
\usepackage{lmodern}
\usepackage[right=3cm,left=3cm,top=3cm,bottom=3cm]{geometry}
%\onehalfspacing
%\fncontinued
\usepackage{textcomp}
\usepackage{makeidx}
\makeindex
%\usepackage{fancyhydr} [ev. für Seitenzahlen unten rechts, noch nicht ausprobiert]
%\fancyfoot[LO,RE]{\thepage}
\usepackage[style=long,border=none,header=plain,cols=3]{glossary}
\renewcommand{\entryname}{Abk\"urzung}
\renewcommand{\descriptionname}{}
\makeglossary
\usepackage{jurabib}
\jurabibsetup{authorformat=smallcaps,authorformat= indexed,commabeforerest,
titleformat=italic,titleformat=commasep,bibformat= ibidemalt,ibidem=strictdoublepage}

sommerfee
03-07-2007, 10:08
\documentclass[12pt,a4paper,centeredpartsintoc,twoside]{jurabook}[2006/04/26]
\usepackage[english,ngerman]{babel} %Hier hatte ich noch french geladen, aber dann : oben genannter Fehler


Ja, jurabook definiert tatsächlich \og, das ist natürlich etwas ungeschickt, denn auf die Babel-Pakete sollte man schon ein wenig Rücksicht nehmen ;) (Werde gleich mal einen passenden Vorschlag an den Maintainer schicken.)

Im Prinzip läuft eine Lösung des Problemes auf die Frage hinaus, welches \og man gerne behalten möchte. Das von jurabook (dessen \og einfach eine Abkürzung von "o.g." mit richtigen Abständen ist) oder das von french (dessen \og öffende "guillemets" darstellt). Wenn man sich z.B. für letztere entscheidet, würde die Lösung so aussehen:



\documentclass[12pt,a4paper,centeredpartsintoc,twoside]{jurabook}[2006/04/26]
\let\abkog\og % Das \og von jurabook nach \abkog sichern
\let\og\undefined % Definition von \og rückgängig machen
\usepackage[english,ngerman,french]{babel}


Entscheidet man sich hingegen, daß \og von jurabib behalten zu wollen, so könnte man dies z.B. so:



\documentclass[12pt,a4paper,centeredpartsintoc,twoside]{jurabook}[2006/04/26]
\let\abkog\og % Das \og von jurabook nach \abkog sichern
\let\og\undefined % Definition von \og rückgängig machen
\usepackage[english,ngerman,french]{babel}
\let\og\abkog % \og von jurabook wieder restaurieren


Bei dieser Lösung ist aber zu beachten, daß die Umschaltung der "guillemets" zu einer automatischen Umdefinition von \og führt, also ist die erste Lösung IMHO vorzuziehen. Man kann dann eben kein \og mehr als Abkürzung von "o.g." in seinem Dokument verwenden, sondern muß dann stattdessen \abkog verwenden.

Liebe Grüße,
Axel

P.S.: Gruß zurück :cool:

Salnic
03-07-2007, 10:16
offensichtlich gibt es wirklich einen Konflikt zwischen französisch und jurabook, beide definieren \og. Du kannst aber das jura-\og in \obg umdefinieren und dann sollte es funktionieren.


\documentclass[french]{jurabook}
%\documentclass{article}
%\documentclass{scrartcl}
\let\obg\og
\let\og\undefined

\usepackage[ngerman,french]{babel}
\begin{document}
Du fait de sa relative simplicit\'{e}, il est devenu la m\'{e}thode
privil\'{e}gi\'{e}e d'\'{e}criture de documents scientifiques employant \TeX{};
la version actuelle est \LaTeX2e{} (LaTeX 2 epsilon). Il est
particuli\`{e}rement utilis\'{e} dans les domaines techniques et
scientifiques pour la production de documents de taille moyenne ou
importante (th\`{e}se ou livre). N\'{e}anmoins, il peut aussi \^{e}tre employ\'{e}
pour g\'{e}n\'{e}rer des documents de types vari\'{e}s (par exemple des lettres
ou des transparents). (from wikipedia)
\end{document}

Salnic

PS: Gruß an Axel

johndaveus
03-07-2007, 21:08
Wow, Ihr seid die Besten!! <<Merci>>, mit französischen Guillemets!