我刚刚在网上搜索了很多次,但没有找到答案。
这就是我现在的书目。如您所见,即使没有提供此信息,它也会显示“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
),或者为您的条目包含正确的字段。
平均能量损失
\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}