參考書目驅動程式 - 糾錯

參考書目驅動程式 - 糾錯

我編寫了一個參考書目驅動程式來在參考書目中輸出@jurisdiction。 @jurisdiction 已在 jura2 中定義。唯獨司機失蹤了。

我的解決方法有機構和第一個 \textendash 未顯示的問題。

IS:Urteil vom 27。 III 1952,S. 122。 III 1952 年,S.122。

\documentclass[paper=a4, 12pt, parskip=half]{scrreprt}

\begin{filecontents}{literatur.bib}
  @jurisdiction{IV35651U,
gericht = {BFH},
dokumententyp = {Urteil},
entscheidungsdatum = {1952-03-27},
aktenzeichen = {IV R 356/51 U},
fundstelle = {BStBl. III 1952, S. 122},
}
\end{filecontents}

\usepackage{polyglossia}
\setdefaultlanguage[spelling=new,babelshorthands=true]{german}
\usepackage{luacode}
%\setromanfont{Arial}
%\setsansfont{Arial}
\usepackage[backend=biber,style=jura2,sorting=nty]{biblatex}  
\addbibresource{literatur.bib}


% ----------------------------------------------------------------------------
% Driver; @jurisdiction;biblatex backend=biber style=jura2
% ----------------------------------------------------------------------------
\DeclareBibliographyDriver{jurisdiction}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \printfield{institution}%
  \setunit{\textendash}%
  \printfield{usera}%
  \setunit{\addspace}%
  \printtext{vom}%
  \setunit{\addspace}%
  \usebibmacro{date}%
  \setunit{\addspace\textendash\addspace}%
   \printfield{userb}%
   \setunit{\addcomma\addspace}%
   \printfield{userd}%
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}} 
  
  \begin{document}
 
 Referenz\footcite[][]{IV35651U} 
 
  \printbibliography %[nottype=jurisdiction]
  \end {document}

從 jura 2 的 .bbx 檔案中提取

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Änderungen betr. 'jurisdiction'
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\DeclareStyleSourcemap{
  \maps[datatype=bibtex]{
  \map[overwrite=false]{
    \pertype{jurisdiction}
    \step[fieldsource=gericht,
          fieldtarget=institution]
    \step[fieldsource=dokumententyp,
          fieldtarget=usera]
    \step[fieldsource=entscheidungsdatum,
          fieldtarget=date]
    \step[fieldsource=aktenzeichen,
          fieldtarget=userb]
    \step[fieldsource=datenbank,
          fieldtarget=userc]
    \step[fieldsource=fundstelle,
          fieldtarget=userd]
    \step[fieldsource=ecli,
          fieldtarget=usere]
    \step[fieldsource=entscheidungsname,
          fieldtarget=userf]
  }}}

答案1

你需要

  \printlist{institution}%

而不是\printfield{institution}%在驅動程式中。您需要將\print<type>命令與<type>相關欄位相符。institution是一個文字列表,所以\printlist這裡是必需的。

我無法用您的程式碼精確測試這一點,因為我沒有 Arial,這是我無法存取的商業字體。但是,使用預設字體,可以看到此修改解決了該問題。

書目條目中的機構

\documentclass[paper=a4, 12pt, parskip=half]{scrreprt}

\begin{filecontents}{literatur.bib}
  @jurisdiction{IV35651U,
gericht = {BFH},
dokumententyp = {Urteil},
entscheidungsdatum = {1952-03-27},
aktenzeichen = {IV R 356/51 U},
fundstelle = {BStBl. III 1952, S. 122},
}
\end{filecontents}

\usepackage{polyglossia}
\setdefaultlanguage[spelling=new,babelshorthands=true]{german}
\usepackage{luacode}
\usepackage[backend=biber,style=jura2,sorting=nty]{biblatex}  
\addbibresource{literatur.bib}
\DeclareBibliographyDriver{jurisdiction}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \printlist{institution}%
  \setunit{\textendash}%
  \printfield{usera}%
  \setunit{\addspace}%
  \printtext{vom}%
  \setunit{\addspace}%
  \usebibmacro{date}%
  \setunit{\addspace\textendash\addspace}%
  \printfield{userb}%
  \setunit{\addcomma\addspace}%
  \printfield{userd}%
  \iftoggle{bbx:related}
  {\usebibmacro{related:init}%
    \usebibmacro{related}}
  {}%
  \usebibmacro{finentry}} 

\begin{document}
  
Referenz\footcite[][]{IV35651U} 

\printbibliography 
\end{document}

相關內容