Comments (24)
Am einfachsten wohl mit
\ExecuteBibliographyOptions{citeauthorformat=initials}
Da gibt es ja eh schon einen Block in archaeologie.bbx
(Z. 24)
from biblatex-archaeologie.
@moewew : Ich habe deine Anmerkungen nun versucht umzusetzen.
Hier ein MWE:
\documentclass[
french,latin,spanish,
italian,
ngerman,
%english
]{article}
\usepackage{babel}
\usepackage{libertine}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@Article{Ball2013,
author = {Larry F. Ball and John J. Dobbins},
title = {Pompeii Forum Project},
subtitle = {Current Thinking on the Pompeii Forum},
journaltitle = AJA,
shortjournal = AJA-short,
volume = {117},
pages = {461--492},
year = {2013},
doi = {10.3764/aja.117.3.0461},
eprint = {10.3764/aja.117.3.0461},
eprinttype = {jstor},
month = {July},
number = {3},
}
@Incollection{Carter2014,
author = {Carter, Michael J. and Edmondson, Jonathan},
title = {Spectacle in Rome, Italy, and the Provinces},
pages = {537--558},
editor = {Bruun, Christer and Edmondson, Jonathan},
booktitle = {The Oxford Handbook of Roman Epigraphy},
publisher = OUP,
location = {Oxford},
year = {2014},
}
@Review{Hufschmid2010,
author = {Hufschmid, Thomas},
title = {Von Caesars \emph{theatron kynegetikon} zum \emph{amphitheatrum novum} Vespasians},
pages = {487--504},
volume = {23},
journaltitle = JRA,
shortjournal = JRA-short,
related = {Welch2007},
relatedtype = {reviewof},
year = {2010},
}
\end{filecontents*}
\usepackage{csquotes}
\usepackage[
backend=biber,
style=archaeologie,
initials,
%uniquename=true,
]{biblatex}
\addbibresource{\jobname.bib}
\makeatletter
\newcommand*{\cbx@fseen@names}{}
\newcommand*{\cbx@tseen@names}{}
\newrobustcmd*{\cbx@nameseen}[1]{%
\iftoggle{blx@footnote}
{\listcsxadd{cbx@fseen@names}{#1}}
{\listcsxadd{cbx@tseen@names}{#1}}}
\newrobustcmd*{\cbx@ifnameseen}[1]{%
\iftoggle{blx@footnote}
{\xifinlistcs{#1}{cbx@fseen@names}}
{\xifinlistcs{#1}{cbx@tseen@names}}}
\DeclareNameFormat{citeauthor}{%
\cbx@ifnameseen{\thefield{hash}}
{}
{\setcounter{uniquename}{2}%
\cbx@nameseen{\thefield{hash}}}%
\ifcase\value{uniquename}%
\usebibmacro{name:family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\or
\ifuseprefix
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefixi}
{\namepartsuffixi}}%
\or
\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\fi
\usebibmacro{name:andothers}}
%------ aus archaeologie
\renewbibmacro*{cite:name}{%
% 0: only last names, 1: last name + first name initials, 2: full name
\ifbool{cbx:fullnames}{\c@uniquename=2}{\ifbool{cbx:lastnames}{\c@uniquename=0}{\c@uniquename=1}}%
\ifciteindex{\indexnames{labelname}}{}%
\printtext[bibhyperref]{%
\iffootnote{\c@uniquename=0 \printnames[citeauthor]{labelname}}{\printnames[citeauthor]{labelname}}}}
\DeclareCiteCommand{\citeauthor}%
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\renewcommand*{\multinamedelim}{\addcomma\space}%
\renewcommand*{\finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\space}%
\usebibmacro{prenote}}%
{\usebibmacro{cite:name}}%
{\multicitedelim}%
{\usebibmacro{postnote}}%
\makeatother
\usepackage{hyperref}
\begin{document}
%\nocite{*}
\footnote{\cites{Carter2014}{Hufschmid2010}{Ball2013}}
\citeauthor{Ball2013}\\
\citeauthor{Ball2013}\\
\citeauthor{Hufschmid2010}\\
\citeauthor{Hufschmid2010}\\
\citeauthor{Carter2014}\\
\citeauthor{Carter2014}\\
\footnote{\cites{Carter2014}{Hufschmid2010}{Ball2013}}
%\printbibliography
\end{document}
Was jetzt nicht passt, sind die Fußnoten: In der zweiten Zitation gibt es nun die "Langversion".
Noch zwei Dinge: Mir fällt kein Unterschied zu uniquename=true
oder false
auf.
Und eine Frage: Kann man das mit der Seitenzahlabhängigkeit umsetzen? (s. erstes Kommentar)
Schön wäre wenn man die neue \citeauthor
-Funktion in eine Option packen kann (bspw. firstfullnames
-- wo wäre die am besten einzubauen?)
from biblatex-archaeologie.
Da Du in cite:name
selbst an uniquename
rumschraubst, hat die Option uniquename
keine Auswirkung auf \citeauthor
. Eine Auswirkung hat sie aber, wenn Du unqiuename=true
setzt, dann funktioniert zumindest bei mir der Kurzname im zweiten Zitat. Auch das hängt denke ich damit zusammen, dass wir in cite:name
sonst einen Wert erzwingen, der biblatex
dann aus dem Konzept bringt.
Wenn wir für \citeauthor
eh ein neues Namensformat brauchen, sollten wir darüber nachdenken, das \c@uniquename
-Gepfusche zu lassen.
Das sollte man vielleicht geregelter angehen. Daher die Frage, wie sollen die Namen in normalen Zitaten aussehen?
- Nur Nachname (Müller, Elk)
- Vornameninitial und Nachname (K. Müller, A. Elk)
- Vorname und Nachname (Konrad Müller, Anne Elk)
- Vornameninitial bzw. Vorname nur bei Uneideutigkeit und Nachname (K. Müller, Elk)
- ... oder ganz anders?
Und wie soll es bei \citeauthor
aussehen?
Was würde das für cbx:fullnames
und cbx:lastnames
bedeuten?
Ja nach dem, welche Kombination sich hier ergibt, ist es sinnvoll, uniquename
zu nutzen und labelname
zu bearbeiten oder anders vorzugehen.
Das mit den Seiten müsstest Du genauer spezifizieren, wie soll der Algorithmus, der die Entscheidung fällt, denn genau aussehen. Wir können uns merken, wo wir das letzte Mal einen bestimmten Namen genannt haben und dann, wenn die aktuelle Seitenzahl zu weit weg ist, darauf reagieren. Vom Gefühl hätte ich gesagt, dass bei diesem simplen Plan einiges schief gehen kann, aber das wäre eine Idee.
Wie sich das am besten in eine Option packen lässt hängt mit den anderen Fragen zusammen.
from biblatex-archaeologie.
Das mit dem falschen Initial hat sich erledigt, denn ich habe herausgefunden, dass man Biber
nochmals durchlaufen lassen muss, dann erst erfolgt die initial
-abhängige Ausgabe des Vornamens. Das scheint dann nicht das Problem zu sein.
- Die Namenformatierung für
\cite
, etc. soll nur Nachname sein (durch die Erweiterung mit Buchstaben bei gleichem Namen und Jahr (Bspw. Müller 2008a, Müller 2008b) wird es immer eindeutig sein, sodass man bei Uneindeutigkeit kein Vornameninitial braucht?!) - Die Namenformatierung für
\citeauthor
, etc. soll man über Optionen steuern können, wobei Standard soll sein: Ausgabe von Vornameninitial und Nachname (K. Müller, A. Elk) cbx:fullnames
: Ausgabe von Vor- und Zuname (Konrad Müller, Anne Elk)cbx:lastnames
: Ausgabe nur von Nachname (Müller, Elk)cbx:firstfullnames
: Ausgabe bei erster Erwähnung (mit \citeauthor) von Vor- und Zuname (Konrad Müller, Anne Elk), bei allen weiteren Erwähnungen dann das Standardformat (Vornameninitial und Nachname (K. Müller, A. Elk))
Das mit den Seiten hast du richtig erfasst. Mir schwebt vor, dass man mit bspw. cbx:fullnamespagediff
eine Seitenzahl definiert, die dann zwischen zwei \citeauthor
nicht überschritten werden darf. Wird sie überschritten, dann erfolgt wieder Ausgabe des vollen Vor- und Zuname.
Definiert man die Seitenzahl "5", dann wird auf Seite 1 \citeauthor
mit Vor- und Zuname, auf Seite 2 nur Vornameninitial und Nachname, aber auf Seite 10 wieder Vor- und Zuname ausgegeben.
Man bräuchte dafür ggf. gar keine neue Option cbx:fullnamespagediff
, sondern kann dies in cbx:firstfullnames
integrieren, indem es nicht auf true
oder false
gesetzt wird, sondern die gewünschte Seitenzahl angegeben wird (=Zahl
), wobei =0
für nur erste Nennung Vor- und Zuname und alle anderen Nennungen für Vornameninitial und Nachname steht.
from biblatex-archaeologie.
OK. Also sollten wir von labelname
die Pfoten lassen und auch von uniquename
. (Natürlich ist Müller 2008a, Müller 2008b eindeutig, aber bei "J. Müller 2008, K. Müller 2008" kann die Leserin die Autoren unterscheiden, das ist doch ganz nett.)
Wenn wir diese vier Auswahlmöglichkeiten für das \citeauthor
-Format haben, sollten wir vielleicht besser eine "Text"-Option citeauthorformat
mir den Werten initial
, full
, last
, firstfull
bauen. Das scheint mir konzeptionell einfacher. Außedem kommen sich dann die ganzen Boolean-Optionen nicht gegenseitig in den Weg. Dann bräuchte man für den Seitenabstand eine eigene Option, das könnte ich aber verkraften.
from biblatex-archaeologie.
aha, das mit der Textoption ist ja eine noch bessere Option! da muss ich mal schauen, wie man die umsetzt.
from biblatex-archaeologie.
Ich würde sowas vorschlagen
\documentclass[ngerman]{article}
\usepackage{babel}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@Article{Ball2013,
author = {Larry F. Ball and John J. Dobbins},
title = {Pompeii Forum Project},
subtitle = {Current Thinking on the Pompeii Forum},
journaltitle = AJA,
shortjournal = AJA-short,
volume = {117},
pages = {461--492},
year = {2013},
doi = {10.3764/aja.117.3.0461},
eprint = {10.3764/aja.117.3.0461},
eprinttype = {jstor},
month = {July},
number = {3},
}
@Incollection{Carter2014,
author = {Carter, Michael J. and Edmondson, Jonathan},
title = {Spectacle in Rome, Italy, and the Provinces},
pages = {537--558},
editor = {Bruun, Christer and Edmondson, Jonathan},
booktitle = {The Oxford Handbook of Roman Epigraphy},
publisher = OUP,
location = {Oxford},
year = {2014},
}
@Review{Hufschmid2010,
author = {Hufschmid, Thomas},
title = {Von Caesars \emph{theatron kynegetikon} zum \emph{amphitheatrum novum} Vespasians},
pages = {487--504},
volume = {23},
journaltitle = JRA,
shortjournal = JRA-short,
related = {Welch2007},
relatedtype = {reviewof},
year = {2010},
}
\end{filecontents*}
\usepackage{csquotes}
\usepackage[
backend=biber,
style=archaeologie,
initials,
]{biblatex}
\addbibresource{\jobname.bib}
\makeatletter
\newcommand*{\cbx@fseen@names}{}
\newcommand*{\cbx@tseen@names}{}
\newrobustcmd*{\cbx@nameseen}[1]{%
\iftoggle{blx@footnote}
{\listcsxadd{cbx@fseen@names}{#1}}
{\listcsxadd{cbx@tseen@names}{#1}}}
\newrobustcmd*{\cbx@ifnameseen}[1]{%
\iftoggle{blx@footnote}
{\xifinlistcs{#1}{cbx@fseen@names}}
{\xifinlistcs{#1}{cbx@tseen@names}}}
\DeclareBibliographyOption[string]{citeauthorformat}{%
\ifcsdef{cbx@arch@citeauthorformat@#1}
{\csuse{cbx@arch@citeauthorformat@#1}}
{\PackageError{biblatex-archaeologie}
{Option 'citeauthorformat=#1' invalid}
{The option you have supplied is invalid.\MessageBreak
Use one of the values 'initials', 'full', 'family' or 'firstfull'.}}}
\def\cbx@arch@citeauthorformat@family{%
\DeclareNameFormat{citeauthor}{%
\usebibmacro{name:family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}
\def\cbx@arch@citeauthorformat@full{%
\DeclareNameFormat{citeauthor}{%
\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}
\def\cbx@arch@citeauthorformat@initials{%
\DeclareNameFormat{citeauthor}{%
\ifuseprefix
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefixi}
{\namepartsuffixi}}}}
\def\cbx@arch@citeauthorformat@firstfull{%
\DeclareNameFormat{citeauthor}{%
\cbx@ifnameseen{\thefield{hash}}
{\ifuseprefix
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefixi}
{\namepartsuffixi}}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\cbx@nameseen{\thefield{hash}}}}}
\DeclareCiteCommand{\citeauthor}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printnames[citeauthor]{labelname}}
{\multicitedelim}
{\usebibmacro{postnote}}
\makeatother
\ExecuteBibliographyOptions{citeauthorformat=firstfull}
\usepackage{hyperref}
\begin{document}
%\nocite{*}
\footnote{\cites{Carter2014}{Hufschmid2010}{Ball2013}}
\citeauthor{Ball2013}\\
\citeauthor{Ball2013}\\
\citeauthor{Hufschmid2010}\\
\citeauthor{Hufschmid2010}\\
\citeauthor{Carter2014}\\
\citeauthor{Carter2014}\\
\footnote{\cites{Carter2014}{Hufschmid2010}{Ball2013}}
%\printbibliography
\end{document}
Das kann jetzt diese Seitanabhängigkeit noch nicht, aber das lässt sich sicher noch einbauen.
from biblatex-archaeologie.
das sieht richtig gut komprimiert aus. wie stellt man default initials
ein?
from biblatex-archaeologie.
warum heißt es manchmal namepartsuffixi
also das i
am Ende ?
from biblatex-archaeologie.
Das i
steht für 'initial' und zeigt an, dass in dem Makro das Initial und nicht der ganze Namensteil gespeichert ist. \namepartgiven
enthält den Vornamen "Anne", \namepartgiveni
nur das Initial "A.".
from biblatex-archaeologie.
genial. funktioniert ja tadellos soweit ich das sehe! wird gleich in die cbx:archaeologie
eingebaut.
from biblatex-archaeologie.
Habe \citeauthor
leicht geändert, damit es wieder in die bisherige Formatierung passt:
\DeclareCiteCommand{\citeauthor}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\renewcommand*{\multinamedelim}{\addcomma\space}%
\renewcommand*{\finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\space}%
\usebibmacro{prenote}}%
{\ifciteindex
{\indexnames{labelname}}
{}%
\printnames[citeauthor]{labelname}}
{\multicitedelim}
{\usebibmacro{postnote}}
Nun gibt es allerdings eine Fehlermeldung:
! Package keyval Error: citeauthorformat undefined.
obwohl citeauthorformat=initials
in der \ExecuteBibliographyOptions
angegeben ist.
Auch ein \ExecuteBibliographyOptions{citeauthorformat=initials}
nach \DeclareBibliographyOption[string]{citeauthorformat}{..
bringt die gleiche Fehlermeldung.
from biblatex-archaeologie.
Ok, wenn ich
\ExecuteBibliographyOptions{%
citetracker=true,%
idemtracker=false,%
ibidtracker=true,%
opcittracker=true,%
loccittracker=true,%
labeldate=true,%
citeauthorformat=initials,%
}
ganz ans Ende von archaeologie.cbx
setze, klappt alles.
Jetzt fehlt "nur" noch die Option mit der Seitenangabe.
Kann man bspw. die Option so einbauen: citeauthorformat=firstfull:5
, also dass die Zahl nach :
die Seitenzahldifferenz von Erst- und Folgenennung definiert?
from biblatex-archaeologie.
Es wird nun bei drei und mehr Autoren/Herausgeber nur der erste Autor/Hrsg. angegeben und kein "u. a." mehr:
\documentclass[ngerman]{article}
\usepackage{babel}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@Article{Ball2013,
author = {Larry F. Ball and John J. Dobbins and Müller, Hans},
title = {Pompeii Forum Project},
subtitle = {Current Thinking on the Pompeii Forum},
journaltitle = AJA,
shortjournal = AJA-short,
volume = {117},
pages = {461--492},
year = {2013},
doi = {10.3764/aja.117.3.0461},
eprint = {10.3764/aja.117.3.0461},
eprinttype = {jstor},
month = {July},
number = {3},
}
\end{filecontents*}
\usepackage{csquotes}
\usepackage[
backend=biber,
style=archaeologie,
initials,
]{biblatex}
\addbibresource{\jobname.bib}
\makeatletter
\newcommand*{\cbx@fseen@names}{}
\newcommand*{\cbx@tseen@names}{}
\newrobustcmd*{\cbx@nameseen}[1]{%
\iftoggle{blx@footnote}
{\listcsxadd{cbx@fseen@names}{#1}}
{\listcsxadd{cbx@tseen@names}{#1}}}
\newrobustcmd*{\cbx@ifnameseen}[1]{%
\iftoggle{blx@footnote}
{\xifinlistcs{#1}{cbx@fseen@names}}
{\xifinlistcs{#1}{cbx@tseen@names}}}
\DeclareBibliographyOption[string]{citeauthorformat}{%
\ifcsdef{cbx@arch@citeauthorformat@#1}
{\csuse{cbx@arch@citeauthorformat@#1}}
{\PackageError{biblatex-archaeologie}
{Option 'citeauthorformat=#1' invalid}
{The option you have supplied is invalid.\MessageBreak
Use one of the values 'initials', 'full', 'family' or 'firstfull'.}}}
\def\cbx@arch@citeauthorformat@family{%
\DeclareNameFormat{citeauthor}{%
\usebibmacro{name:family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}
\def\cbx@arch@citeauthorformat@full{%
\DeclareNameFormat{citeauthor}{%
\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}
\def\cbx@arch@citeauthorformat@initials{%
\DeclareNameFormat{citeauthor}{%
\ifuseprefix
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefixi}
{\namepartsuffixi}}}}
\def\cbx@arch@citeauthorformat@firstfull{%
\DeclareNameFormat{citeauthor}{%
\cbx@ifnameseen{\thefield{hash}}
{\ifuseprefix
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefixi}
{\namepartsuffixi}}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\cbx@nameseen{\thefield{hash}}}}}
\DeclareCiteCommand{\citeauthor}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\renewcommand*{\multinamedelim}{\addcomma\space}%
\renewcommand*{\finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\space}%
\usebibmacro{prenote}}%
{\ifciteindex
{\indexnames{labelname}}
{}%
\printtext[bibhyperref]{%
\printnames[citeauthor]{labelname}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\makeatother
\ExecuteBibliographyOptions{citeauthorformat=firstfull}
\usepackage{hyperref}
\begin{document}
%\nocite{*}
\footnote{\cite{Ball2013}}
\citeauthor{Ball2013}\\
\citeauthor{Ball2013}\\
\footnote{\cite{Ball2013}}
%\printbibliography
\end{document}
from biblatex-archaeologie.
Ja Du kannst eine Option erst ausführen, nachdem Du sie definiert hast. (Man kann denn \ExecuteBibliographyOptions
-Befehl am einfachsten nach dem Block mit allen \DeclareBibliographyOption
s ausführen, dann hat man alles beisammen.)
Für die Seitenzahlgeschichte würde ich lieber eine eigene Option aufbauen. Es könnte auch mit firstfull:n
funktionieren, aber dann kann man die Infrastruktur, so wie wir sie gerade aufgebaut haben, nicht mehr ganz so verwenden und ich weiß nicht, wie man sie am besten anpassen müsste.
Ich habe in den Namensformaten den Aufruf von name:andothers
vergessen, der muss jeweils noch ans Ende.
\def\cbx@arch@citeauthorformat@family{%
\DeclareNameFormat{citeauthor}{%
\usebibmacro{name:family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\usebibmacro{name:andothers}}}
\def\cbx@arch@citeauthorformat@full{%
\DeclareNameFormat{citeauthor}{%
\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\usebibmacro{name:andothers}}}
\def\cbx@arch@citeauthorformat@initials{%
\DeclareNameFormat{citeauthor}{%
\ifuseprefix
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefixi}
{\namepartsuffixi}}%
\usebibmacro{name:andothers}}}
\def\cbx@arch@citeauthorformat@firstfull{%
\DeclareNameFormat{citeauthor}{%
\cbx@ifnameseen{\thefield{hash}}
{\ifuseprefix
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefixi}
{\namepartsuffixi}}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\cbx@nameseen{\thefield{hash}}}%
\usebibmacro{name:andothers}}}
from biblatex-archaeologie.
ah - auf das naheliegende \usebibmacro{name:andothers}
bin ich natürlich nicht gekommen.
Gibt es schon einen Stil, der die Seitenzahl-Sache in etwa drin hat, sodass man das modifizieren kann?
from biblatex-archaeologie.
Jetzt funktioniert auch uniquename=true
an sich wunderbar..... aber....
Es gibt das bibmacro
cite:Lexikon
, das dann nicht mehr funktioniert:
\newbibmacro*{cite:lexikon}{%
\printfield{booktitle}%
\setunit{\addspace}%
\printfield{volume}%
\setunit{\addspace}%
\printfield[parens]{year}%
\setunit{\addspace}%
\iffieldundef{postnote}{\printfield{pages}}%
{\printfield{postnote}}%
\iffieldundef{title}{}{\setunit{\addspace}%
\printtext{s\adddot\addnbthinspace v\adddot}}%
\setunit{\addspace}\printfield{title}%
\iffieldundef{number}{}{\setunit{\addspace}%
\printtext[brackets]{\printfield{number}}}%
\setunit{\addspace}%
\printtext[parens]{\c@uniquename=1 \printnames{labelname}}%
}
Hier soll der Autorenname IMMER mit Vornameninitial und Nachname ausgegeben werden, egal welche Option man sonst gewählt hat.
Dann ein zweites: Ich bekomme gerade Bescheid, dass zur Unterscheidung von gleichen Nachnamen-Autoren, das Vornameninitial hinter den Nachnamen gestellt werden muss:
Müller, A. 2015
Müller, B. 2015
wie ließe sich das umsetzen? --> #91
from biblatex-archaeologie.
Die Sache mit dem Lexikon könnte man so lösen?!
\DeclareNameFormat{name:lexikon}{%
\ifuseprefix
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefixi}
{\namepartsuffixi}}%
\usebibmacro{name:and others}}
\newbibmacro*{cite:lexikon}{%
\printfield{booktitle}%
\setunit{\addspace}%
\printfield{volume}%
\setunit{\addspace}%
\printfield[parens]{year}%
\setunit{\addspace}%
\iffieldundef{postnote}{\printfield{pages}}%
{\printfield{postnote}}%
\iffieldundef{title}{}{\setunit{\addspace}%
\printtext{s\adddot\addnbthinspace v\adddot}}%
\setunit{\addspace}\printfield{title}%
\iffieldundef{number}{}{\setunit{\addspace}%
\printtext[brackets]{\printfield{number}}}%
\setunit{\addspace}%
\printtext[parens]{\printnames[name:lexikon]{labelname}}%
}
from biblatex-archaeologie.
Da ist ein Leerzeichen in \usebibmacro{name:and others}
zu viel, es muss \usebibmacro{name:andothers}
heißen.
Mir fällt gerade auf, dass man das \printtext{s\adddot\addnbthinspace v\adddot}
schöner mit \bibstring
s lösen würde.
Auch
\iffieldundef{number}{}{\setunit{\addspace}%
\printtext[brackets]{\printfield{number}}}%
kann man eigentlich zu
\setunit{\addspace}%
\printfield[brackets]{number}%
eindampfen (eventuell statt \setunit
\setunit*
, oder noch schöner statt \printfield[brackets]{number}
nur \printfield{number}
mit passendem \DeclareFieldFormat
.)
Generell kann man \iffieldundef
häufig umgehen, wenn man den punctuation tracker richtig verwendet.
Diese Seitenzahl-Idee habe ich noch nirgendwo gesehen, wüsste also nicht direkt, wo ich klauen gehen sollte.
from biblatex-archaeologie.
Ein eigener bibstring
für subvoce
könnte so aussehen:
\NewBibliographyString{subvoce}
\DeclareBibliographyStrings{%
subvoce = {{sub voce}{s\adddot\addnbthinspace v\adddot}},
}
Aber wo muss man das definieren, damit es nicht sprachabhängig ist?!
from biblatex-archaeologie.
Bei einem \DeclareFieldFormat{number}{\mkbibbrackets#1}
würden alle aber alle \printfield{number}
in eckige Klammern gesetzt werden? Für Zeitschriften oder Serien soll das nicht der Fall sein, dann wäre ein \printfield[brackets]{number}
besser?!
from biblatex-archaeologie.
Sind dann die \iffieldundef{number}{}{\printfield{number}}
überflüssig, weil {\printfield{number}}
nur passiert, wenn das Feld {number}
auch definiert ist? Gilt dies auch für alle anderen Felder? Denn dann würde man auf einige 'iffieldundef' verzichten können:
\newbibmacro*{zenon}{%
\usebibmacro{bbx:parunit}%
%\iffieldundef{zenon}%
% {}%
{\printfield{zenon}}%
}
%-----------------------
\newbibmacro*{jstor}{%
\usebibmacro{bbx:parunit}%
% \iffieldundef{jstor}%
% {}%
{\printfield{jstor}}%
}
%-----------------------
\newbibmacro*{urn}{%
\usebibmacro{bbx:parunit}%
%\iffieldundef{urn}%
% {}%
{\printfield{urn}}%
}
%-----------------------
\renewbibmacro*{url+urldate}{%
\usebibmacro{bbx:parunit}%
\printfield{url}%
%\iffieldundef{urlyear}%
% {}%
{\setunit*{\addspace}%
\printtext{\printurldate}%
}%
}
from biblatex-archaeologie.
Ich habe es jetzt so gelöst:
\newcommand*{\subvoce}{\addspace s\adddot\addnbthinspace v\adddot}
und dann in
\newbibmacro*{inreference:title+author}{%
\iffieldundef{title}%
{}%
{\subvoce%
\setunit{\addspace}%
\printfield{title}%
\setunit*{\addspace}%
\printfield[brackets]{number}}
\setunit{\addspace}%
\printtext[parens]{\printnames[name:inreference]{labelname}}
}
eingebaut.
from biblatex-archaeologie.
Ad "sub voce": Ich würde es gerade als Vorteil sehen, dass es sprachabhängig wird. Das kann dann entweder in einer .lbx
-Datei passieren, oder mit \DefineBibliographyStrings{<lang>}
auch in der .bbx
/.cbx
.
Statt \DeclareFieldFormat{number}{\mkbibbrackets#1}
kannst Du \DeclareFieldFormat[inreference]{number}{\mkbibbrackets{#1}}
auf den Typ @inreference
(für Lexika) beschränken. Dann bekämen @article
s und @inbook
s, @incollection
s das nicht.
In Deinen Beispielen ist \iffieldundef
in der Tat unnötig. Man braucht es aber z.B., wenn man mit \printtext
etwas hinzufügen muss, was nur erscheinen darf, wenn ein anderes Feld gezeigt wird. Schau Dir mal §4.11.7 Using the Punctuation Tracker in der biblatex
-Doku an.
from biblatex-archaeologie.
Related Issues (20)
- Silbentrennung in der Sprache des Eintrags, Strings in der Hauptsprache des Dokuments HOT 4
- eventdate überschreibt pubstate HOT 2
- kein Komma vor `in` bei fehlendem Titel HOT 12
- Aufeinanderfolgende Jahre bei `date` mit einem Slash trennen HOT 34
- Trennungen von @Strings
- @Strings mit biblatex 3.9/biber 2.9 nicht mehr erkannt. HOT 2
- Anzeige AutorInnennamen im Fließtext HOT 12
- citereset für section ohne Funktion HOT 2
- bibstring owntranslation funktioniert, aber mit Fehlermeldung HOT 15
- bold labels in Bibliografieverzeichnis HOT 4
- Option initials abhängig von biber-version HOT 3
- set language per field HOT 6
- You haven't defined the language @empty yet. HOT 2
- Eingetragener Wert in `pages` wird überschrieben und Seitenzahlen werden wiederholt HOT 3
- Bessere Sortierung "Name - Jahr - Monat - Tag - Titel" HOT 2
- Jahresangaben bei Lexika nicht vollständig. HOT 4
- Leerzeichen in postnote zwischen Kommata HOT 2
- @Strings / Support for greek letters / inputenc HOT 1
- 'Make install' keeps failing HOT 6
- Put "submitted" in parentheses in the text HOT 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from biblatex-archaeologie.