
방금 웹을 많이 긁어 보았지만 답을 찾을 수 없었습니다.
이것이 바로 지금 내 참고문헌의 모습입니다. 보시다시피 이 정보가 제공되지 않은 경우에도 'In:'이 표시됩니다.
그럼 기본적으로 'In:'을 어떻게 제거할 수 있나요?
이것은 내 LaTeX 헤더입니다. (그게 무슨 관련이 있는지 전혀 모르겠습니다.)
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{grffile}
\usepackage{longtable}
\usepackage{wrapfig}
\usepackage{rotating}
\usepackage[normalem]{ulem}
\usepackage{amsmath}
\usepackage{textcomp}
\usepackage{amssymb}
\usepackage{capt-of}
\usepackage{hyperref}
\usepackage[backend=biber, natbib=true, style=authoryear-icomp]{biblatex}
\addbibresource{~/res/library.bib} %% point at your bib file
답변1
in:
필드 가 없으면 아무 것도 인쇄하지 않도록 bibmacro를 재정의하면 됩니다 journaltitle
.
\renewbibmacro*{in:}{%
\iffieldundef{journaltitle}
{}
{\printtext{\bibstring{in}\intitlepunct}}}
@online
그러나 다른 항목 유형(예: )을 사용하거나 항목에 대한 올바른 필드를 포함하는 것이 더 나을지 여부를 고려하십시오 .
MWE
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Author2019,
author = {Author, An},
title = {Some Title},
date = {2019},
url = {http://www.example.com/a}
}
@online{Author2018,
author = {Author, Another},
title = {Some Other Title},
date = {2018},
url = {http://www.example.com/b}
}
\end{filecontents}
\usepackage[style=authoryear-icomp]{biblatex}
\addbibresource{\jobname.bib}
\renewbibmacro*{in:}{%
\iffieldundef{journaltitle}
{}
{\printtext{\bibstring{in}\intitlepunct}}}
\begin{document}
\nocite{*}
\printbibliography
\end{document}