PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Literaturverzeichnis anpassen



tillermann
25-11-2006, 11:16
Hallo zusammen!

Ich hab schon ganz viel ausprobiert und gegoogelt, aber komme immer noch nicht auf mein gewünschtes Ergebnis:

Ich benutze das natbib-package mit bibliographystyle dinat zur Erstellung meines Literaturverzeichnisses. Die Arbeit ist auf deutsch, und ich habe viele Quellen, die aus zwei Autoren bestehen... um ein Beispiel zu geben:

\citet{BlackLitterman1992} erzeugt: "Black und Litterman (1992)"
entsprechend steht im Literaturverzeichnis (alphanumerisch, also mit Autor und Jahr statt einfacher Nummerierung) dann beim zugehörigen Eintrag zu Anfang "[Black und Litterman 1992]"

ich hätte es gerne in der folgenden Form:

\citet{BlackLitterman1992} (oder etwas entsprechendes, das die von mir gewünschte Form produzierne würde...) erzeugt: "Black/Litterman (1992)"
und im Lit.Verz. soll dann entsprechend [Black/Litterman 1992] kommen.


Am nächsten bin ich dem Ergebnis bisher mit
\defcitealias{BlackLitterman1992}{Black/Litterman (1992)} (X)
==> \citetalias{BlackLitterman1992} ergibt Black/Litterman (1992)

jedoch ändert sich dadurch im Lit.Verz. gar nichts, und außerdem müßte ich das Jahr selbst hinzufügen (siehe (X)) und er gibt's nicht mehr automatisch mit dazu.



Weiß jemand, wie man das erreichen könnte ?!
Bin um jeden Lösungsvorschlag dankbar !!!
Gruß, tillermann

tillermann
25-11-2006, 14:20
Habe eine Lösung gefunden.

ich verwende die dinat.bst.
Diese in das entsprechende Verzeichnis meines .tex-files kopiert, in mydinat.bst umbenannt (und die Einbindung im .tex-file entsprechend geändert), ergibt folgende veränderte Zeile das gewünschte Ergebnis:

FUNCTION {push.und} { "/" }

Jedoch ist die Ausgabe jetzt "Black / Litterman" und nicht "Black/Litterman"...

Kann man das auch noch ändern?

MfG

tillermann
25-11-2006, 14:34
Und hier ist dann die Lösung für "Black/Litterman" (ohne die Leerzeichen vor und nach dem slash):

suche in der dinat-Kopie nach dem Teil, der mit
FUNCTION {format.lab.names}
% format names for the label
anfängt, und ändere dort die Zeile
{ " " * push.und * " " * s #2 "{vv~}{ll}" format.name$ * }
in

{ push.und * s #2 "{vv~}{ll}" format.name$ * }

tadaaa!

Hab ich jetzt durch ausprobieren so rausgefunden, und es paßt alles, sowohl in den Zitaten als auch im Literaturverzeichnis kommt jetzt statt " und " nur noch "/".

christian1982
22-09-2007, 14:10
Ich habe mal ne andere Frage zu dinat.bst:
Kann man das Literaturverzeichnis so erstellen, dass die Einträge nach dem jeweils erstmaligen Auftreten im Text und nicht alphabetisch sortiert sind?

Oder gibt es evtl. einen anderen Stil, der aussieht wie dinat, und die gewünschte Sortierung vornimmt?

-Karsten-
07-01-2008, 17:46
Hallo,

wie kann ich erreichen, dass die erste Zeile im Literaturverzeichnis linksbündig beginnt? Jetzt beginnt sie noch weiter rechts, da ich mit folgendem Befehl die Nummerierung entfernt habe (statt der Nummer steht da jetzt quasi ein Leerzeichen):

Mit \noindent funktioniert das anscheinend nicht.


\begin{thebibliography}{}
\makeatletter
\renewcommand\@biblabel[1]{}
\makeatother

\bibitem[]{}
Quelle 1
\bibitem[]{}
Quelle 1

\end{thebibliography]

Der -Karsten-

-Karsten-
08-01-2008, 12:21
OK, hier mal ein funktionierendes Beispiel:


\documentclass[12pt,a4paper]{article}
\usepackage{amsmath, amssymb, amsthm}
\usepackage{titlesec} %zur Einstellung der Kapitel-, Abschnittsüberschriften
\titleformat{\section}{\normalfont\normalsize\bfse ries}{\thesection}{20pt}{}
\usepackage[paper=a4paper,left=25mm,right=25mm,top=35mm,bottom =25mm]{geometry} %Blattaufteilung, Ränder ...
\usepackage[ansinew]{inputenc} % teilt LaTeX die Texcodierung mit
\usepackage[T1]{fontenc} % ermöglicht die Silbentrennung von Wörtern mit Umlauten
\usepackage{setspace} % ist für den Zeilenabstand verantwortlich; wirkt aber nicht auf Fußnoten
\frenchspacing
\setlength{\parskip}{0.0cm}
\setlength{\parindent}{0.8cm}

\begin{document}

\title{\bf{Das ist ein Test}}
\author{\bf{Max Testmann}}
\date{}
\maketitle

\section{Introduction}
Testtext Testtext Testtext TesttextTesttext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext Testtext

\begin{thebibliography}{}
\makeatletter
\renewcommand\@biblabel[1]{}
\makeatother

\bibitem[]{}
Max Mustermann: 1998 Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur

\bibitem[]{}
Max Mustermann: 1998 Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur Testliteratur
\end{thebibliography}

\end{document}

Also wie gesagt: die Literaturangaben fangen viel weiter rechts an, als der Haupttext, wahrscheinlich weil ich die Nummerierung der Literatur unterdrückt hab, und jetzt steht statt der Nummer ein Leerzeichen bzw. mehrere .Ich bin leider in LaTeX noch nicht so bewandert, vielleicht weiß ja jemand von euch bescheid.

der -Karsten-

-Karsten-
29-01-2008, 11:54
Hallo,

ich muss noch einmal das Thema ausgraben, denn ich hab es immer noch nicht hinbekommen, den Text im Literaturverzeichnis bündig mit dem Haupttext zu bringen (zumindestens die erste Zeile jeder Quellenangabe, siehe Beispiel ein Beitrag weiter oben).

Ich hab so eine Formatierung auch in noch keiner wissenschaftlichen Veröffentlichung gesehen.

Manchmal versteh ich LaTeX nicht, könnt ihr mir vielleicht helfen?

Der (verzweifelte) Karsten

rais
29-01-2008, 20:02
Moin Karsten,
durch


\begin{thebibliography}{}
\makeatletter
\renewcommand\@biblabel[1]{}
\makeatother
\bibitem{}...

geht die Originaldefinition von \@biblabel in die Berechnung der Markenbreite mit ein -- und da sind standardmäßig noch die eckigen Klammern drin; wenn Du also den hier blau markierten Teil in Deine Präambel verschiebst, kommt schon mal die richtige Breite (0pt) für das Label raus ... fehlt nur noch der Separator:


\setlength\labelsep{0pt}
\begin{thebibliography}{}
\bibitem...
sollte schon so tun -- alternativ vielleicht


\begin{thebibliography}{\hspace{-\labelsep}}

BTW: den optionalen Ausdruck beim \bibitem kannst Du weglassen, aber den Schlüssel solltest Du angeben ... selbst wenn Du nicht per \cite drauf zugreifen willst, kannst Du dann wenigstens die `multiply defined label'-Warnungen unterdrücken.;)
Also besser


\bibitem{irgendwas}...
\bibitem{was-anderes}...

BTW2: \bf ist a) veraltet und b) ein Schalter, ein Gruppieren danach bringt nix, also statt \bf{text} besser \textbf{text} oder {\bfseries text} verwenden.

MfG,

smiledoch
30-01-2008, 11:50
Kann ich dazu auch noch etwas fragen?
Wenn ich zwei Literaturverzeichnisse habe wie kann ich nur für das erste (und nicht für beide) bewirken das das Label wegfällt?

Damit ist es leider bei beiden weg:
\makeatletter
\renewcommand\@biblabel[1]{}
\makeatother

Habe beide Verzeichnisse so eingebunden:

\usepackage{cite}
\usepackage{multibib}
\newcites{sec}{Internetquellen}


\bibliographystyle{meinStil}
\bibliography {Quellen}


\bibliographystylesec{unsrt}
\bibliographysec {Internet}

Danke (suche schon ewig danach)

-Karsten-
30-01-2008, 13:44
@ rais: Danke für die kompetente Hilfe.

Das

\
makeatletter
\renewcommand{\@biblabel}[1]{}
\makeatother
hatte ich schon in die Präambel geschoben, nur bin ich nicht auf die Idee gekommen, den labelsep auf Null zu setzen, weil ich gar nicht wusste, wie der linke Einzug bei den biblabels heißt.

Sehr schön!

Der Karsten

-Karsten-
30-01-2008, 13:52
@ smiledoch: kannst du nicht den obigen Block jeweils vor \thebibliography schreiben, also einmal ohne Klammern:


\makeatletter % ohne eckige Klammer in biblio
\renewcommand{\@biblabel}[1]{} % ohne Nr+Klammer
\makeatother

bzw. einmal mit:


\makeatletter
\renewcommand{\@biblabel}[1]{[#1]}
\makeatother

Allerdings weiß ich jetzt nicht, was für die fortlaufende Nummerierung für ein Befehl notwenig ist, ich hab jetzt mal #1 geschrieben, da schreibt der aber nur die erste Zahl, also die Eins.

Der Karsten

smiledoch
30-01-2008, 14:17
Nee, das funktioniert leider überhaupt nicht.

-Karsten-
30-01-2008, 14:32
mhh, bin auch nur ab und zu mla LaTeX-Nutzer, ich hab leider keine Lösung des Problems, am besten mal ein Minimalbeispiel anhängen

Der Karsten

rais
02-02-2008, 02:06
Moin moin,


Allerdings weiß ich jetzt nicht, was für die fortlaufende Nummerierung für ein Befehl notwenig ist, ich hab jetzt mal #1 geschrieben, da schreibt der aber nur die erste Zahl, also die Eins.
`#1' steht bei LaTeX-Befehlen für `den ersten Parameter', wenn Du z. B. einen neuen Befehl \foo strickst, der drei Parameter verstehen soll, dann vielleicht


\newcommand\foo[3]{%
..
}

wobei Du innerhalb der Definition zu hier \foo auf #1, #2 und #3 für die drei zu übergebenden Parameter zugreifen kannst.
Otoh sollte Dein Vorschlag eigentlich auch mit Paketen wie multibib harmonieren, was mich auf Deine Frage nach einem Minimalbeispiel zurückbringt ... ;-)

Aber nutze bitte die Code- und nicht die PHP-Code-Darstellung, sonst gehen wohlmöglich wichtige `\' verloren.

MfG