짧은 턱끈을 각주 인용의 다음 줄로 이동

짧은 턱끈을 각주 인용의 다음 줄로 이동

\footcite참고문헌 데이터를 각주에 넣으려면 명령과 함께 BibLaTeX를 사용하고 있습니다 . 줄 끝에 짧은 키워드 "W:"("In:"의 번역)를 배치하는 것을 피하고 싶습니다. 이 행은 \renewcommand{\intitlepunct}{\addcolon\nobreakspace}명령을 사용하여 배치된 참고문헌의 내용에만 영향을 미칩니다 \printbibliography(참조:참고문헌의 턱받이 스트링 직후 줄 바꿈 방지).

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

BibLaTeX 패키지 문서(106페이지)에 따르면 카운터 highnamepenaltylownamepenalty초기 이름 문자와 성(?) 사이의 줄 바꿈을 방지하도록 설정할 수 있습니다. 이름 이니셜("i"라는 단어와 함께 "and"의 번역)을 성과 같은 줄에 배치하는 다른 방법이 있습니까? \setcounter{highnamepenalty}{10000}및 을 설정해 보았지만 \setcounter{lownamepenalty}{0}기대한 효과는 없었습니다. 내 MWE:

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[polish]{babel}
\usepackage{polski}
\usepackage[style=verbose]{biblatex}

\usepackage{filecontents}
\begin{filecontents}{mylist.bib}
@inbook{gumplowicz2010,
    author =    {Gumplowicz, L.},
    title =     {O naturalnym prawie kształtowania się państw},
    booktitle = {Dwa życia Ludwika Gumplowicza. Wybór tekstów},
    editor =    {Mozetič, G. and Surman, J.},
    editortype =    {redactor},
    location =  {Warszawa},
    year =      {2010},
}
\end{filecontents}
\addbibresource{mylist.bib}

\setlength{\textwidth}{115mm}

\renewcommand{\intitlepunct}{\addcolon\nobreakspace}    % has no impact on output

\begin{document}
Some text\footcite{gumplowicz2010}.
\end{document}

답변1

이름 이니셜과 성 사이에 줄 바꿈을 표시하지 않으려면 설정해야 합니다 lownamepenalty. highnamepenalty동일한 이름 부분의 다른 비트에 대한 것이므로 두 개의 이름을 구분합니다. 그래서 당신은 필요합니다

\defcounter{lownamepenalty}{10000}

'J.'에서 줄 바꿈을 억제합니다. 서먼'. 하지만 'i'를 'J'에 연결하고 싶을 수도 있습니다. Surman', 추가로 필요한 사항

\DeclareDelimFormat{finalnamedelim}{%
  \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
  \addspace\bibstring{and}\nobreakspace}

원래 정의는 here \space대신에 있습니다 \nobreakspace.

'W:'의 경우 이야기가 좀 더 흥미롭습니다. 사실은

\renewcommand{\intitlepunct}{\addcolon\nobreakspace}

올바른 일을 하지만 \intitlepunct다른 구두점과 약간 다르게 처리되기 때문에 그 효과가 무효화됩니다. 이 문제를 해결할 수 있습니다.

\renewbibmacro*{in:}{%
  \printtext{%
    \bibstring{in}\printunit{\intitlepunct}}}

덧붙여서, @incolletion(이것은아마어쨌든 올바른 항목 유형) 대신 @inbook다른 처리를 \intitlepunct명백하게 만들지는 않습니다.

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[polish]{babel}
\usepackage{polski}
\usepackage[style=verbose]{biblatex}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@inbook{gumplowicz2010,
  author     = {Gumplowicz, L.},
  title      = {O naturalnym prawie kształtowania się państw},
  booktitle  = {Dwa życia Ludwika Gumplowicza. Wybór tekstów},
  editor     = {Mozetič, G. and Surman, J.},
  editortype = {redactor},
  location   = {Warszawa},
  year       = {2010},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\setlength{\textwidth}{115mm}

\defcounter{lownamepenalty}{10000}

\renewcommand{\intitlepunct}{\addcolon\nobreakspace}
\renewbibmacro*{in:}{%
  \printtext{%
    \bibstring{in}\printunit{\intitlepunct}}}

\DeclareDelimFormat{finalnamedelim}{%
  \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
  \addspace\bibstring{and}\nobreakspace}

\begin{document}
Some text\footcite{gumplowicz2010}.
\end{document}

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

관련 정보