在我的简历中,我想列出我的出版物。我设法将每个条目的标签更改为会议名称,方法是速记字段。但是,对于某些出版物,我想在标签中添加特殊注释(例如,已提交、正在审核、最佳论文等),以便它出现在会议名称下。有没有办法通过固定列长度来进行某种换行?
以下是我目前拥有的:
其对应的代码如下。我使用的是 moderncv 模板,但我认为你可以使用任何模板。
\documentclass[11pt,letter,sans]{moderncv}
\moderncvstyle{casual}
\usepackage[backend=biber, defernumbers=true, maxnames=10,sorting=ydnt]{biblatex}
\addbibresource{test.bib}
\DeclareFieldFormat{labelnumberwidth}{{#1}}
\nocite{*}
\name{John}{Doe}
\begin{document}
\makecvtitle
\section{Publications}
\vspace{0.2cm}
\printbibliography[title={Refereed Conference Publications}, heading=subbibliography, type=inproceedings, resetnumbers=true]
\end{document}
然后,我将在 test.bib 中获得以下(和类似的)条目
@inproceedings{test,
author = {John Smith and John Doe},
title = {A very cool title},
booktitle = {Proceedings of the 1st Conference on Cool Things},
series = {COOL '09},
shorthand = {COOL '09},
year = {2009},
location = {Ontario, Canada},
pages = {1--11},
addendum={(Acceptance Rate: 22/88 = 25\%). \emph{\textbf{Best Paper Award}}},
numpages = {11},
}
这是我想要实现的目标,但我无法直接从 biber 内部实现(由于其他原因,我使用 biber 作为后端),因此我只能通过表格来实现。如您所见,存在间距/对齐问题:
这是我使用的代码(将在上面 tex 文件中添加它)。我首先创建一个新命令:
\newcommand{\createlabel}[2]{\begin{tabular}{p{2.43cm}}
#1\\\textbf{#2}
\end{tabular}}
然后在 bib 条目中,我使用以下命令:
@inproceedings{test,
author = {John Smith and John Doe},
title = {A very cool title},
booktitle = {Proceedings of the 1st Conference on Cool Things},
series = {COOL '09},
shorthand = {\createlabel{COOL '09}{best paper}},
year = {2009},
location = {Ontario, Canada},
pages = {1--11},
addendum={(Acceptance Rate: 22/88 = 25\%). \emph{\textbf{Best Paper Award}}},
numpages = {11},
}
任何能够修复对齐/间距的方法或更智能的方法来完成整个事情都将受到高度赞赏。
答案1
\newcommand{\createlabel}[2]{\smash{\begin{tabular}[t]{p{2.43cm}}%
#1\\\textbf{#2}%
\end{tabular}}}
选项[t]
告诉tabular
LaTeX 对齐到顶部。
顺便说一句,您的 MWE 无法编译,也无法显示参考,因为它\nocite{test}
在正文和\name{John}{Doe}
序言中缺少一个。