Come regolare lo stile APA di BibLaTeX per formattare correttamente i riferimenti di giornali o siti Web in base allo stile APA

Aug 21 2020

Sto usando lo stile BibLaTeX APA per citare e generare una bibliografia per un incarico universitario. Tuttavia, trovo problemi nel modo in cui i giornali e i siti Web vengono visualizzati nella bibliografia rispetto ai riferimenti ai siti Web APA e ai riferimenti ai giornali APA .

Il codice di esempio è:

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc} % Required for inputting international characters
\usepackage[T1]{fontenc} % Output font encoding for international characters
\usepackage[american]{babel}
\usepackage[autostyle=true]{csquotes} % Required to generate language-dependent quotes in the bibliography
\usepackage[style=apa, backend=biber]{biblatex}
%\usepackage[backend=biber,style=authoryear,citestyle=apa]{biblatex}
\addbibresource{bib_test_lib.bib} % The filename of the bibliography
\begin{document}

Add citations for bibliography to appear \parencite{thomasWhyDidAirbus2019, wallHowAirbusA3802019}.

Also over-rode addinfo2 macro to stop [newspaper], [magazine] etc. being appended to the title field - \textbackslash renewbibmacro*{addinfo2}\{\}.
\renewbibmacro*{addinfo2}{}
\printbibliography[title=References]

Should be (with incorrect indentations):
\section*{References should be}
\noindent Thomas, D. (2019, February 14). Why did the Airbus A380 fail? \emph{BBC News.} https:/\slash www.bbc.com\slash news\slash business-47225789

\noindent Wall, R., \& Michaels, D. (2019, February 19). How Airbus’s A380 Went From Wonder to Blunder; World’s largest passenger plane was hurt by misjudged market trends, internal dysfunction and production problems. \emph{Wall Street Journal (Online)}.

\end{document}

Il contenuto del file bibliografico (generato da Zotero) è:


@article{thomasWhyDidAirbus2019,
  title = {Why Did the {{Airbus A380}} Fail?},
  author = {Thomas, Daniel},
  date = {2019-02-14},
  journaltitle = {BBC News},
  url = {https://www.bbc.com/news/business-47225789},
  urldate = {2020-08-20},
  abstract = {It was billed as the future of air travel, but airlines increasingly saw the jet as too big and inefficient.},
  entrysubtype = {newspaper},
  file = {D\:\\Users\\Michael\\Zotero\\storage\\R3NSWI6X\\business-47225789.html},
  journalsubtitle = {Business},
  langid = {british}
}

@online{wallHowAirbusA3802019,
  title = {How {{Airbus}}'s {{A380 Went From Wonder}} to {{Blunder}}; {{World}}'s Largest Passenger Plane Was Hurt by Misjudged Market Trends, Internal Dysfunction and Production Problems},
  author = {Wall, Robert and Michaels, Daniel},
  date = {2019-02-19},
  journaltitle = {Wall Street Journal (Online)},
  file = {D\:\\Users\\Michael\\Zotero\\storage\\BEVIACL9\\18.html}
}

Le voci bibliografiche generate vengono visualizzate come (con rientri errati):

Thomas, D. (2019). Perché l'Airbus A380 ha fallito? BBC News: affari. Estratto il 20 agosto 2020 dahttps://www.bbc.com/news/business-47225789

Wall, R., & Michaels, D. (2019, 19 febbraio). Come l'A380 di Airbus è passato dalla meraviglia all'errore; L'aereo passeggeri più grande del mondo è stato danneggiato da tendenze di mercato valutate male, disfunzioni interne e problemi di produzione.

Dove dovrebbe apparire la bibliografia come:

Thomas, D. (2019, 14 febbraio). Perché l'Airbus A380 ha fallito? Notizie della BBC. https://www.bbc.com/news/business-47225789

Wall, R., & Michaels, D. (2019, 19 febbraio). Come l'A380 di Airbus è passato dalla meraviglia all'errore; L'aereo passeggeri più grande del mondo è stato danneggiato da tendenze di mercato valutate male, disfunzioni interne e problemi di produzione. Wall Street Journal (in linea).

Il riferimento "Thomas", etichettato come giornale, dovrebbe avere un campo data lungo dopo l'autore. Nel riferimento "Muro" manca il titolo del sito web.

Sarei soddisfatto se potessi cambiare la voce del giornale per utilizzare il formato di data lunga (in questo modo potrei riclassificare la pagina Web sopra come un giornale), ma mi perdo a cercare nel apa.bbxfile per scoprire cosa sta succedendo qui.

Sto usando Windows 10, MiKTeX Console 4.01, TeXstudio 2.12.22 e ho aggiornato tutti i pacchetti il ​​21 AGOSTO 20 prima di porre la domanda.

PS Vale la pena segnalare un problema su CTAN, poiché il pacchetto di stile APA non corrisponde agli esempi di stile APA sul loro sito web?

Risposte

1 moewe Aug 21 2020 at 21:32

Come dice Ulrike Fischer nei commenti , i bug nei pacchetti dovrebbero essere segnalati all'autore / sviluppatore / manutentore e non al CTAN. Di solito la pagina CTAN o la documentazione ti dicono dove segnalare i bug. Il biblatex-apamodo migliore per segnalare bug è tramitehttps://github.com/plk/biblatex-apa/issues.

In caso di biblatex-apadeviazioni dai requisiti APA dovrebbero essere visti come bug e segnalati come tali.

Come Ulrike, non capisco bene perché wallHowAirbusA3802019sia una @onlinevoce. Prima di tutto, è apparso in un mezzo di notizie online non diverso da BBC News (per il quale hai usato @article, che si adatta molto meglio) e in secondo luogo, la voce in questione non ha nemmeno un urlcampo. (Direi che in generale una @onlinevoce dovrebbe avere almeno un campo url, doio eprint.)

Le somiglianze strutturali tra le tue due voci suggeriscono che dovrebbero utilizzare la stessa configurazione generale: farei entrambe le cose @article.

Come discusso in Mostra data in bibliografia quando si cita da un giornale online (APA) ehttps://github.com/plk/biblatex-apa/issues/116al momento il modo migliore per fornire un riferimento a un giornale non accademico è aggiungere la nonacademicparola chiave. Questo cambierà nelle versioni future di biblatex-apa: È quindi possibile utilizzare il più naturaleentrysubtype = {nonacademic}, invece di keywords = {nonacademic},.

Per la data di accesso all'URL, il manuale dell'APA dice https://apastyle.apa.org/style-grammar-guidelines/references/elements-list-entry#retrieval

Date di recupero

Includere una data di recupero solo se il lavoro non è archiviato e progettato per cambiare nel tempo. La maggior parte dei riferimenti non include le date di recupero. Esempi di alcuni che lo fanno sono nel Capitolo 10 del Manuale di pubblicazione e nella pagina degli esempi di riferimento.

questo non sembra essere un criterio che può essere automatizzato, quindi attualmente la posizione biblatex-apaè di stampare il urldatese è presente e chiedere all'autore del .bibfile di rimuoverlo urldatese non è appropriato secondo le regole APA.

Se desideri un .bibfile più portabile in cui urldateviene sempre fornito, puoi definire una nuova opzione di attivazione apashowurldateche deve essere presente per mostrare la data di accesso, altrimenti viene ignorata. (L'esempio aggiuntivo di seguito è basato suhttps://apastyle.apa.org/style-grammar-guidelines/references/examples/webpage-website-references)

\listfiles
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}
\usepackage[autostyle=true]{csquotes}
\usepackage[style=apa, backend=biber]{biblatex}

\newtoggle{apa:showurldate}
\DeclareEntryOption[boolean]{apashowurldate}[true]{%
  \settoggle{apa:showurldate}{#1}}

\renewbibmacro*{url+urldate}{%
  \ifthenelse{\iffieldundef{url}\OR\NOT\iffieldundef{doi}}
    {}
    {\ifboolexpr{not togl {apa:showurldate} or test {\iffieldundef{urlyear}}}
      {}
      {\bibstring{retrieved}%
       \setunit{\addspace}%
       \printurldate
       \setunit{\urldatecomma}%
       \bibstring{from}%
       \setunit{\addspace}}%
     \iffieldundef{url}{}{\printfield{url}\renewcommand*{\finentrypunct}{\relax}}}}


\begin{filecontents}{\jobname.bib}
@article{thomasWhyDidAirbus2019,
  title           = {Why Did the {Airbus A380} Fail?},
  author          = {Thomas, Daniel},
  date            = {2019-02-14},
  journaltitle    = {BBC News},
  url             = {https://www.bbc.com/news/business-47225789},
  urldate         = {2020-08-20},
  abstract        = {It was billed as the future of air travel,
                     but airlines increasingly saw the jet as too big and inefficient.},
  keywords        = {nonacademic},
  langid          = {british},
}
@article{wallHowAirbusA3802019,
  title        = {How {Airbus's A380} Went From Wonder to Blunder;
                  World's Largest Passenger Plane Was Hurt by Misjudged Market Trends,
                  Internal Dysfunction and Production Problems},
  author       = {Wall, Robert and Michaels, Daniel},
  date         = {2019-02-19},
  journaltitle = {Wall Street Journal (Online)},
  keywords     = {nonacademic},
}
@online{popclock,
  author    = {{U.S. Census Bureau}},
  title     = {{U.S.} and world population clock},
  url       = {https://www.census.gov/popclock/},
  urldate   = {2020-01-09},
  options   = {apashowurldate},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
Add citations for bibliography to appear
\autocite{thomasWhyDidAirbus2019, wallHowAirbusA3802019,popclock}.

\printbibliography

Should be (with incorrect indentations):
\section*{References should be}
\noindent Thomas, D. (2019, February 14).
Why did the Airbus A380 fail? \emph{BBC News.}
https:/\slash www.bbc.com\slash news\slash business-47225789

\noindent Wall, R., \& Michaels, D. (2019, February 19).
How Airbus’s A380 Went From Wonder to Blunder;
World’s largest passenger plane was hurt by misjudged market trends,
internal dysfunction and production problems.
\emph{Wall Street Journal (Online)}.

\end{document}