bibliography style
나는 Kelley의 책을 구하고 싶습니다.일반 토폴로지:
나는LaTeX
여기분명히 Kelley의 책과 같은 사람은 없습니다.
내가 원하는 것을 얻는 것이 가능합니까?
감사해요
bibtex
PD: 말하지는 않았지만 표준 , 즉 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')이 없으면 extraalpha
1을 취하고, 그렇지 않으면 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}
biblatex
3.12 extraname
에는 extraalpha
. 위의 코드에서 extraalpha
로 바꾸고 및 옵션을 삭제하기만 하면 됩니다.extraname
\DeclareLabelalphaTemplate
labelalpha
\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}
출력은 동일합니다.