goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 99933
Top-Poster: Johannes_B (5060)

Wir begrüßen unseren neuesten Benutzer pebue.

Links:


Mit Unterstützung von DANTE e.V.: Deutschsprachige Anwendervereinigung TeX. Danke den Mitgliedern!





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Seitenzahlen im Postnote-Feld erkennen

 

ElEsido
Forum-Newbie
Forum-Newbie

Beiträge: 2
Anmeldedatum: 22.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.07.2009, 14:15     Titel: Seitenzahlen im Postnote-Feld erkennen
  Antworten mit Zitat      
Hallo zusammen

Wenn man eine Quelle mit \footcite[23]{mueller} angibt, erkennt Biblatex ja, ob im Feld <postnote> eine Seitenzahl steht. Dies kann mit der Eingabe \pno oder \ppno forciert werden, z.B\footcite[\pno 3b]{<kürzel>} oder \footcite[\ppno 3b-4c]{<kürzel>}. Eine Abfrage irgendwo in Biblatex prüft, ob eine Seitenzahl steht oder forciert wird und setzt falls ja ein S. vorne daran.

Ich möchte diese Abfrage in einem Stil verwenden und je nach dem die Original-Seitenzahl des zitierten Werks in Klammern setzten oder nicht. (Bsp: "Müller, ZietschriftX 2008 (S. 203-215), S. 212." Bzw. "Müller, ZietschriftX 2008 S. 203-215 mit weiteren Hinweisen.")

Kann mir jemand helfen, den Code, der den Seitenzahl-Check macht, in meinem Stil-Makro zu verwenden?

Der Code, der dies steuert ist _vermutlich_ (ich kann so kompakt geschriebene Befehle leider nicht deuten) im File biblatex.sty ab Zeile 2194:
Code

\long\def\blx@mkpageprefix#1#2{%
\blx@imc@ifnumeral{#2}
{\blx@imc@bibstring{#1}\ppspace#2}
{\blx@imc@ifnumerals{#2}
{\blx@imc@bibstring{#1s}\ppspace#2}
{\begingroup
\def\pno{\blx@imc@bibstring{#1
}}%
\def\ppno{\blx@imc@bibstring{#1s}}%
#2\endgroup}}}
 


Dieses Minimalbeispiel zeigt, worum es geht (Glossaries ist eingebunden, da ich dieses im Originaldokument auch verwende und es bei einem andern Lösungsansatz bereits ausschlaggebend war.)

Code

\documentclass[11pt, ngerman,oneside]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[style=authortitle-ibid]{biblatex}
\usepackage[babel,german=guillemets]{csquotes}
\bibliography{faelle}
\usepackage[acronym=true]{glossaries}
\makeglossaries
\newacronym{ff}{ff.}{fortfolgende}
\newacronym{rpw}{RPW}{Recht und Politik des Wettebwerbs}
\glsunset{ff}

\begin{filecontents}{faelle.bib}
@jurisdiction{coop-carr,
Author = {Wettbewerbskommission
},
Date = {2008.03.17},
Institution = {Weko},
Journaltitle = {\gls{rpw}},
Number = {4},
Pages = {593 ff.},
Title = {Coop\slash Carre\-four},
Titleaddon = {Ver\-f{\"u}\-gung der Wett\-be\-werbs\-kom\-mis\-sion vom 17.~M{\"a}rz 2008},
Year = {2008}}

@jurisdiction{test,
Author = {Wettbewerbskommission
},
Date = {2004.03.17},
Institution = {Weko},
Journaltitle = {\gls{rpw}},
Number = {3},
Pages = {22 ff.},
Title = {Testfall},
Titleaddon = {Testentscheid},
Year = {2004}}
\end{filecontents}

% Es folgt die Anpassung des Biblatex-Stils.

% Nachfolgend das Makro, das die verschiedenen Felder des Bib-Datensatzes darstellt

\newbibmacro{footcite-jurisdiction}{%
\iffieldundef{shorttitle}{\printfield{title}}{\printfield{shorttitle}}\addcomma\addspace
\iffieldundef{howpublished}{%
\printfield{journaltitle}\addspace%
\printfield{year}\addslash
\iffieldundef{issue}{}{\thefield{issue}}%
\iffieldundef{number}{}{\thefield{number}}%
}{\printfield{howpublished}}%
%%Hier käme die Abfrage, ob im Postnote-Feld eine Sietenzahl setht oder mit \pno der \ppno forciert worden ist
\iffieldundef{postnote}{\addspace\printfield{pages}}{%
%%Hier käme die Abfrage, ob im Postnote-Feld eine Sietenzahl setht oder mit \pno der \ppno forciert worden ist}%
% Wenn Seitenzahlen stehen, dann {\addspace(\thefield{pages})}
% Wenn keine Seitenzahl steht, dann {\addspace\printfield{pages}}
}}


% Hier die Re-Definition des Befehls \footcite: Einträge des Typs jurisdiction werden ausgesondert und dem obigen Makro zugewiesen.
\DeclareCiteCommand%
{\footcite}% command
[\mkbibfootnote]%wrapper
{\bibsentence
\usebibmacro{prenote
}}%precode
{\usebibmacro{citeindex}%
\ifthenelse{\equal{\thefield{entrytype}}{jurisdiction}}{\usebibmacro{footcite-jurisdiction}}{\usebibmacro{cite}}}%loopcode
{\multicitedelim}%sepcode
{\usebibmacro{cite:postnote}}%postcode


\begin{document}

Dies ist der Fall ohne postnote-Feld\footcite{coop-carr}\\
\\
Dies ist der Fall mit einer Seitenzahl im postnote-Feld\footcite[\pno 600 \protect\gls{ff}]{coop-carr}. \\
\\
Dies ist der Fall mit einer Seitenzahl im postnote-Feld\footcite[600]{test}. \\
\\
Dies ist der Fall mit mehreren Seitenzahlen im postnote-Feld\footcite[600-602]{coop-carr}. \\
\\
Dies ist der Fall mit einer Nicht-Seitenzahl im postnote-Feld\footcite[Erwägung 3]{coop-carr}. \\
\end{document}
 


Ich bin für jede Hilfe dankbar.
Schöne Grüsse
ElEsido

P.S. ich verwende
biblatex 2009/07/04 v0.8e und
csquotes 2009/07/04 v4.4a
Code
 
Code
[quote][/quote]
Code
 
Private Nachricht senden Benutzer-Profile anzeigen

ElEsido
Forum-Newbie
Forum-Newbie

Beiträge: 2
Anmeldedatum: 22.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.07.2009, 15:59     Titel:
  Antworten mit Zitat      
Philipp Lehman, der Autor von Biblatex, hat den folgenden Code als Test vorgeschlagen:
Code

\iffieldundef{postnote}
 {POSTNOTE UNDEFINED}
 {\savefield{postnote}{\bbx@tempa}%
  \expandafter\ifnumerals\expandafter{\bbx@tempa}
    {POSTNOTE IS A PAGE OR PAGE RANGE}
    {POSTNOTE IS OTHER TEXT}}
 


Allerdings prüft dieses Code-Stück nicht, ob das postnote-Feld mit einem \pno oder \ppno beginnt. Weiss jemand, wie der Code um diese Prüfung ergänzt werden könnte?[/code]
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2019 goLaTeX.de