我正在写一本书,在这本书中我多次引用 \cite{title},但它是以斜体形式打印的,而不是以简单形式打印的。我更改了各种样式以简单的数字形式打印。但没有得到结果。我怎样才能让它变得简单?这是代码
\RequirePackage{filecontents}
\begin{filecontents*}{jobname.bib}
@book{is4562000,
title={Indian Standard Plain and reinforced concrete--code of
practice (IS 456 : 2000)},
shorttitle = {IS 456~:~2000},
author={{Cement and Concrete Sectional Committee, CED 2}},
journal={New Delhi: },
year={2000},
publisher={Bureau of Indian Standards},
}
@book{is555,
title = {IS 555~:~1980}
}
\end{filecontents*}
\documentclass[a4paper,10pt]{article}
\usepackage[backend=biber,
style=ieee]{biblatex}
\addbibresource{jobname.bib}
\begin{document}
This is bibliography using biblatex \cite{is4562000}.
\citetitle{is4562000}.
\citeyear{is4562000}.
\citeauthor{is4562000}.
\citetitle{is555}
\printbibliography
\end{document}
答案1
你只需要改变格式。将这些行插入到你的序言中,或者更好的是,插入到 biblatex.cfg 中(如果尚不存在这样的文件,只需在你的工作目录中创建一个):
\DeclareFieldFormat{title}{\textbf{#1}}
\DeclareFieldFormat{citetitle}{\textbf{#1}}
第一行将更改参考书目中的标题,第二行将更改引文中的标题。您会注意到,标题现在不是斜体,而是粗体文本——这就是所做的\textbf{#1}
。
现在,您实际上不需要粗体文本。因此,您更改了以下几行:
\DeclareFieldFormat{title}{#1}
\DeclareFieldFormat{citetitle}{#1}
所有标题都将以正常样式打印:既不是斜体也不是粗体。
假设您决定确实希望以正常方式打印书名,而以斜体打印所有其他标题(文章、报告等)。您可以通过向命令传递可选参数来实现:
% Format for bibliography
\DeclareFieldFormat*{title}{\textit{#1}}
\DeclareFieldFormat[book]{title}{{#1}}
% Format for citations
\DeclareFieldFormat*{citetitle}{\textit{#1}}
\DeclareFieldFormat[book]{citetitle}{{#1}}
可选参数包含应应用格式的类型(书籍、文章等)。您还可以使用类型列表(例如\DeclareFieldFormat[article,book]{title}{#1}
)。
该命令的星号版本会在应用格式指令之前清除所有现有格式。我将您的一个条目类型更改为“文章”,如果没有星号,则使用默认格式。因此,如果您将可选参数传递给该命令,则最好将星号版本用于字段的一般格式,并使用普通版本。
以下是 MWE:
\RequirePackage{filecontents}
\begin{filecontents*}{jobname.bib}
@book{is4562000,
title={{Indian Standard Plain and reinforced concrete--code of
practice (IS 456 : 2000)}},
shorttitle = {IS 456~:~2000},
author={{Cement and Concrete Sectional Committee, CED 2}},
year={2000},
publisher={Bureau of Indian Standards},
}
@article{is555,
title = {{IS 555~:~1980}},
author={{Cement and Concrete Sectional Committee, CED 2}},
journal={{New Delhi}},
year={2000}
}
\end{filecontents*}
\documentclass[a4paper,10pt]{article}
\usepackage[english]{babel}
\usepackage[backend=biber,style=ieee]{biblatex}
\addbibresource{jobname.bib}
\DeclareFieldFormat*{title}{\textbf{#1}} % Format for bibliography
\DeclareFieldFormat*{citetitle}{\textbf{#1}} % Format for citations
\begin{document}
\setlength{\parindent}{0pt}
\section{Bold titles}
Book title: \citetitle{is4562000}.
Article title: \citetitle{is555}
\printbibliography
\section{Plain titles}
\DeclareFieldFormat{title}{#1} % Format for bibliography
\DeclareFieldFormat{citetitle}{#1} % Format for citations
Book title: \citetitle{is4562000}.
Article title: \citetitle{is555}
\printbibliography
\section{Different titles}
% Format for bibliography
\DeclareFieldFormat{title}{\textit{#1}}
\DeclareFieldFormat[book]{title}{#1}
% Format for citations
\DeclareFieldFormat{citetitle}{\textit{#1}}
\DeclareFieldFormat[book]{citetitle}{#1}
Book title: \citetitle{is4562000}.
Article title: \citetitle{is555}
\printbibliography
\end{document}
(我重用了你的参考书目文件,但对其进行了一些修改。顺便说一句,我无法编译你的代码;显然参考书目样式使用语言设置,所以我不得不加载 babel。)