Bibtex를 사용하여 Kelley의 저서 General Topology의 참고문헌 스타일을 확인하세요.

Bibtex를 사용하여 Kelley의 저서 General Topology의 참고문헌 스타일을 확인하세요.

bibliography style나는 Kelley의 책을 구하고 싶습니다.일반 토폴로지: 여기에 이미지 설명을 입력하세요 여기에 이미지 설명을 입력하세요

나는LaTeX여기분명히 Kelley의 책과 같은 사람은 없습니다.

내가 원하는 것을 얻는 것이 가능합니까?

감사해요

bibtexPD: 말하지는 않았지만 표준 , 즉 data_base.bib+ 를 사용해야 style_file.bst하지만 추가 패키지가 필요한지 상관하지 않습니다. @AlanMunn은 해당 옵션이 어렵다고 말합니다. 다른 해결책을 제시해 주시기 바랍니다. 저는 방식이 아닌 스타일에만 집중하고 있어요.

부록.

@moewe의 조언에 따라 재현하고 싶은 주요 부분이 무엇인지 강조하겠습니다. 분명 형식인데

저자(에서 sc) 인용(새 저자마다 들여쓰기 및 다시 시작)

적절한 인용 형식은 문제가 되지 않습니다. 예를 들어, 나는

제목(판), 편집, 국가(연도). 노트

책을 위해서 그리고 아마도

제목, 저널, 권(in bf) 저널의 페이지(연도),

하지만 그것은 전혀 중요하지 않습니다.

내가 갖고 싶은 분야부제자막을 제대로 쓸 수 있도록메모필드.

그리고 마지막으로 를 사용하면 \cite{kuratowski:topologie2}Kuratowski [2]를 자동으로 얻고 싶습니다.

감사해요.

답변1

나는 스타일의 '흥미로운' 부분, 즉 저자+번호 인용 및 대략적인 참고문헌 레이아웃에 중점을 두었습니다. 나머지 조정은 이 사이트에서 약간의 조사를 통해 수행할 수 있습니다.

biblatex-philosophy'를 기준으로 스타일을 정한다면 philosophy-modern인용이 '저자 연도'가 아닌 '저자 번호'인지 확인하면 됩니다.

현재로서는 이를 수행할 수 있는 간단한 방법이 생각나지 않습니다(기능 요청이 종료되었습니다:https://github.com/plk/biblatex/issues/718) 그래서 나는 다음과 같은 결론을 내렸습니다. 우리는 라벨에 저자 이름만 사용하는 알파벳 스타일을 사용하는 척합니다. 일반적으로 style=alphabetic저자 이름과 연도의 일부만 사용합니다(예: SR98, Knu84). 라벨이 모호한 경우 Biber는 extraalpha값을 계산합니다(예: Knu86, 크누86). 우리 레이블은 이름일 뿐이므로 extraalpha'Nussbaum'('Nussbaum'의 다른 작업이 없는 경우)과 'Knutha', 'Knuthb'가 표시됩니다. 이것이 extraalpha거의 우리의 숫자입니다. ('Nussbaum')이 없으면 extraalpha1을 취하고, 그렇지 않으면 extraalpha우리는 그 숫자를 사용합니다.

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=philosophy-modern, backend=biber, labelalpha, giveninits, uniquename=init, mergedate=false, volnumformat=plain]{biblatex}
\addbibresource{biblatex-examples.bib}


\DeclareLabelalphaTemplate{
  \labelelement{
    \field[final]{shorthand}
    \field{label}
    \field{labelname}
  }
}

\renewbibmacro*{relateddate}{%
  \setunit*{\addspace}%
  \printtext[parens]{\printdate}}
\renewbibmacro*{commarelateddate}{\usebibmacro{relateddate}}

\DeclareFieldFormat{extraalpha}{\mkbibbrackets{#1}}
\renewbibmacro{date+extradate}{%
  \postsepyear{%
    \usebibmacro{extralabel}}}

\newbibmacro{extralabel}{%
  \iffieldundef{extraalpha}
    {\printtext[extraalpha]{1}}
    {\printfield{extraalpha}}}

\newbibmacro{cite:extralabel}{%
  \printtext[bibhyperref]{\usebibmacro{extralabel}}}

\makeatletter
\renewbibmacro*{cite:AY:noshorthand}{%
  \ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\usebibmacro{cite:label}%
        \usebibmacro{cite:reinit}}
       {\iffieldequals{namehash}{\cbx@lasthash}
          {\setunit{\addcomma\space}%
           \usebibmacro{cite:extralabel}}
          {\printnames{labelname}%
           \setunit{\addspace}%
           \usebibmacro{cite:extralabel}%
           \savefield{namehash}{\cbx@lasthash}}}}
\makeatother

\DeclareNameAlias{sortname}{given-family}
\AtBeginBibliography{\renewcommand*{\mkbibnamefamily}{\textsc}}

\DeclareFieldFormat*{title}{\mkbibemph{#1}}
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat[article,periodical]{volume}{\mkbibbold{#1}}

\begin{document}
\cite{sigfridsson,worman,knuth:ct:a,knuth:ct:b}
\printbibliography
\end{document}

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


biblatex3.12 extraname에는 extraalpha. 위의 코드에서 extraalpha로 바꾸고 및 옵션을 삭제하기만 하면 됩니다.extraname\DeclareLabelalphaTemplatelabelalpha

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=philosophy-modern, backend=biber, giveninits, uniquename=init, mergedate=false, volnumformat=plain]{biblatex}
\addbibresource{biblatex-examples.bib}

\renewbibmacro*{relateddate}{%
  \setunit*{\addspace}%
  \printtext[parens]{\printdate}}
\renewbibmacro*{commarelateddate}{\usebibmacro{relateddate}}

\renewbibmacro{date+extradate}{%
  \postsepyear{%
    \usebibmacro{extralabel}}}

\DeclareFieldFormat{extraname}{\mkbibbrackets{#1}}
\newbibmacro{extralabel}{%
  \iffieldundef{extraname}
    {\printtext[extraname]{1}}
    {\printfield{extraname}}}

\newbibmacro{cite:extralabel}{%
  \printtext[bibhyperref]{\usebibmacro{extralabel}}}

\makeatletter
\renewbibmacro*{cite:AY:noshorthand}{%
  \ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\usebibmacro{cite:label}%
        \usebibmacro{cite:reinit}}
       {\iffieldequals{namehash}{\cbx@lasthash}
          {\setunit{\addcomma\space}%
           \usebibmacro{cite:extralabel}}
          {\printnames{labelname}%
           \setunit{\addspace}%
           \usebibmacro{cite:extralabel}%
           \savefield{namehash}{\cbx@lasthash}}}}
\makeatother

\DeclareNameAlias{sortname}{given-family}
\AtBeginBibliography{\renewcommand*{\mkbibnamefamily}{\textsc}}

\DeclareFieldFormat*{title}{\mkbibemph{#1}}
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat[article,periodical]{volume}{\mkbibbold{#1}}

\begin{document}
\cite{sigfridsson,worman,knuth:ct:a,knuth:ct:b}
\printbibliography
\end{document}

출력은 동일합니다.

관련 정보