0

A while back, this customized Bib-style has been craftet for me on this platform and it has been working great ever since. Now, I have to change it up a little bit but don't know how: Whenever I'm citing a book/article that's been written by two people, the initial of the second author's first name shows up. This hasn't been a problem, but now I've been told that I should get rid of it... I know what the different parts of the code do, but I don't think just deleting a part of the code will do the trick (it hasn't yet for me at least) so I need your help! Thank you so much in advance!

Edit: I have added my entire (messy...) preamble because I seem to have lost the overview over everything... I'll have to sort this out soonish. Also I have added two 'problematic' Bib entries: knobel2007a produces "Knobel/C. ( Lankshear (2007)" instead of the desired "Knobel/Lankshear (2007)" (I know that the basic problem lies in the fact that I have manually added (eds.) after their names, but this makes other entries shorter). The other one in berg2012a that produces in the bibliography "In: Written Language and Literacy 15.1" when I want it to be "In: Written Language and Literacy 15(1)" (The journal title itself should remain cursive while the rest is upright).

If there is still information missing, please let me know and thank you for your time you've already spent helping me!

\documentclass[paper=a4,12pt,numbers=endperiod]{scrartcl}
\usepackage{pgfplots}
\usepackage{xltxtra}

\usepackage[left=2cm,right=3cm,top=2cm,bottom=2cm,footskip=1cm]{geometry}
\usepackage{scrlayer-scrpage}

%\usepackage{fontspec}
\setmainfont[SmallCapsFont={* Caps}]{Latin Modern Roman}
\setsansfont{Latin Modern Sans}
\setmonofont{Old Standard}
\newfontfamily\russianfont{Old Standard}
\newfontfamily\ipafont{Doulos SIL}
\newfontfamily\churchslavonicfont{Ponomar Unicode}

\usepackage{polyglossia}
\usepackage{churchslavonic}
\setdefaultlanguage{english}
%\setotherlanguages{german,romanian,russian,churchslavonic}
\usepackage[autostyle=true]{csquotes}

\usepackage{yfonts}
%\usepackage{tipa}
%\usepackage{ifxetex}
%\usepackage{combelow}
\usepackage{hanging}
\setlength\columnsep{20pt}

\usepackage{setspace}
\usepackage{filecontents}

\usepackage{graphicx}
\usepackage{float}
\usepackage{caption}

\usepackage[english]{fancyref}
\renewcommand{\fancyrefdefaultformat}{plain}
\renewcommand{\fancyrefdefaultspacing}{\fancyreftightspacing}
\newcommand*{\fancyrefapplabelprefix}{app}
\newcommand*{\appendname}{appendix}
\frefformat{plain}{\fancyrefapplabelprefix}{\appendname\fancyrefdefaultspacing#1}
\renewcommand*{\fancyrefseclabelprefix}{sec}
\newcommand*{\sectionname}{section}
\frefformat{plain}{\fancyrefseclabelprefix}{\sectionname\fancyrefdefaultspacing#1.}
\newcommand*{\fancyrefsublabelprefix}{sub}
\newcommand*{\subsectionname}{subsection}
\frefformat{plain}{\fancyrefsublabelprefix}{\subsectionname\fancyrefdefaultspacing#1.}
\renewcommand*{\fancyreftablabelprefix}{tab}
\renewcommand*{\tablename}{table}
\frefformat{plain}{\fancyreftablabelprefix}{\tablename\fancyrefdefaultspacing#1.}

\usepackage{multicol}

\usepackage{scrextend}
\addtokomafont{labelinglabel}{\sffamily}

%%Tables%%
\usepackage{array}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage[table]{colortbl}
\usepackage{multirow}
\usepackage{diagbox}

\usepackage{lipsum}

\usepackage{pdfpages}
\usepackage{hyperref}
\usepackage{url}

\usepackage[footnote,printonlyused]{acronym}
\usepackage{footnote}
\makesavenoteenv{tabular}
\makesavenoteenv{table}
\deffootnote[1.0em]{1.0em}{1.0em}
    {\textsuperscript{\thefootnotemark}\,\enskip}

\setkomafont{disposition}{\mdseries\rmfamily}
\onehalfspacing
\renewcommand{\baselinestretch}{1.5}

%%ToC%%
\KOMAoptions{
    toc=sectionentrydotfill,
    listof=totoc
}

\newkomafont{standardsection}{\Large}
\newkomafont{nsection}{\usekomafont{standardsection}\slshape}

\DeclareTOCStyleEntry[%
level=\sectiontocdepth,%
beforeskip=0pt plus .2pt,%
indent=0pt,%
numwidth=1.5em,%
entryformat=\usekomafont{sectionentry}\textsl%
]{section}{nsection}

\newcommand*\usensection{% define switch to nsection
    \addtocontents{toc}{\protect\addvspace{1em plus 1pt}}% additional space in TOC before the first nsection entry
    \setkomafont{section}{\usekomafont{nsection}}%
    \renewcommand\addsectiontocentry[2]{\addtocentrydefault{nsection}{##1}{##2}}%
}
\newcommand*\usestandardsection{% define switch to standard section
    \setkomafont{section}{\usekomafont{standardsection}}%
    \renewcommand\addsectiontocentry[2]{\addtocentrydefault{section}{##1}{##2}}%
}

\AfterTOCHead[toc]{\thispagestyle{empty}\pagestyle{empty}}
\AfterStartingTOC[toc]{\clearpage}

%%Bibliography%%
\usepackage[nottoc,notlot,notlof]{tocbibind}
\usepackage[backend=biber,style=authoryear]{biblatex}
\addbibresource{TransAlph.bib}
\DefineBibliographyStrings{english}{references={Bibliography}}

\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\renewbibmacro*{byeditor+others}{%
    \ifnameundef{editor}
    {}
    {\printnames[byeditor]{editor}%
        \setunit{\addspace}%
        \usebibmacro{byeditor+othersstrg}%
        \clearname{editor}%
        \newunit}%
    \usebibmacro{byeditorx}%
    \usebibmacro{bytranslator+others}}
\renewbibmacro*{byeditor+othersstrg}{\usebibmacro{editor+othersstrg}}
\renewbibmacro*{bytranslator+othersstrg}{\usebibmacro{translator+othersstrg}}
\renewbibmacro*{bytypestrg}[2]{%
    \iffieldundef{#1type}
    {\bibstring{#2}}
    {\ifbibxstring{\thefield{#1type}}
        {\bibstring{\thefield{#1type}}}
        {\printtext{\thefield{#1type}}}}}

\renewcommand*{\multinamedelim}{/}
\renewcommand*{\finalnamedelim}{\multinamedelim}

\renewcommand*{\labelnamepunct}{\addcolon\space}
\renewcommand*{\postnotedelim}{\addcolon\space}
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}

\DeclareFieldFormat{superedition}{\textsuperscript{#1}}

\providecommand*{\iflabeldateisdate}{%
    \ifboolexpr{%
        not test {\iffieldundef{labeldatesource}}
        and 
        (test {\iffieldequalstr{labeldatesource}{}} 
        or test {\iffieldequalstr{labeldatesource}{year}})}}

\renewbibmacro*{date+extrayear}{%
    \iffieldundef{labelyear}
    {}
    {\usebibmacro{origdate}%
        \setunit*{\addspace}%
        \printtext[parens]{%
            \iflabeldateisdate
            {\iffieldnum{edition}
                {\printfield[superedition]{edition}%
                    \global\clearfield{edition}}
                {}%
                \printdateextra}
            {\printlabeldateextra}}}}

\newbibmacro*{origdate}{%
    \iffieldundef{origyear}
    {}
    {\printtext[brackets]{\printorigdate}}}

\renewcommand*{\bibpagespunct}{\addcolon\space}
\DeclareFieldFormat{pages}{#1}

\DeclareNameAlias{sortname}{family-given}

\renewcommand*{\labelnamepunct}{\addcolon\space}
\newcounter{SprachB}
\newcommand{\SprachB}[1]{\refstepcounter{SprachB}\label{#1}}

\usepackage{etoolbox}
\AtBeginEnvironment{quote}{\singlespacing\footnotesize}

\newcommand{\graphem}[1]{\guilsinglleft {#1}\guilsinglright}
\newcommand{\ipa}[1]{{\ipafont {#1}}}
\newcommand{\aks}[1]{{\churchslavonicfont {#1}}}
\newcommand{\rus}[1]{{\russianfont {#1}}}
\newcommand{\phonem}[1]{/\ipa{#1}/}
\newcommand{\phon}[1]{[\ipa{#1}]}

\newcommand{\sog}[1]{‘{#1}’}
\newcommand{\zit}[1]{“{#1}”}

\hyphenation{Script-Ora-lia}

\usepackage{silence}

\pagestyle{scrheadings}
\cfoot{}
\ofoot{\pagemark\hspace{-.5cm}}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@Book{knobel2007a,
Title                    = {A New Literacies Sampler \textup{(New Literacies and Digital Epistemologies\,29)}},
Author                   = {Knobel, Michele and Lankshear, Colin (eds.)},
Keywords                 = {sek},
Location                 = {New\,York},
Publisher                = {Peter Lang},
Year                     = {2007}
}
@Article{berg2012a,
Title                    = {Identifying Graphematic Units. Vowel and Consonant Letters},
Author                   = {Berg, Kristian},
Journal                  = {Written Language \& Literacy},
Keywords                 = {sek},
Number                   = {1},
Pages                    = {26--45},
Volume                   = {15},
Year                     = {2012}
}
\end{filecontents}

\begin{document}
Example sentence \textcite[cf.][3--6]{knobel2007a}.\\
Another example sentence \parencite[][39]{berg2012a}.
\bibliography{\jobname}
\end{document}
  • 2
    Please consider turning that snippet of code into a fully functioning MWE/MWEB. In particular make sure that we can compile the complete code by copying and pasting it into an empty document and include an example of a problematic .bib entry. – moewe Jul 2 '18 at 16:32
  • 2
    For now note that the code as shown does not influence the citations significantly, i.e. it does not change anything for the citations compared to style=authoryear except for minor punctuation. At the moment I assume you have the problem described in tex.stackexchange.com/q/134535/35864 and tex.stackexchange.com/q/91225/35864, but without a complete example it is kind of hard to tell. – moewe Jul 2 '18 at 16:44
  • 2
    Please also link and attribute the style you're using if you got it by asking for help here (or elsewhere online). Context helps. – cfr Jul 3 '18 at 0:39
  • 1
    Before I have a closer look note that author = {Knobel, Michele and Lankshear, Colin (eds.)}, is a bad idea, editors should be given as editor = {Knobel, Michele and Lankshear, Colin}, instead no matter how short this makes other entries. – moewe Jul 3 '18 at 21:06
  • 1
    I'll have a look at the other issue tomorrow, but please consider asking only one thing per question in the future. That makes it easier to answer your question and makes it more relevant for other people. See also tex.meta.stackexchange.com/q/7425/35864 – moewe Jul 3 '18 at 21:17
1

After removing the unnecessary stuff and making the code compilable, the output for me is

Example sentence Knobel/Lankshear (cf. 2007: 3–6). Another example sentence (Berg 2012: 39).\Berg, Kristian (2012): “Identifying Graphematic Units. Vowel and Consonant Letters”. In: Written Language & Literacy 15.1: 26–45. Knobel, Michele/Lankshear, Colin (eds.) (2007): A New Literacies Sampler (New Literacies and Digital Epistemologies 29). New York: Peter Lang.\

so I can not reproduce the weird name issue.

But still

author = {Knobel, Michele and Lankshear, Colin (eds.)},

in knobel2007a is wrong. If the two are editors they should be marked as such properly with

editor = {Knobel, Michele and Lankshear, Colin},

Biber/BibTeX can get confused parsing the name with the appended (eds.) and produce weird output because of that. What you are seeing could be explained if you have a second source authored or edited by Colin Lankshear (or any other Lankshear for that matter). In that case the uniquename feature would try to distinguish Lankshear, Colin and Lanksehar, Colin (eds.) thinking that the two are different people, so it adds the name initial, because Lanksehar, Colin (eds.) is not quite the best input, Biber thinks the initials are "C. (. Lankshear" and prints that. Name disambihuation can be turned off as explained in biblatex, authoryear style: In-text citations display first name initials for certain bibliography entries and Literature with Biber generates strange citations: firstnames appear erratically.

It also seems to me as though knobel2007a is actually a @collection and not a @book. A @book is normally a work that was written in its entirety by the same set of authors, while a @collection is a, well ... collection of contributions by different authors curated by editors.

For the volume(number) thing you only need to redefine the bibmacro volume+number+eid and change the field format for number. See the MWE below.

I have slightly modernised your code for biblatex 3.11 and so with

\documentclass[paper=a4,12pt,numbers=endperiod]{scrartcl}

\usepackage[backend=biber,style=authoryear]{biblatex}
\DefineBibliographyStrings{english}{references={Bibliography}}

\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
\renewbibmacro*{byeditor+others}{%
  \ifnameundef{editor}
    {}
    {\printnames[byeditor]{editor}%
     \setunit{\addspace}%
     \usebibmacro{byeditor+othersstrg}%
     \clearname{editor}%
     \newunit}%
  \usebibmacro{byeditorx}%
  \usebibmacro{bytranslator+others}}
\renewbibmacro*{byeditor+othersstrg}{\usebibmacro{editor+othersstrg}}
\renewbibmacro*{bytranslator+othersstrg}{\usebibmacro{translator+othersstrg}}
\renewbibmacro*{bytypestrg}[2]{%
  \iffieldundef{#1type}
    {\bibstring{#2}}
    {\ifbibxstring{\thefield{#1type}}
       {\bibstring{\thefield{#1type}}}
       {\printtext{\thefield{#1type}}}}}

\DeclareDelimFormat{multinamedelim}{\addslash}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}

\DeclareDelimFormat[bib]{nametitledelim}{\addcolon\space}

\renewcommand*{\postnotedelim}{\addcolon\space}
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}

\DeclareFieldFormat{superedition}{\textsuperscript{#1}}

\renewbibmacro*{date+extradate}{%
  \iffieldundef{labelyear}
    {}
    {\usebibmacro{origdate}%
     \setunit*{\addspace}%
     \printtext[parens]{%
       \iflabeldateisdate
         {\iffieldnum{edition}
            {\printfield[superedition]{edition}%
             \global\clearfield{edition}}
            {}%
          \printdateextra}
         {\printlabeldateextra}}}}

\newbibmacro*{origdate}{%
  \iffieldundef{origyear}
    {}
    {\printtext[brackets]{\printorigdate}}}

\renewcommand*{\bibpagespunct}{\addcolon\space}
\DeclareFieldFormat{pages}{#1}

\DeclareNameAlias{sortname}{family-given}

\DeclareFieldFormat[article,periodical]{number}{\mkbibparens{#1}}
\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  %\setunit*{\adddot}%<- comment this
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@collection{knobel2007a,
  title     = {A New Literacies Sampler},
  editor    = {Knobel, Michele and Lankshear, Colin},
  keywords  = {sek},
  location  = {New York},
  publisher = {Peter Lang},
  year      = {2007},
  series    = {New Literacies and Digital Epistemologies},
  number    = {29},
}
@article{berg2012a,
  title    = {Identifying Graphematic Units. Vowel and Consonant Letters},
  author   = {Berg, Kristian},
  journal  = {Written Language \& Literacy},
  keywords = {sek},
  number   = {1},
  pages    = {26--45},
  volume   = {15},
  year     = {2012}
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
Example sentence \textcite[cf.][3--6]{knobel2007a}.
Another example sentence \parencite[][39]{berg2012a}.

\printbibliography
\end{document}

we obtain

Example sentence Knobel/Lankshear (cf. 2007: 3–6). Another example sentence (Berg 2012: 39).\Berg, Kristian (2012): “Identifying Graphematic Units. Vowel and Consonant Letters”. In: Written Language & Literacy 15(1): 26–45.\Knobel, Michele/Lankshear, Colin (eds.) (2007): A New Literacies Sampler. New Literacies and Digital Epistemologies 29. New York: Peter Lang.

  • I have copied your solution and everything worked great until yesterday. Now, my file doesn't compile any more but gives me two warnings and two errors: Error: Undefined control sequence. \DeclareDelimAlias Error: Missing \begin{document}. \DeclareDelimAlias{f Warning: Delimiter 'multinamedelim' in context 'bib' already defined, overwriting Warning: Delimiter 'nametitledelim' in context 'bib' already defined, overwriting Also, my JabRef doesn't offer @Collection (strangely just @Incollection) but even if I change the entries in question manually, the errors/warnings remain. – LajosH Sep 4 '18 at 15:00
  • @LajosH Error: Undefined control sequence. \DeclareDelimAlias suggests that your biblatex version is outdated. It would surprise me if the code worked before on the same installation, though. – moewe Sep 4 '18 at 15:18
  • That's why I am so confused as well! It worked until it didn't anymore... I've checked and biber is version 2.6 but I cannot find the 3.11 version for fedora =( Is there a possibility to make the code compatible to 2.6? – LajosH Sep 5 '18 at 10:42
  • @LajosH Biber 2.6 works together with biblatex 3.5 and 3.6. biblatex 3.6 was released two years ago, so maybe it is time for an update. Most changes I applied were just to modernise your code. You can take your old code from your question. If I'm not mistaken the only stuff I added was \DeclareFieldFormat[article,periodical]{number}{\mkbibparens{#1}} and the \renewbibmacro*{volume+number+eid} block, which should work even in older versions. Just copy that bit. – moewe Sep 5 '18 at 10:49
  • @LajosH Since I don't have biblatex 3.6 I can't test the code, but gist.github.com/moewew/2e80191d73f380c19bf4060c35db11f8 should more or less work. It should definitely not throw errors about \DeclareDelimAlias. – moewe Sep 5 '18 at 11:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.