스타일링 옵션 \fullcite

스타일링 옵션 \fullcite

추가로 참고문헌 섹션이 있는 문서에 biblatex 항목 목록이 있습니다. 이 부분에서는 \fullcite주요 참고문헌과 다른 스타일로 일부 참고문헌 항목을 나열하고 싶습니다 .

다음과 같이 저자 수를 변경할 수 있습니다.

\begingroup
\defcounter{minnames}{2}
\fullcite{key}
\endgroup

의 스타일을 추가로 수정하려면 어떻게 해야 합니까 \fullcite?

MW웹

\documentclass[en-US,de-DE]{article}

\usepackage[
  style=authoryear-ibid,
  maxnames=2,
  backend=biber,
  safeinputenc,
  isbn=false,
  doi=false,
  maxcitenames=2,
  urldate=iso8601,
  date=iso8601
]{biblatex}

\addbibresource{\jobname.bib}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@book{key,
  author = {Author, A.},
  year = {2001},
  title = {Title},
  publisher = {Publisher},
  pagetotal = {383},
  edition = {1},
  pages = {151--154},
  url = {http://www.google.com},
}
\end{filecontents}

\begin{document}
text1

\fullcite{key}

text2

\cite{key}

text3

\printbibliography[heading=bibintoc]

\end{document}

\fullcite연도 , 에 나열된 항목의 URL, 페이지 번호 및 도서 에디션을 제거하고 싶습니다 .

PDF 렌더링

답변1

\fullcite이를 수행할 수 있는 방법에는 두 가지가 있습니다. 원하지 않는 필드를 지우도록 명령을 다시 정의하거나 주석에 언급된 대로 \AtEverycitekey동일한 작업을 수행하는 데 사용할 수 있습니다.

개념적으로는 수정하는 것이 \fullcite더 나은 해결책인 것 같습니다. 를 사용하면 모든 인용이 수정되기 때문입니다. 따라서 일반적으로 일반 항목에 포함된 \AtEveryCitekey정보를 에서 제거하려면 다음을 수행하세요.\fullcite\cite~ 해야 하다이 솔루션을 사용하십시오.

URL, 에디션, 페이지만 제거하는 경우 해당 필드를 출력하는 인용 명령 일 뿐이므로 \fullcite사용에 따른 나쁜 부작용은 없습니다 . 그러나 주석에서 언급한 것처럼 연도도 제거하려면 수정하는 것이 유일한 방법입니다. 이런 이유로 코드에서 솔루션 을 제거했지만 끝에 별도로 배치했습니다.\AtEveryCitekey\fullcite\fullcite\AtEveryCitekey

표시하지 않으려는 정보 유형에 따라 또는 중 하나를 사용해야 할 수도 있습니다 \clearfield. 예 를 들어 , 또는 의 경우 해당 유형이 목록이므로 삭제하려면 를 사용해야 합니다 . 문서 의 섹션 2.2.2에서는 각 필드와 해당 데이터 유형을 설명합니다.\clearlist\clearnamepublisherlocation\clearlistbiblatex

\documentclass[en-US,de-DE]{article}

\usepackage[
  style=authoryear-ibid,
  maxnames=2,
  backend=biber,
  safeinputenc,
  isbn=false,
  doi=false,
  maxcitenames=2,
  urldate=iso8601,
  date=iso8601
]{biblatex}

\addbibresource{\jobname.bib}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@book{key,
  author = {Author, A.},
  year = {2001},
  title = {Title},
  publisher = {Publisher},
  pagetotal = {383},
  edition = {1},
  pages = {151--154},
  url = {http://www.google.com},
}
\end{filecontents}

\DeclareCiteCommand{\fullcite}
  {\usebibmacro{prenote}}
  {\clearfield{url}%
   \clearfield{pages}%
   \clearfield{pagetotal}%
   \clearfield{edition}%
   \clearfield{labelyear}%
   \usedriver
     {\DeclareNameAlias{sortname}{default}}
     {\thefield{entrytype}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
\begin{document}
text1
\cite{key}

\fullcite{key}

text2

\cite{key}

text3

\printbibliography[heading=bibintoc]

\end{document}

코드 출력

사용\AtEveryCitekey

위에서 언급한 것처럼 \AtEveryCitekey일반 인용에서 필요한 정보와 에서 표시하지 않는 정보가 겹치지 않는 경우에도 를 사용할 수 있습니다 \fullcite. 해당 메서드를 사용하는 코드는 다음과 같습니다.

\AtEveryCitekey{
\clearfield{url}
   \clearfield{pages}
   \clearfield{pagetotal}
   \clearfield{edition}
   \clearfield{labelyear}
}

관련 정보