¿Se pueden utilizar títulos de entradas relacionadas tanto en la bibliografía como en las listas de abreviaturas?

¿Se pueden utilizar títulos de entradas relacionadas tanto en la bibliografía como en las listas de abreviaturas?

Este es un seguimiento de 2 preguntas respondidas:¿Se pueden configurar 2 tipos de listas taquigráficas en biblatex?y¿Se puede usar biblatex para imprimir solo el título de una entrada relacionada en la bibliografía?

Estoy tratando de combinar estas respuestas para producir una lista seccionada de abreviaturas y una bibliografía seccionada.

Me gustaría que la sección de abreviaturas de las obras de Frege no incluyera los títulos en alemán sino los títulos relacionados en inglés.

La respuesta de David Purton a la segunda pregunta, al definir a relatedtype={englishtitle}y a, \newbibmacro*{related:englishtitle}resuelve el problema de que las entradas de Frege en la bibliografía den los títulos en inglés.

En el MWE a continuación intenté instalar \usebibmacro{related:englishtitle}un nuevo controlador \DeclareBibliographyDriver{fregeabbrevs}para imprimir los títulos de Frege en inglés en la sección de la lista de abreviaturas:

\documentclass{book}

\usepackage[backend=biber,style=authoryear]{biblatex}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}

@Inproceedings{Frege1897a,
  author        = {Frege, Gottlob},
  title         = {Über die Begriffsschrift des Herrn Peano und meine eigene},
  booktitle     = {Berichte über die Verhandlungen der Königlich Sächsischen Gesellschaft der Wissenschaften zu Leipzig: Mathematisch-physische Klasse},
  date          = {1897},
  pages         = {361--378},
  volume        = {48},
  related       = {Frege1984h},
  relatedtype   = {englishtitle},
  shorthand     = {PCN},
}
@Inbook{Frege1984h,
  author   = {Frege, Gottlob},
  title    = {On Mr. Peano's Conceptual Notation and My Own},
  date     = {1984},
  pages    = {234--248},
  crossref = {Frege1984},
}
@Book{Frege1984,
  author     = {Frege, Gottlob},
  title      = {Collected Papers on Mathematics, Logic, and Philosophy},
  date       = {1984},
  location   = {Oxford},
  publisher  = {Blackwell},
  translator = {Black, Max},
  editor     = {McGuinness, Brian},
  shorthand  = {CP},
}
@Article{Moore1899,
  author       = {Moore, G. E.},
  title        = {The Nature of Judgment},
  journaltitle = {Mind},
  date         = {1899},
  volume       = {8},
  number       = {30},
  pages        = {176--193},
  shorthand    = {NJ},
}
@Book{Lewis1918,
  author         = {Lewis, C. I.},
  title          = {A Survey of Symbolic Logic},
  date           = {1918},
  location       = {Berkeley, CA},
  publisher      = {University of California Press},
  series         = {Semicentennial publications of the University of California, 1868-1918},
  shorthand  = {SL}
}
@Collection{Beaney2013,
  editor    = {Michael Beaney},
  title     = {The Oxford Handbook of the History of Analytic Philosophy},
  date      = {2013},
  publisher = {Oxford University Press},
  location  = {Oxford},
}

\end{filecontents}
\addbibresource{\jobname.bib}

% Main primary sources categories
\newcommand*{\generateauthorcategory}[3]{%   
    \DeclareBibliographyCategory{by#1}%   
    \DeclareIndexNameFormat{cat#1}{%     
        \ifboolexpr{
            test {\ifdefstring{\namepartfamily}{#2}}         
            and 
            test {\ifdefstring{\namepartgiven}{#3}}
        }%
        {\addtocategory{by#1}{\thefield{entrykey}}}       
        {}}%   
    \AtDataInput{\indexnames[cat#1][1-999]{author}}}

\generateauthorcategory{frege}{Frege}{Gottlob}
\generateauthorcategory{moore}{Moore}{G.\bibnamedelimi E.}

% Filter for other, i.e., not main, primary sources
\defbibfilter{notmainprimary}{%
not category=byfrege %
and not category=bymoore %
}

% Check to distinguish primary from secondary sources
\defbibcheck{primarysource}{%
\iffieldint{year}
{\ifnumless{\thefield{year}}{1936}
{}
{\skipentry}}
{\skipentry}}
\defbibcheck{secondarysource}{%
\iffieldint{year}
{\ifnumgreater{\thefield{year}}{1935}
{}
{\skipentry}}
{\skipentry}}

% Generating entries for the 3 abbreviations lists
\DeclareBiblistFilter{fregeabbrevs}{
    \filter[type=field,filter=shorthand]
}
\DeclareBiblistFilter{mainabbrevs}{
    \filter[type=field,filter=shorthand]
}
\DeclareBiblistFilter{moreabbrevs}{
    \filter[type=field,filter=shorthand]
}

% Sorting the abbreviations lists
\DeclareSortingTemplate{fregeabbrevs}{ \sort[final]{ \field{sortshorthand} } \sort{ \field{shorthand} } }
\DeclareSortingTemplate{mainabbrevs}{ \sort[final]{ \field{sortshorthand} } \sort{ \field{shorthand} } }
\DeclareSortingTemplate{moreabbrevs}{ \sort[final]{ \field{sortshorthand} } \sort{ \field{shorthand} } }

%
\newbibmacro*{related:englishtitle}[1]{%
  \entrydata{#1}{%
    \printtext{English title:}%
    \setunit{\addspace}%
    \usebibmacro{title}}}

% Drivers for printing abbreviations lists
\DeclareBibliographyDriver{fregeabbrevs}{%   
\usebibmacro{related:englishtitle}%   
\newunit\newblock   
\printdate}
\DeclareBibliographyDriver{mainabbrevs}{%   
\usebibmacro{title}%   
\newunit\newblock   
\printdate}
\DeclareBibliographyDriver{moreabbrevs}{%
\renewbibmacro*{date+extradate}{}%
\usebibmacro{author/editor+others/translator+others}%
\setunit{\addcomma\space}\newblock
\usebibmacro{title}%
\setunit{\addcomma\space}\newblock
\printdate}

% Environment for abbreviation lists, to italicize by \emph the shorthands
\defbibenvironment{abbrevs}
{\list
{\printfield[shorthandwidth]{shorthand}}
{\setlength{\labelwidth}{\shorthandwidth}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\labelsep}{\biblabelsep}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}%
\renewcommand*{\makelabel}[1]{\emph{##1}\hss}}}
{\endlist}
{\item}

% Titles for 4 parts of Bibliography: two main authors, other primary sources, secondary sources
\defbibheading{subbibtitleonly}[\bibname]{%
\section*{#1}}

\begin{document}
\chapter*{Abbreviations}

Full details of these works are in the Bibliography.

\printbiblist[env=abbrevs,title={Works of Frege}, heading=subbibtitleonly, category=byfrege]{fregeabbrevs}
\printbiblist[env=abbrevs,title={Works of Moore}, heading=subbibtitleonly, category=bymoore]{mainabbrevs}
\printbiblist[env=abbrevs,title={Other Primary Works}, heading=subbibtitleonly, check=primarysource, notcategory=byfrege, notcategory=bymoore]{moreabbrevs}

\nocite{Frege1897a,Moore1899,Lewis1918,Beaney2013}

\chapter*{Bibliography}

\printbibliography[title={Works by Frege}, heading=subbibtitleonly, category=byfrege]
\printbibliography[title={Works by Moore}, heading=subbibtitleonly, category=bymoore]
\printbibliography[title={Other Primary Sources}, heading=subbibtitleonly, check=primarysource, notcategory=byfrege, notcategory=bymoore]
\printbibliography[title={Secondary Sources}, heading=subbibtitleonly, check=secondarysource, notcategory=byfrege, notcategory=bymoore]

\end{document}

Pero el resultado no arroja ningún título:

ingrese la descripción de la imagen aquí

Entonces, ¿cómo poner el título en inglés, "Sobre la notación conceptual del Sr. Peano y la mía", después dePCN, y antes de la fecha?

Otro par de preguntas:

  • Hay un punto después de "La naturaleza del juicio", pero una coma despuésUn estudio de la lógica simbólica; ¿Cómo puedo hacer que sean comas uniformes?
  • ¿Se puede hacer que la coma aparezca dentro de la cita final del título, es decir: "La naturaleza del juicio"?

Respuesta1

Usar

\DeclareBibliographyDriver{fregeabbrevs}{%   
  \iffieldequalstr{relatedtype}{englishtitle}
    {\entrydata{\thefield{related}}{\usebibmacro{title}}}
    {}%   
  \newunit\newblock   
  \printdate}

para obtener el título en inglés.

Su puntuación no es uniforme porque todas \DeclareBibliographyDriverlas s \DeclareBibliographyDriver{moreabbrevs}se usan \newunitmientras que las segundas usan \setunit{\addcomma\space}. Puede definir \renewcommand*{\newunitpunct}{\addcomma\space}y utilizar \newunit; o lo usas \setunit{\addcomma\space}en todas partes. Lo que es mejor depende de lo que desee en la bibliografía real. Si también desea comas allí, utilice \renewcommand*{\newunitpunct}{\addcomma\space}; Si desea mantener los puntos allí, debe buscar explícito \setunit{\addcomma\space}en otro lugar.

La coma se mueve dentro de las comillas si carga babelcon la americanopción de idioma.

información relacionada