我正在使用特定的參考書目樣式,目前無法按照我想要的方式修改它;)
複製步驟:
- 下載http://acl2016.org/files/acl2016.zip
- 提取
acl2016.bib
,acl2016.sty
, 和acl2016.bst
使用這個最小的工作範例:
\documentclass[10pt]{article} \usepackage{acl2016} \begin{document} \cite{Aho:72} \newcite{Aho:72} \bibliography{acl2016} \bibliographystyle{acl2016} \end{document}
這導致
(Aho and Ullman, 1972) Aho and Ullman (1972)
我想為年份使用另一種字體顏色(例如藍色),但僅限於年份。只有當我引用\cite
或\newcite
而不是在參考書目列表中時,顏色才應該改變。我怎樣才能透過acl2016
風格實現這一目標?
答案1
如果您使用該特定樣式在某處提交您的作品,則不應更改它。否則,修改 .bst 檔案並不簡單,所以我的建議是使用biblatex
和hyperref
。
這樣,年份不僅是另一種顏色,它也是一個參考的連結。可能預設的參考樣式不是您期望/需要/想要的,而是biblatex
一個非常可配置的套件。
\documentclass{article}
\usepackage[colorlinks,citecolor=blue]{hyperref}
\usepackage[style=authoryear,natbib=true]{biblatex}
\addbibresource{IEEEexample.bib}
\begin{document}
Bla bla bla \citep{IEEEexample:articleetal} bla bla.
\printbibliography
\end{document}
例如,據我所知,下面的程式碼完全重現了您的 MWE:
\documentclass[10pt]{article}
\usepackage{acl2016}
\usepackage[colorlinks,citecolor=blue]{hyperref}
\usepackage[style=authoryear,natbib=true]{biblatex}
\addbibresource{acl2016.bib}
\DeclareBibliographyDriver{book}{%
\printnames{author}\newunit%
\printfield{year}\newunit%
\printfield{title}\newunit%
\printlist{publisher}\newunit%
\printlist{location} \finentry}
\DeclareNameAlias{sortname}{first-last}
\begin{document}
\citep{Aho:72}
\citet{Aho:72}
\printbibliography
\end{document}