bookinbook の書誌 -- 行方不明の著者

bookinbook の書誌 -- 行方不明の著者

次の MWE を試してください。

%!TEX TS-program = lualatexmk
\documentclass{scrartcl}
\usepackage{fontspec}
\usepackage[backend=biber,style=authortitle-comp,abbreviate=false]{biblatex}
\usepackage{biblatex-bookinarticle}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{plato:complete,
    Author = {Plato},
    Editor = {John M. Cooper},
    Keywords = {Primary Source},
    Location = {Indianapolis},
    Publisher = {Hacket Publishing Company},
    Title = {Complete Works},
    Year = {1997}}
@bookinbook{plato:dialogue,
    Author = {Plato},
    Crossref = {plato:complete},
    Pages = {156--191},
    Title = {Dialogue},
    Titleaddon = {\bibstring{bytranslator} Donald J. Zeyl}}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
These are the complete works: \cite{plato:complete}. They contain the following text: \cite{plato:dialogue}.
\printbibliography
\end{document}

結果は次のようになります:

著者名がありません

この結果は本当に意図的なものなのでしょうか?つまり、私たちは本当に「プラトン」という名前を望んでいるのでしょうか?ない全集」と対話の参考文献に書くべきでしょうか? 次のように書くべきではないでしょうか:

ここに画像の説明を入力してください

答え1

デフォルトでは、bookauthorが と一致する場合はを印刷しませんauthor( を参照biblatex.def)

\newbibmacro*{bybookauthor}{%
  \ifnamesequal{author}{bookauthor}
    {}
    {\printnames{bookauthor}}}

追加するだけ

\renewbibmacro*{bybookauthor}{\printnames{bookauthor}}

あなたの前文に を追加すると、bookauthor常に表示されます。

関連情報