제목별로 참고문헌의 인용 그룹화

제목별로 참고문헌의 인용 그룹화

나는 수년에 걸쳐 여러 날짜에 발행된 동일한 이름의 신문/정기간행물을 여러 번 참조하는 논문을 작성하고 있습니다. 나는 동일한 정기간행물에 대한 참고문헌 항목이 서로 가깝고 다른 정기간행물의 다른 항목과 분리되도록 이러한 참고문헌을 정기간행물 이름으로 그룹화하려고 합니다.

나는 biblatex 문서를 광범위하게 살펴보았는데 내가 찾을 수 있는 유일한 관련 정보는 길이 레지스터 bibnamesep뿐 이었습니다 bibitemsep. 이것은 내가 필요한 것을 정확히 수행하는 것 같습니다. 동일한 제목을 가진 정기 간행물에 대한 bibitem은 그렇지 않은 bibitem보다 서로 더 가까워야 합니다. 여기서 유일한 문제는 bibnamesep이 이름 부분과 고유성 템플릿을 사용하여 (제목이 아닌) 작가 이름으로 작품을 그룹화하는 것 같다는 것입니다.

이것은 내 MWE입니다.

\documentclass[12pt]{article}
\usepackage{lipsum}
\usepackage[T1]{fontenc} % Specify font encoding
\usepackage[utf8]{inputenc} % Specify encoding (for example, UTF-8)
\usepackage[dashed=false,sorting=nyt,style=verbose,labeldateparts=true,uniquelist=true,uniquename=true,singletitle=true]{biblatex}
% Preamble - Here you can load packages and define settings
\usepackage[english]{babel}

\begin{filecontents*}[overwrite]{mwe.bib}
  @periodical{TheSun:20220101,
    title = {The Sun},
    date  = {2022-01-01}
  }
  @periodical{TheTimes:20220601,
  title = {The Sun},
    date  = {2022-06-01}
  }
  @periodical{TheTimes:20220901,
  title = {The Sun},
    date  = {2022-09-01}
  }

  @periodical{TheGuardian:20210217,
    title = {The Guardian},
    date  = {2021-02-17}
  }
  @periodical{TheGuardian:20210311,
    title = {The Guardian},
    date  = {2021-03-11}
  }
  @periodical{TheGuardian:20210410,
    title = {The Guardian},
    date  = {2021-04-10}
  }

  @periodical{TheAlmanac:202302,
    title = {The Almanac},
    date  = {2023-02}
  }
  @periodical{TheAlmanac:202303,
    title = {The Almanac},
    date  = {2023-03}
  }
  @periodical{TheAlmanac:202304,
    title = {The Almanac},
    date  = {2023-04}
  }
\end{filecontents*}

\addbibresource{mwe.bib}

\DeclareSortingTemplate{TitleYear}{
  \sort{
    \field{title}
  }
  \sort{
    \field{sortyear}
    \field{year}
    \literal{9999}
  }
  \sort{
    \field{month}
  }
  \sort{
    \field{day}
  }
}

\begin{document}

\bibitemsep=1pt
\bibnamesep=30pt

\nocite{*}
\begin{refcontext}[sorting=TitleYear]
  \printbibliography
\end{refcontext}

\end{document}

@periodical여기에는 The Sun 3개, The Guardian 3개, The Almanac 3개 등 9개의 항목이 포함되어 있습니다 . 정렬 템플릿을 사용하여 정기 간행물 제목별로 항목을 정렬하고 \bibitemsep및 를 \bibnamesep각각 1pt와 30pt로 설정합니다.이건 내가 출근할 수 없는 부분이야:

여기에 이미지 설명을 입력하세요

위 이미지에서 볼 수 있듯이 참조 항목 사이에는 모두 30pt가 있는 반면, "The Almanac" 비비트 항목에는 1pt가 있지만 "The Almanac"과 "The Guardian"을 30pt로 구분하고 싶습니다.

답변1

\bibnamesep에 인코딩된 것과 다른 이름을 가진 항목 사이에만 적용됩니다 fullhash. 이를 로 변경하려면 title구분 기호를 설정하는 관련 내부 매크로를 (로컬에서) 재정의해 볼 수 있습니다.

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[
  style=verbose,
  sorting=nyt,
  dashed=false,
  labeldateparts=true,
  uniquelist=true,uniquename=true,
  singletitle=true,
]{biblatex}


\makeatletter
\def\blx@namesep@title{%
  \ifnum\c@instcount>\@ne
    \blx@imc@iffieldequals{title}\blx@prevtitle
      {}
      {\addvspace{\bibnamesep}}%
  \fi
  \global\let\blx@prevtitle\abx@field@title}

\newcommand*{\NamesepByTitle}{\let\blx@namesep\blx@namesep@title}
\makeatother


\DeclareSortingTemplate{TitleYear}{
  \sort{
    \field{title}
  }
  \sort{
    \field{sortyear}
    \field{year}
    \literal{9999}
  }
  \sort{
    \field{month}
  }
  \sort{
    \field{day}
  }
}

\begin{filecontents*}[overwrite]{\jobname.bib}
@periodical{TheSun:20220101,
  title = {The Sun},
  date  = {2022-01-01}
}
@periodical{TheTimes:20220601,
title = {The Sun},
  date  = {2022-06-01}
}
@periodical{TheTimes:20220901,
title = {The Sun},
  date  = {2022-09-01}
}

@periodical{TheGuardian:20210217,
  title = {The Guardian},
  date  = {2021-02-17}
}
@periodical{TheGuardian:20210311,
  title = {The Guardian},
  date  = {2021-03-11}
}
@periodical{TheGuardian:20210410,
  title = {The Guardian},
  date  = {2021-04-10}
}

@periodical{TheAlmanac:202302,
  title = {The Almanac},
  date  = {2023-02}
}
@periodical{TheAlmanac:202303,
  title = {The Almanac},
  date  = {2023-03}
}
@periodical{TheAlmanac:202304,
  title = {The Almanac},
  date  = {2023-04}
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\begin{document}
\bibitemsep=1pt
\bibnamesep=30pt

\nocite{*}
\begin{refcontext}[sorting=TitleYear]
  \NamesepByTitle
  \printbibliography
\end{refcontext}

\end{document}

그룹화된 참고문헌 목록입니다.

관련 정보