
박사학위 논문을 작성하고 있는데 학교에서 요구하는 대로 참고문헌 형식을 출력하려고 하면 다음과 같이 요구됩니다. (논문에는 다음 세 가지 유형만 필요합니다.)
저널 [J]
책 [M]
기타 요구사항:
- 다중 저자: 저자 수가 3명보다 큰 경우 처음 3명을 유지하고 나머지 저자는 "et al"을 사용합니다.
- 정렬: 외관순.
내 질문은 위의 참고 문헌 스타일이 어떤 종류입니까?
기존 참고문헌 스타일 중 해당 스타일이 없다면 처음부터 이 스타일을 어떻게 구축해야 합니까?
.bib
:
@article{brauner91,
author = {Brauner, N.},
title = {Vapour absorption into falling film},
journal = {ASME J},
year = {1991},
volume = {34},
pages = {76-82},
number = {3}
}
@book{baehr1994,
title={Heat and mass transfer},
author={Baehr, H. D.},
year={1994},
page={221}
publisher={Berlin:Springer-Verlag}
}
@inproceedings{leiner1989,
year = {1989},
pages={68--71},
author = {Leiner, A.},
title = {Optical techniques for heat transfer measurements},
booktitle = { COLLINS W. Proc Int Conf on Energy and Environment},
publisher={New York: Academic Press}
}
답변1
다음을 시도해 보세요
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[style=numeric,backend=biber,giveninits=true,sorting=none,maxnames=3,minnames=3]{biblatex}
\addbibresource{biblatex-examples.bib}
\DeclareNameAlias{default}{family-given}
\renewcommand*{\revsdnamepunct}{}
\renewrobustcmd*{\bibinitperiod}{}
\renewcommand*{\finalnamedelim}{\multinamedelim}
\DeclareFieldFormat*{title}{#1}
\DeclareFieldFormat*{journaltitle}{#1\isdot}
\DeclareFieldFormat*{issuetitle}{#1}
\DeclareFieldFormat*{maintitle}{#1}
\DeclareFieldFormat*{booktitle}{#1}
\newbibmacro*{title}{%
\ifboolexpr{
test {\iffieldundef{title}}
and
test {\iffieldundef{subtitle}}
}
{}
{\printtext[title]{%
\printfield[titlecase]{title}%
\setunit{\subtitlepunct}%
\printfield[titlecase]{subtitle}}%
\ifentrytype{article}{\setunit{}\printtext{[A]}}{}
\ifentrytype{book}{\setunit{}\printtext{[B]}}{}%
\ifentrytype{inproceedings}{\setunit{}\printtext{[C]}}{}
\newunit}%
\printfield{titleaddon}}
\renewbibmacro*{in:}{\ifentrytype{article}{}{\printtext{//}}}
\renewbibmacro*{journal+issuetitle}{%
\usebibmacro{journal}%
\iffieldundef{series}
{}
{\newunit
\printfield{series}}%
\setunit{\addcomma\space}%
\printfield{issue}%
\setunit{\addcomma\space}%
\usebibmacro{date}
\setunit{\addcolon\space}%
\usebibmacro{issue}%
\setunit{\addcomma\space}%
\usebibmacro{volume+number+eid}%
\setunit{\addspace}%
\newunit}
\DeclareFieldFormat[article,periodical]{number}{\mkbibparens{#1}}
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}}
\DeclareFieldFormat{pages}{#1}
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}
\renewcommand*{\bibpagespunct}{\addcolon\addspace}
\renewcommand{\postnotedelim}{%
\iffieldpages{postnote}
{\addcolon\space}
{\addspace}}
\begin{document}
\cite{sigfridsson,brauner91,baehr1994,leiner1989,aksin}
\printbibliography
\end{document}
이것의 대부분은 상당히 표준적이며 다음에서 찾을 수 있습니다.biblatex 스타일 사용자 정의 지침,biblatex: 참고문헌에서 성과 이름 사이의 쉼표를 제거합니다.,"p" 대신 콜론. Biblatex에서 저자연도-comp,Biblatex: 숫자가 아닌 인용에는 \postnotedelim이 없습니다.,biblatex: 논문의 권수를 괄호로 묶습니다.
귀하의 스타일에 대한 이상한 요구 사항은 "in"에 대한 "//" 구분 기호로 제목 뒤에 항목 유형을 표시하는 것입니다. 이는 다음을 통해 구현됩니다.
\renewbibmacro*{title}{%
\ifboolexpr{
test {\iffieldundef{title}}
and
test {\iffieldundef{subtitle}}
}
{}
{\printtext[title]{%
\printfield[titlecase]{title}%
\setunit{\subtitlepunct}%
\printfield[titlecase]{subtitle}}%
\ifentrytype{article}{\setunit{}\printtext{[A]}}{}
\ifentrytype{book}{\setunit{}\printtext{[B]}}{}%
\ifentrytype{inproceedings}{\setunit{}\printtext{[C]}}{}
\newunit}%
\printfield{titleaddon}}
\renewbibmacro*{in:}{\ifentrytype{article}{}{\printtext{//}}}
물론 후자는 다음의 일반적인 패턴을 따른다."In:" 억제.