/* */
/* Definition nach Chicago Style Guide (Humanities) */
/* N. Busch 12.05.2009 */

Let(
[$Periodikum =
Case( DGlobals::d_SigleBenutzen_n = 1 and not IsEmpty( DTitel.Periodikum::d_Sigle_t );
DTitel.Periodikum::d_Sigle_t;
DTitel.Periodikum::d_Titel_t );
/* Mit Case werden verschiedene Zustände abgefragt. Die Syntax folgt der Regel */
/* Case( Bedingung1 ist wahr ; Lösung 1 ; Bedingung 2 ist wahr ; Lösung 2) */
/* Optional kann am Ende eine Lösung für den Fall angegeben werden, dass keine */
/* der Bedingungen erfüllt ist. In diesem Beispiel gibt es nur eine Bedingung */

$HerausgeberStatus =
Case( IsEmpty( d_HerausgeberName_t) and d_Herausgeber_n <> 1 ; 0;
/* Einfacher Autor, kein Hg. (d_Herausgeber_n = 1 bedeutet, der Autor ist Hrsg.) */
IsEmpty( d_HerausgeberName_t) and d_Herausgeber_n = 1 ; 1 ;
/* Autor ist Hg. */
not IsEmpty( d_HerausgeberName_t) and IsEmpty(d_AutorNachname_t); 2;
/* Kein Autor, aber Hg. */
not IsEmpty( d_HerausgeberName_t) and not IsEmpty(d_AutorNachname_t); 3)
/* Autor und separater Hg. */ ;

$AutorPerson =
/* Hier wird erst einmal der Name des "echten" Autors berechnet. Sofern es sich um */
/* ein Pseudonym handelt, wird die in xCalc_Pseudonym_ctu hinterlegte Berechnung */
/* des tatsächlichen Namens herangezogen. Der direkte Zugriff hierauf wäre über */
/* DTitel.Autor::d_Nachname_t und DTitel.Autor::d_Vorname_t möglich */

Trim( d_AutorNachname_t & Case( not IsEmpty( d_AutorVorname_t ) ; ", " &
d_AutorVorname_t ) & xCalc_Pseudonym_ctu ) ;
/* Trim schneidet alle vorne und hinten stehenden Leerzeichen weg */

$Coautoren =
/* Existieren verknüpfte Coautoren, wird die Darstellung aus den Autoreneinträgen */
/* gerechnet, das letzte Komma wird zu ", and",andernfalls nutzt die Zitierform das */
/* Feld DTitel::d_Coautoren_t */

Trim(
Case(
not IsEmpty( xCalc_NamenCoautorenVN_ctu) ;
", " &
trim( Left( xCalc_NamenCoautorenVN_ctu ; Position ( xCalc_NamenCoautorenVN_ctu ; "," ; -1 ; 1 )) & " and " & Right( xCalc_NamenCoautorenVN_ctu ; Length(xCalc_NamenCoautorenVN_ctu) - Position ( xCalc_NamenCoautorenVN_ctu ; "," ; -1 ; 1 ))) ;
not IsEmpty( d_CoAutoren_t ) ;
", " & d_CoAutoren_t
) //end case
) ; //end trim

$CoautorenSB =
/* Die gleiche Übung für die Coautoren des Sammelbandes */

Trim(Case(
not IsEmpty( DTitel.Titel.Sammelband::xCalc_NamenCoautorenVN_ctu) ;
", " &
Left( DTitel.Titel.Sammelband::xCalc_NamenCoautorenVN_ctu ; Position ( DTitel.Titel.Sammelband::xCalc_NamenCoautorenVN_ctu ; "," ; -1 ; 1 )) & " and " & Right( DTitel.Titel.Sammelband::xCalc_NamenCoautorenVN_ctu ; Length( DTitel.Titel.Sammelband::xCalc_NamenCoautorenVN_ctu) - Position ( DTitel.Titel.Sammelband::xCalc_NamenCoautorenVN_ctu ; "," ; -1 ; 1 )) ;
not IsEmpty( DTitel.Titel.Sammelband::d_CoAutoren_t ) ;
", " & DTitel.Titel.Sammelband::d_CoAutoren_t
));

$Autor =
Case(
$Herausgeberstatus = 0;
$Autorperson &
$Coautoren;

$Herausgeberstatus = 1;
$Autorperson &
$Coautoren &
", ed." ;

$Herausgeberstatus = 2;
d_HerausgeberName_t & ", ed." ;

$Herausgeberstatus = 3;
/* Sieht zunächst aus wie Variante 1, aber weiter unten wird in diesem Fall */
/* noch ein "Hg. von..." angehängt */
$Autorperson &
$Coautoren

;
) // end case
]
;
Case(
d_Datentyp2_t = "Artikel";

// Zitform für Artikel

Trim(
$Autor &
Case( Right( $Autor ; 1) <> "." ; ".") &
" " & Quote(d_Titel_t & ".") & " " &
TextStyleAdd( $Periodikum ; Italic) &
Case( not IsEmpty( d_AusgabeVol_t ) ; " " & d_AusgabeVol_t )&
Case( not IsEmpty( d_AusgabeNr_t ) ; ", no. " & d_AusgabeNr_t ) &
Case( not IsEmpty( d_Datierung_t ) ; " (" & d_Datierung_t & ")" ) &
Case( not IsEmpty( d_AusgabeSeite_t) ; ": " & d_AusgabeSeite_t )
) // End trim
;

d_Datentyp2_t = "Aufsatz";

// Zitform für Aufsätze

Trim(
$Autor &
Case( Right( $Autor ; 1) <> "." ; ".") &
" " & Quote(d_Titel_t & ".") & " In " &
TextStyleAdd( DTitel.Titel.Sammelband::d_Titel_t ; Italic) & ", edited by " &
Trim( DTitel.Titel.Sammelband::d_AutorVorname_t & " " &DTitel.Titel.Sammelband::d_AutorNachname_t ) & $CoautorenSB & "." &
Case( not IsEmpty( DTitel.Titel.Sammelband::d_BibliogrZusätze_t ) ; " " & DTitel.Titel.Sammelband::d_BibliogrZusätze_t &
Case( not (IsEmpty( DTitel.Titel.Sammelband::d_Reihe_t ) and IsEmpty( DTitel.Titel.Sammelband::d_Auflage_t )); ", ")) &

Case( not IsEmpty( DTitel.Titel.Sammelband::d_Reihe_t ) ; " " & DTitel.Titel.Sammelband::d_Reihe_t &
Case( not IsEmpty( DTitel.Titel.Sammelband::d_AusgabeVol_t ) ; ", Vol. " & DTitel.Titel.Sammelband::d_AusgabeVol_t ) &
Case( not IsEmpty( DTitel.Titel.Sammelband::d_AusgabeNr_t ) ; ", no. " & DTitel.Titel.Sammelband::d_AusgabeNr_t )) &
Case( not IsEmpty( DTitel.Titel.Sammelband::d_Reihe_t ) and not IsEmpty( DTitel.Titel.Sammelband::d_Auflage_t ) ; ", ") &

Case( not IsEmpty( DTitel.Titel.Sammelband::d_Auflage_t ) ; " " & DTitel.Titel.Sammelband::d_Auflage_t & " ed. " ) &

Case( not IsEmpty( DTitel.Titel.Sammelband::d_Ort_t ); DTitel.Titel.Sammelband::d_Ort_t ) &
Case( not IsEmpty( DTitel.Titel.Sammelband::d_Ort_t ) and not IsEmpty( DTitel.Titel.Sammelband::d_Verlag_t ) ; ": ") &
Case( not IsEmpty( DTitel.Titel.Sammelband::d_Verlag_t ) ; DTitel.Titel.Sammelband::d_Verlag_t ) &
Case( not IsEmpty( DTitel.Titel.Sammelband::d_Datierung_t ) ; ", " & DTitel.Titel.Sammelband::d_Datierung_t ) &
Case( not IsEmpty( DTitel.Titel.Sammelband::d_AusgabeSeite_t ) ; ", S. " & DTitel.Titel.Sammelband::d_AusgabeSeite_t )&
Case( not IsEmpty( DTitel.Titel.Sammelband::_fk_Sammelband_t );
/* Ein Ausatz in Sammelband als Teil einer Werkausgabe */
" [" & Trim( DTitel.Titel.SB.Werkausgabe::d_Kurztitel_t & " " & DTitel.Titel.Sammelband::d_AusgabeVol_t &
Case(
not IsEmpty( DTitel.Titel.Sammelband::d_AusgabeVol_t ) and not IsEmpty( DTitel.Titel.Sammelband::d_AusgabeNr_t) ;
"/") & DTitel.Titel.Sammelband::d_AusgabeNr_t
)
& "]"
) //end case
) // End trim
;
d_Datentyp2_t = "Vortrag";

// Zitform für Vorträge

Trim(
$Autor &
Case( Right( $Autor ; 1) <> "." ; ".") &
" " & Quote( d_Titel_t ) & ". Paper presented at " &
DTitel.Titel.Sammelband::d_Titel_t & ", " &
Case( not IsEmpty( DTitel.Titel.Sammelband::d_Ort_t ); DTitel.Titel.Sammelband::d_Ort_t ) &
Case( not IsEmpty( DTitel.Titel.Sammelband::d_Datierung_t ) ; " " &
DTitel.Titel.Sammelband::d_Datierung_t )
) // End trim
;
d_Datentyp2_t = "Tagung";

// Zitform für Tagungen

Trim(
"Conference " &
" " & Quote( d_Titel_t ) & "" &
Case( not IsEmpty( d_Körperschaft_t ); ", " & d_Körperschaft_t ) &
Case( not IsEmpty( d_Ort_t ) ; ", " & d_Ort_t ) &
Case( not IsEmpty( d_Datierung_t ) ; ", " & d_Datierung_t )
) // End trim
;

// Zitform für Monographien und den Rest

Trim(
$Autor &
Case( Right( $Autor ; 1) <> "." ; ".") &
" " & TextStyleAdd( d_Titel_t ; Italic) & "." &

Case( $HerausgeberStatus = 3 ; " Edited by " & d_HerausgeberName_t & ".") &

Case( not IsEmpty( d_BibliogrZusätze_t ) ; " " & d_BibliogrZusätze_t &
Case( not (IsEmpty( d_Reihe_t ) and IsEmpty( d_Auflage_t )); ", ")) &

Case( not IsEmpty( d_Reihe_t ) ; " " & d_Reihe_t &
Case( not IsEmpty( d_AusgabeVol_t ) ; ", Vol. " & d_AusgabeVol_t ) &
Case( not IsEmpty( d_AusgabeNr_t ) ; ", no. " & d_AusgabeNr_t )) &
Case( not IsEmpty( d_Reihe_t ) and not IsEmpty( d_Auflage_t ) ; ", ") &

Case( not IsEmpty( d_Auflage_t ) ; " " & d_Auflage_t & " ed. " ) &

Case( not IsEmpty( d_Ort_t ); d_Ort_t ) &
Case( not IsEmpty( d_Ort_t ) and not IsEmpty( d_Verlag_t ) ; ": ") &
Case( not IsEmpty( d_Verlag_t ) ; d_Verlag_t ) &
Case( not IsEmpty( d_Datierung_t ) ; ", " & d_Datierung_t ) &

Case( not IsEmpty( DTitel.Titel.Sammelband::_pk_GUID );
/* Eine Monographie mit Verknüpfung zu einem Sammelband ist Teil einer Werkausgabe */
" [" & Trim( DTitel.Titel.Sammelband::d_Kurztitel_t &
Case( not isempty( d_AusgabeVol_t ) ;", Vol. " & d_AusgabeVol_t ) &
Case(not IsEmpty( d_AusgabeVol_t ) and not IsEmpty(d_AusgabeNr_t) ; " No. ";
not isempty(d_AusgabeNr_t) ; ", No. ") &
d_AusgabeNr_t)
& "]"
) //end case
) // End trim
) //End Case

& DGlobals::v_ZitFormSchlusszeichen
)