PDA

View Full Version : Zitierstil Harvard ändern



olivers
02-08-2007, 08:44
Hallo,
meine Frage geht an die, die sich auch ein wenig mit dem Programmieren von Latex auskennen:
Für meine Dipl. Arbeit möchte ich gerne im Harvard Stil zitieren, d.h. im Text in der Form: Woodford 2006:32 (wobei 32 die Seitenangabe ist).

Mit Latex bekomme ich aber nur über den Befehl: \citep[:32]{Woodford2006} als Ausgabe: " (Woodford, 2006, :32)" also mit Leerzeichen und Komma (Ich habe das natbib Paket geladen).

Gibt es eine Möglichkeit ein Style oder was auch immer zu schreiben, evtl. über renewcommand oder newcommand damit sich als Ergebnis: Woodford 2006:32 ergibt, sonst aber die Befehle des natbib Paketes erhalten bleiben. Ich habe mich schon an der hav2nat.sty probiert, war aber nicht wirklich erfolgreich.

Vielen Dank
Oliver

rais
02-08-2007, 16:13
Moin moin,
versuch's mal etwa so:


\bibpunct[:]{(}{)}{;}{author-year}{}{}

und dann im Text


\citep[32]{Woodford2006}

MfG,

olivers
02-08-2007, 17:09
danke, genau die idee hab ich auch schon gehabt. leider geht dann nicht mehr die Unterscheidung: citep{} -> (Woodford 2006:32) und citet{} -> Woodford (2006:32) sondern ich muss immer mit der Klammer um den ganze Ausdruck zitieren.

Meine Hoffnung war ja, das ich irgendwie über \renewcommand{} was machen kann, also die Harvard.sty/natbib.sty ändern oder gar die harvard.sty Datei umschreiben kann, so das ich in der Präambel einfach \usepackage{mein Harvard.sty} lade und alles ist wie immer unter Harvard/ natbib, nur eben statt dem Komma zwischen Jahr und Seitenzahl kommt der Doppelpunkt.

rais
02-08-2007, 17:37
Moin moin,

danke, genau die idee hab ich auch schon gehabt. leider geht dann nicht mehr die Unterscheidung: citep{} -> (Woodford 2006:32) und citet{} -> Woodford (2006:32) sondern ich muss immer mit der Klammer um den ganze Ausdruck zitieren.

wie sieht es eigentlich mit einem ganz anderen Befehl aus?


\newcommand\mycite[2][\empty]{%
\citeauthor{#2} (\citeyear{#2}%
\ifx#1\empty\relax\else :#1\fi)%
}%\mycite[a]{key}-->Autor (Jahr:a)

wenn das zu vollster Zufriedenheit funzt, kannst Du immer noch


\let\citet\mycite

den \citet entsprechend verbiegen.;-)

Oder was versteh' ich nicht?
MfG,

olivers
02-08-2007, 17:45
Ich glaub das ist genau das was ich gesucht habe! Besten dank Rainer! Werde das gleich heute Abend probieren! Hatte nur nie verstanden wie man "commands" erstellet aber mit deiner Art werde ich ein wenig spielen! besten dank!

olivers
02-08-2007, 21:01
Super das funktioniert soweit ich das auf die schnelle ausprobiert habe! Besten Dank.
Kennst du auch zufällig noch ein Tutorial in dem ich das (also wie man neue "commandos" erstellt bzw. bestehende verändert) nachlesen/verstehen kann und es noch erweitern kann wenn mir noch was einfällt? Damit ich verstehe für was [2] oder ifx#1 steht!

danke

rais
03-08-2007, 11:13
Moin moin,


Kennst du auch zufällig noch ein Tutorial in dem ich das (also wie man neue "commandos" erstellt bzw. bestehende verändert) nachlesen/verstehen kann und es noch erweitern kann wenn mir noch was einfällt?

Du kannst Dich hier (http://www.mrunix.de/forums/showthread.php?t=18459) mal durchklicken...
Obwohl, eigentlich solltest Du \newcommand/\renewcommand auch in latex2e und/oder. l2kurz finden können -- die Du wiederum beide auf Deinem System haben solltest und per `texdoc´ abrufen kannst. Falls nicht, schau einfach bei CTAN danach.


Damit ich verstehe für was [2] oder ifx#1 steht!

ich kann das Teil ja mal kommentieren:


\newcommand\mycite[2][\empty]{% erstelle neuen Befehl `\mycite´, dieser soll zwei Parameter [2] verdauen, wovon der erste optional ist (die zweite eckige Klammer) und mit `\empty´ vorbelegt ist
% innerhalb der Definition -- da befindest Du Dich gerade -- steht `#1´ für den ersten Parameter, `#2´ für den zweiten usw., wenn mehr als `2´ in der hier ersten eckigen Klammer stünde
\citeauthor{#2} (\citeyear{#2}%\citeauthor, \citeyear werden vom natbib-Paket bereitgestellt
\ifx#1\empty\relax\else :#1\fi)%Test, ob erster Parameter `\empty´ ist: wenn ja, tu nix (\relax), sonst gib ":", gefolgt vom ersten Parameter aus, anschließend -- testunabhängig -- die schließende Klammer
%`\ifx tok1 tok2 ... \else ... \fi´ ist ein TeX-Konstrukt -- da war ich wohl zu träge, erst ifthen bzw. xifthen zu laden ;-)
%das kannst Du ja mal versuchen, auf das (x)ifthen-Paket umzubauen
}%\mycite[a]{key}-->Autor (Jahr:a)
%am Definitionsende kommentiere ich meistens, wie der neue Befehl aufgerufen wird und was er tut;-)

MfG,