对于海报和演示文稿,由于文档较小,我希望避免在繁琐的 bibtex 文件中写有关出版物的信息,而是直接在文档中引用所有内容。例如,最后我想创建手动参考书目:
papername1 label1 description1
(文档中仅描述了论文名称和描述)papername2 label2 description2
...
然后在文本中我想通过名称引用标签,例如可以通过以下方式完成\nameref{label1}
并papername1
显示。
现在,我采取的方法是直接输入而不使用标签,然后通过手动书写进行引用papername
。
如果知道它是否可以在不查看 BibTeX 文件的情况下使用标签,那就太好了。如果知道一些没有 BibTeX(或者至少只自动生成 BibTeX 文件,不需要大量输入)的解决方案,并且不需要在 BibTeX 约定中为特定类型的论文(例如文章、书籍等)写入变量,那就太好了。
答案1
如果您愿意使用如下所示的预定义界面\paperdesc{<paper>}{<description>}
来设置您的论文描述,您可以使用它来自动更新\@currentlabel
(保存当前标签值的宏)。将其更新为<paper>
允许您使用\label
-\ref
像往常一样,检索适当的<paper>
。
\documentclass{article}
%\usepackage{hyperref}
\makeatletter
\newcommand{\paperdesc}[2]{%
\csname phantomsection\endcsname % If using hyperref
\def\@currentlabel{#1}% Update the current label
\textsc{#1}, % Print paper in Small Caps
#2% Print paper description
}
\makeatother
\begin{document}
See~\ref{paper:first} and~\ref{paper:third}
\begin{itemize}
\item \paperdesc{Paper 1}{Description of Paper 1} \label{paper:first}
\item \paperdesc{Paper B}{Description of Paper B}
\item \paperdesc{Paper III}{Description of Paper III} \label{paper:third}
\end{itemize}
\end{document}
如果与其他非标准文档类或包结合使用,此解决方案可能需要更多工作。