PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Literaturstyle, Zitieren mit /xxx/ und nicht [xxx]



Heinzus
25-04-2012, 11:49
Hallo liebe Community,

ich bin neu hier und werde mich und meine Technik mal kurz vorstellen.
Ich schreibe derzeit meine Masterarbeit an der Uni und habe die Auflage im Fachgebiet erhalten die Quellenangaben mit Slash statt Klammer zu machen (wie es wohl die DIN fordert).
Ich nutze Texmaker 3.2.1, das aktuelle Miktex und den bibliographystyle{alphadin}. Wenn ich jetzt mit \cite zitiere kommt sowas in der Art raus: [Ber08] ... ich möchte aber gerne: /Ber08/ haben. Es sieht zwar echt komisch aus und außer in Deutschland wird das wohl auch nirgends gemacht, aber leider wird es jetzt zum ersten mal gefordert.

Hat jemand eine Ahnung wie man das ändern könnte?

Ich habe im Natbib style schonmal was gefunden, so dass man runde klammern etc. ersetzen kann, aber das ist ja auch nicht das richtige.

Danke für die Hilfe

Grüße Heinzus :)

Festus
25-04-2012, 17:01
Willkommen im Forum!

Derlei Formatierungsdinge sind in der bst-Datei (in deinem Fall also alphadin.bst) hinterlegt. Man müsste aber ziemlich fortgschritten sein, um das einfach ändern. Sicher bin ich mir auch nicht, aber mach mal eine Kopie der alphadin.bst unte anderem Namen und ändere dort folgenden Eintrag


FUNCTION {output.bibitem}
{ newline$
"\bibitem[" write$
label write$%
"]{" write$
cite$ write$
"}" write$
newline$
""
before.all 'output.state :=
}

gegen


FUNCTION {output.bibitem}
{ newline$
"\bibitem/" write$
label write$%
"/{" write$
cite$ write$
"}" write$
newline$
""
before.all 'output.state :=
}

Wenn du die neue Datei zu Testzwecken erst mal in deinen Ordner mit der .tex Datei kopierst und dann


\bibliographystyle{MeinNeuerStyle}

einstellst siehst du ja ob es klappt.

Heinzus
25-04-2012, 19:45
Hi,

vielen Dank für die schnelle Antwort.

Also prinzipiell verstehe ich deine Aussagen und habe diese auch versucht umzusetzen. Es gibt allerdings ein Problem. Und zwar habe ich keine alphadin.bst :). Wenn ich in den folgenden Pfad schaue: C:\Program Files\MiKTeX 2.9\bibtex\bst .. sind nur folgende Dateien da:

amsalpha, amsplain, abbrv, acm, alpha, ieeetr, plain, siam, unsrt.. Die Styles sind mir alle weitestgehend bekannt und daher frage ich mich, wie kann Texmaker dann alphadin umsetzen, wenn ihm der Style fehlt? Wo finde ich den Style? Ich habe jetzt im gesamten Programme Ordner mal gesucht und nirgends war er zu finden.

Aber dennoch ist etwas merkwürdig: Wenn ich die [ zu / Änderung bei bspw. Alpha.bst durchführe und dann den style alpha aufrufe bzw. ihn in mein Ordner dann kopiere, umbenenne und dann diese Datei aufrufe, ändert es nichts an der Klammersetzung. Also scheint es nicht so einfach zu manipulieren sein, oder die Styles sitzen ganz wo anders?

Gruß Heinzus

Edit: Also ich hab die Alphadin.bst im Roaming Ordner gefunden. Hab das angepasst, aber er macht nur wirres Zeug, ich denke da stehen mehr Referenzen in der Datei als nur diese Output Function. Denn jetzt wird aus [Ber08] ein [1] Ber08 / NACHNAME ... TITEL.... Also irgendwie stimmts nicht :-D

Festus
26-04-2012, 10:17
Ja, wenn's ans ändern der bst geht ist das bei mir halt auch immer eher ein bisschen Raten. Das waren die einzigen "[]" die ich gefunden habe, die an einer Stelle standen, die passen könnte. Wenn's das nicht ist bin ich überfragt. Meine einzige Alternative wäre dann: BibLaTeX

Das macht auf jeden Fall auch etwas Arbeit sich da einzuarbeiten, und ich weiß auch gar nicht ob das damit funktioniert. Ich bin mir aber fast sicher, dass es mit custom-bib auch nicht geht. Vlt. solltest du auf Ulrike Fischer warten, sie kann dir da garantiert weiterhelfen.

tral
26-04-2012, 11:10
Hallo,

das hat nix mit der bst zu tun, sondern mit dem cite-Befehl. Der ist normalerweise in latex.ltx definiert und wird evtl. von anderen Paketen (z.B. natbib) umgebaut. Versuch mal, ob die geänderte Zeile aus latex.ltx das Gewünschte leistet:



\makeatletter
\def\@cite#1#2{/{#1\if@tempswa , #2\fi}/}
\makeatother


(in deine Präambel einfügen).

Falls nicht, mache bitte ein vollständiges Minimalbeispiel.

@Festus: die Stelle, die du geändert hast, baut den \bibitem-Befehl mit optionalem Parameter in [] zusammen...

Christian.

Festus
26-04-2012, 14:06
Hallo,

das hat nix mit der bst zu tun, sondern mit dem cite-Befehl. Der ist normalerweise in latex.ltx definiert und wird evtl. von anderen Paketen (z.B. natbib) umgebaut.

@Festus: die Stelle, die du geändert hast, baut den \bibitem-Befehl mit optionalem Parameter in [] zusammen...

Christian.

Ok, wieder was gelernt. Danke! Ich dachte immer die Formatierung von \cite und seinen Derivaten würde ebenso in der bib-Datei definiert werden :o

Heinzus
26-04-2012, 16:34
Hallo,

das hat nix mit der bst zu tun, sondern mit dem cite-Befehl. Der ist normalerweise in latex.ltx definiert und wird evtl. von anderen Paketen (z.B. natbib) umgebaut. Versuch mal, ob die geänderte Zeile aus latex.ltx das Gewünschte leistet:



\makeatletter
\def\@cite#1#2{/{#1\if@tempswa , #2\fi}/}
\makeatother


(in deine Präambel einfügen).

Falls nicht, mache bitte ein vollständiges Minimalbeispiel.

...

Christian.

Hi und vielen Dank für die Tipps!
Also ich habe das ganze mal eingefügt und wir kommen der Sache echt einen riesen Schritt näher! Wenn ich jetzt im Text Zitiere wird aus [Ber08] ein /Ber08/ , nur leider stehts dann im Literaturverzeichnis wieder mit [Ber08].

Hier mal mein Minimalbeispiel (also ohne optischen Randausgleich und dem Schnickschnack sieht das ja echt schrecklich aus :-D)...:


\documentclass[a4paper,oneside,11pt,listof=totoc,bibliography=tot oc,headings=small]{scrreprt}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{url}
\makeatletter
\def\@cite#1#2{/{#1\if@tempswa , #2\fi}/}
\makeatother
\begin{document}
\chapter{Test}
\cite{Bergmann},
\bibliographystyle{alphadin}
\bibliography{quellen}
\end{document}
Ich denke meine Quellendatei brauch ich nich reinkopieren..

Sind irgendwelche Fehler zu vermerken?

Grüße Heinzus :)

tral
26-04-2012, 20:09
Und wieder eine Modifikation von latex.ltx:



\makeatletter
\def\@cite#1#2{/{#1\if@tempswa , #2\fi}/}
\def\@biblabel#1{/#1/}
\makeatother


Christian.

Heinzus
30-04-2012, 13:09
Und wieder eine Modifikation von latex.ltx:



\makeatletter
\def\@cite#1#2{/{#1\if@tempswa , #2\fi}/}
\def\@biblabel#1{/#1/}
\makeatother


Christian.

Hi Christian,

es funktioniert :eek: !

Ich bin dir echt größtem Dank verpflichtet! Super euer Forum. Vielen Dank

Das Ergebnis sieht jetzt so aus:

Im Text: /Ber08/ und im Inhaltsverzeichnis /Ber08/.. So wie es sein sollte. Vielen vielen Dank!