PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Umbruch bei Literaturreferenzen



PKautz
14-03-2005, 13:40
Hallo,

ich habe folgendes Problem: meine Literaturreferenzen sind stellenweise recht lang (z.B. zwei Autorennamen durch / getrennt). Und irgendwie bricht LaTeX diese nicht um. Hat jemand eine Idee wie das gelöst werden kann? Habe es schon mit breakcites probiert, funktioniert aber irgendwie nicht. Benötige dringend Hilfe, schönen Dank schon mal.

Nev
14-03-2005, 16:35
Sind umlaute dabei? da gibts immer wieder probleme mit dem umbruch...

hmm, ein schuss ins blaue wäre mal ein \- zu setzen, aber wenn das gehen würde, könnte er ja auch normal umbrechen (oder? bin selbst noch bisschen grün ;) )

PKautz
17-03-2005, 07:49
Hatte ich auch schon probiert.
Ergebnis: unschöner Effekt überall Bindestriche.
Das ist nicht gewünscht.
Trotzdem danke für den Vorschlag.
Hat irgendwer sonst noch eine Idee???

blubb
17-03-2005, 09:13
Ergebnis: unschöner Effekt überall Bindestriche.
?????

Hast du ein Codingbeispiel?

PKautz
17-03-2005, 09:26
Ich habe z.B. folgenden Bibliography-Eintrag:

\bibitem[Schumann/Müller(2000)]{Schumann(2000)}
\dinatlabel{Schumann/Müller 2000}\\ \textsc{Schumann}, Heidrun ;
\textsc{Müller}, Wolfgang:
\newblock \emph{Visualisierung - Grundlagen und allgemeine Methoden}.
\newblock Springer-Verlag Berlin, 2000

Und nun ist im Text hin und wieder der Fall, daß nach Schumann/ umgebrochen werden soll/muss.

Dazu habe ich die erste Zeile des Eintrags so geändert: \bibitem[Schumann/\-Müller(2000)]{Schumann(2000)}.

Jetzt wird zwar umgebrochen, ich bekomme aber Bindestriche angezeigt.
Also: Schumann/-
Müller ...

Meine Frage ist nun: Wie kann man das ändern bzw. wie ist das besser umzusetzen?

blubb
17-03-2005, 09:38
Hast du ein Codingbeispiel?
Ok, die Frage war falsch.

Hast du ein Minimalbeispiel?
(Bib-Datei mit einem Eintrag, Tex-Datei das diesen zitiert).

Das du vermutlich natbib nimmst, kann ich ahnen, aber der Rest...

PKautz
17-03-2005, 09:51
Ich habe keine extra bib-Datei, Da ich die Labels im nachhinein nochmal ändern muss. Deshalb hier die Bibliography-Umgebung:

\begin{thebibliography}{1}
\providecommand{\natexlab}[1]{#1}
\providecommand{\url}[1]{\texttt{#1}}
\makeatletter
\newcommand{\dinatlabel}[1]%
{\ifNAT@numbers\else\NAT@biblabelnum{#1}\fi}
\makeatother
\expandafter\ifx\csname urlstyle\endcsname\relax
\providecommand{\doi}[1]{doi: #1}\else
\providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi

\bibitem[Schumann/\-Müller(2000)]{Schumann(2000)}
\dinatlabel{Schumann/Müller 2000}\\ \textsc{Schumann}, Heidrun ;
\textsc{Müller}, Wolfgang:
\newblock \emph{Visualisierung - Grundlagen und allgemeine Methoden}.
\newblock Springer-Verlag Berlin, 2000

\end{thebibliography}

Und die Referenz im Text:

Isolinien sind Kurven, welche die Punkte des Beurteilungsgebietes miteinander verbinden, bei denen die gleichen Immissionskonzentrationen vorliegen (vgl. \cite{Schumann(2000)} S.~141f). Formal können Isolinien durch folgende Beziehung beschrieben werden:

Ich hoffe das hilft bei der Lösungsfindung. Schon mal schönen Dank.

PKautz
17-03-2005, 10:37
Welche Möglichkeiten hat man eigentlich zum Formatieren der Literaturreferenzen (Trennungshilfen, Umbruchschutz)?
Wie kann man auf das Erscheinungsbild Einfluß nehmen, z.B. andere Schriftart oder so?

blubb
17-03-2005, 11:02
Ein Minimalbeispiel war das noch nicht, dazu fehlte Klasse, Pakete...

Das Beispiel das ich aus deinen Angaben gebaut habe hat bei mir keine unerwünschten Trennungen oder überflüssige -. (pdf anbei).

\documentclass[ngerman]{scrartcl}
\usepackage{babel}
\usepackage{natbib}
\usepackage[ansinew]{inputenc}

\begin{document}

Isolinien sind Kurven, welche die Punkte des Beurteilungsgebietes
miteinander verbinden, bei denen die gleichen
Immissionskonzentrationen vorliegen (vgl. \cite{Schumann(2000)}
S.~141f). Formal können Isolinien durch folgende Beziehung
beschrieben werden

\begin{thebibliography}{1}
\providecommand{\natexlab}[1]{#1}
\providecommand{\url}[1]{\texttt{#1}}
\makeatletter
\newcommand{\dinatlabel}[1]%
{\ifNAT@numbers\else\NAT@biblabelnum{#1}\fi}
\makeatother
\expandafter\ifx\csname urlstyle\endcsname\relax
\providecommand{\doi}[1]{doi: #1}\else
\providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi

\bibitem[Schumann/\-Müller(2000)]{Schumann(2000)}
\dinatlabel{Schumann/Müller 2000}\\ \textsc{Schumann}, Heidrun ;
\textsc{Müller}, Wolfgang:
\newblock \emph{Visualisierung - Grundlagen und allgemeine Methoden}.
\newblock Springer-Verlag Berlin, 2000

\end{thebibliography}
\end{document}
% ----------------------------------------------------------------

Anmerkungen zum Code:

\providecommand{\url}[1]{\texttt{#1}}
Dir ist bewusst, das es zum setzen ein Paket url gibt. Und \texttt erlaubt glaub gar keine Trennung.
Das kann vielleicht schon das Problem sein.

PKautz
17-03-2005, 11:37
@blubb

Kannst Du Dir vielleicht das (Header + das von vorhin) nochmal ansehen. Und hast Du vielleicht eine Idee wir ich Einfluß auf das Umbrechen nehmen kann?

Header:

\documentclass[%
a4paper,% A4 Papier
12pt,% Größere Schrift
liststotoc,%
bibtotoc,%
]{scrreprt}

\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{setspace}
\usepackage{dcolumn}
\usepackage{natbib}
\usepackage{graphicx}
\usepackage[dvips]{epsfig}
\usepackage{subfigure}

\usepackage{color}
\definecolor{LinkColor}{rgb}{0,0,0.5}

\usepackage[left=3cm,right=3cm,top=3cm,bottom=2cm]{geometry}

\usepackage{fancyhdr}
\fancyhf{}

\fancypagestyle{plain}{
\fancyhf{}
\rhead{\thepage}
\renewcommand{\headrulewidth}{0cm}
}
\pagestyle{fancy}

\usepackage{acronym}

\usepackage[german]{nomencl}
\makeglossary

\usepackage{longtable}
\usepackage{multirow}

\usepackage[ps2pdf]{hyperref}
\usepackage{breakurl}
\hypersetup{%
pdfpagemode=None,%
pdfstartview=FitH,%
}
% Linkfarben einstellen
\hypersetup{colorlinks=true,%
linkcolor=LinkColor,%
citecolor=LinkColor,%
filecolor=LinkColor,%
menucolor=LinkColor,%
pagecolor=LinkColor,%
urlcolor=LinkColor,%
}
\hypersetup{
bookmarksopen=true,% % Anzeige aller Ebenen
bookmarksnumbered=true,% % Anzeige der Abschnittsnummern
linktocpage=true,% % Seitenzahl als Link (nicht Text)
}

\addtokomafont{caption}{\small}% % Abbildungs- und Tabellenbeschriftungen kleiner
\setkomafont{captionlabel}{\bfseries}% % Abbildungs- und Tabellenlabel fett
\setcapindent{0pt}% % kein Einzug bei Abbildungs- und Tabellenbeschriftungen
\addto\captionsngerman{% % Label ändern
\renewcommand{\figurename}{Abb.}% % Abb. an Stelle von Abbildung
\renewcommand{\tablename}{Tab.}% % Tab. an Stelle von Tabelle
}
\setlength{\parindent}{0pt}% % kein Einzug bei Absätzen

\clubpenalty = 10000
\widowpenalty = 10000 \displaywidowpenalty = 10000

Von vorhin:

\begin{thebibliography}{1}
\providecommand{\natexlab}[1]{#1}
\providecommand{\url}[1]{\texttt{#1}}
\makeatletter
\newcommand{\dinatlabel}[1]%
{\ifNAT@numbers\else\NAT@biblabelnum{#1}\fi}
\makeatother
\expandafter\ifx\csname urlstyle\endcsname\relax
\providecommand{\doi}[1]{doi: #1}\else
\providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi

\bibitem[Schumann/Müller(2000)]{Schumann(2000)}
\dinatlabel{Schumann/Müller 2000}\\ \textsc{Schumann}, Heidrun ;
\textsc{Müller}, Wolfgang:
\newblock \emph{Visualisierung - Grundlagen und allgemeine Methoden}.
\newblock Springer-Verlag Berlin, 2000

\end{thebibliography}

Und die Referenz im Text:

Isolinien sind Kurven, welche die Punkte des Beurteilungsgebietes miteinander verbinden, bei denen die gleichen Immissionskonzentrationen vorliegen (vgl. \cite{Schumann(2000)} S.~141f). Formal können Isolinien durch folgende Beziehung beschrieben werden:\ldots

Wenn Du das so nimmst, müßte bei der Literaturreferenz der Überhang resultieren. Hast Du eine Idee, wie ich das weg bekomme bzw. auf die Formatierung der Literaturreferenzen Einfluß nehmen kann?

blubb
17-03-2005, 15:54
http://www-users.rwth-aachen.de/Christian.Faulhammer/mini.html

Nein, ich habe keine Lust drei Textblöcke zusammenzukopieren, dabei zu überlegen welcher Reihenfolge sinnvoll ist und wo ich zusätzlich ein \begin{document} einfügen muss.

Und das, wo ich noch nicht mal weiss, ob mein Minimalbeispiel bei dir ok ist oder auch einen Fehler zeigt.


\usepackage{graphicx}
\usepackage[dvips]{epsfig}
Siehe http://archiv.tu-chemnitz.de/pub/2002/0102/data/latex.html Abschnitt Einbindung von Bildern

usepackage[dvips]{epsfig}
...
\usepackage[ps2pdf]{hyperref}
Beißt sich das nicht?

\setlength{\parindent}{0pt}% % kein Einzug bei Absätzen
Da gibt es in Komascript extra Optionen zu.

\clubpenalty = 10000
\widowpenalty = 10000
\displaywidowpenalty = 10000
Was passiert wenn du das auskommentierst?
Ich weiß jetzt nicht was es macht, aber ich gehe davon aus es ist pfui.

PKautz
18-03-2005, 08:57
Sorry ich stelle mich wirklich ein wenig blöd an.
Danke für die Kritik, habe es soweit auch ausgebessert.




\setlength{\parindent}{0pt}% % kein Einzug bei Absätzen
Da gibt es in Komascript extra Optionen zu.
Die finde ich irgendwie nicht.



\clubpenalty = 10000
\widowpenalty = 10000 \displaywidowpenalty = 10000
Was passiert wenn du das auskommentierst?
Ich weiß jetzt nicht was es macht, aber ich gehe davon aus es ist pfui.
Es soll Schusterjungen und Hurenkinder vermeiden.

Nochmal großes SORRY. Ich habe jetzt ein Minimalbeispiel zusammengeschrieben. Dieses wird bei mir problemlos compiliert. Und es hat den Makel (kein Umbruch bei Literaturverweisen), den ich beheben möchte. Wäre sehr dankbar, wenn da jemand mal ein Blick drauf schmeißen könnte.

Kann man vielleicht mit \@cite Einfluß nehmen???

blubb
18-03-2005, 09:48
Na, damit kommt man doch schon mal weiter. Aber ein
Minimalbeispiel sollte minimal sein.

Zum Minimalbeispiel können noch viele Pakete raus (was hat
graphicx mit dem Problem zu tun? Nichts. Also weg damit. Ebenso
longtable...)

Am besten: Paket entfernen, übersetzen, schauen ob der Fehler noch
da ist.

Und siehe da, kaum wird hyperref entfernt, schon klappt es.

Ok, jetzt können wir die entscheidende Frage stellen: Warum werden
Literaturverzeichnisse nicht getrennt, wenn hyperref genutzt wird?

Weil Links nicht umgebrochen werden. Es gibt aber eine Option
breaklinks:
\usepackage[breaklinks]{hyperref}
Und schon klappts.

(Hinweis: Das Paket breakurl habe ich nicht, da konnte ich keine
Seiteneffekte prüfen.

Anmerkungen:

\usepackage[ngerman]{babel}
\usepackage[german]{nomencl}
Lustig, dein Text ist in neuer Rechtschreibung, aber das
Abkürzungsverzeichnis schreibst du in alter Rechtschreibung.

Besser:
\documentclass[ngerman]{scrreprt}
\usepackage{babel}
\usepackage{nomencl}

Du schreibst (vgl. \citet{Schumann(2000)} S.~141f), besser ist
\citet[S.~141f]{Schumann(2000)}). Damit steht die Seitenzal noch
in der Referenz.


>>>>>>Minimalbeispiel, jetzt deulich kleiner
\documentclass[ngerman,a4paper,12pt]{scrreprt}
\usepackage{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{natbib}
\usepackage[left=3cm,right=3cm,top=3cm,bottom=2cm]{geometry}
\usepackage[breaklinks]{hyperref}%<<< Hierist die Lösung

\begin{document}

Isolinien sind Kurven, welche die Punkte des Beurteilungsgebietes
miteinander verbinden, bei denen die gleichen
Immissionskonzentrationen vorliegen (vgl. \citet{Schumann(2000)}
S.~141f). Formal können Isolinien durch folgende Beziehung
beschrieben werden:

\[f(x,y)=konst.,\]

\bibliographystyle{natdin}
\begin{thebibliography}{1}
\providecommand{\natexlab}[1]{#1}
\providecommand{\url}[1]{\texttt{#1}}
\makeatletter
\newcommand{\dinatlabel}[1]%
{\ifNAT@numbers\else\NAT@biblabelnum{#1}\fi}
\makeatother
\expandafter\ifx\csname urlstyle\endcsname\relax
\providecommand{\doi}[1]{doi: #1}\else
\providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi

\bibitem[Schumann/Müller(2000)]{Schumann(2000)}
\dinatlabel{Schumann/Müller 2000}\\ \textsc{Schumann}, Heidrun ;
\textsc{Müller}, Wolfgang:
\newblock \emph{Visualisierung - Grundlagen und all"-gemeine Methoden}.
\newblock Springer-Verlag Berlin, 2000

\end{thebibliography}

\end{document}

<<<<<<

PKautz
18-03-2005, 10:32
Danke :D , funktioniert soweit ganz gut.

Das Problem ist aber noch nicht wirklich behoben. Da ich keinen Absatzeinzug haben darf ( :mad: ), muss parindent=0 sein. Dadurch kommt dann wieder ein unzureichender Umbruch zu Stande. Wenn ich jetzt
\bibitem[Schumann/\-Müller(2000)]{Schumann(2000)} schreibe, wird zwar richtig getrennt, allerdings bekomme ich einen Bindestrich angezeigt. Wie kann ich den Bindestrich vermeiden? Habe es mit "" probiert, aber dann bekomme ich:

blabla Schumann/""Müller (2000) blabla :confused: .

PKautz
18-03-2005, 14:08
Weiß keiner Rat???

blubb
21-03-2005, 12:08
Ich hab jetzt einiges versucht, und das einzige was ich bislang anbieten kann ist:

\begin{thebibliography}{1}
\bibitem[Schumann/ Müller(2000)]{Schumann(2000)}
{Schumann/Müller 2000}\\ \textsc{Schumann}, Heidrun ;
\textsc{Müller}, Wolfgang:
\newblock \emph{Visualisierung - Grundlagen und all"-gemeine Methoden}.
\newblock Springer-Verlag Berlin, 2000

\end{thebibliography}

(Ein Leerzeichen nach /).
Damit erfolgt ein Umbruch ohne das -.
Nachteil: das Leerzeichenn steht sonst auch rum.

PKautz
22-03-2005, 08:08
Vielen Dank für Deine Bemühungen.

Ich habe mit meinem Betreuer gesprochen und wir haben uns geeinigt auf die Schreibweise "Schumann u. Müller" ;) . Dadurch tritt das Problem nicht mehr auf.

Wie gesagt nochmal vielen Dank. :D