see=
是否可以在条目选项中包含网页甚至 biblatex 参考资料glossries
?我尝试了以下方法。(至关重要的是两条注释和它们下面的一行。)
% gloss.tex
\documentclass[varwidth]{standalone}
\usepackage{natbib}
\usepackage{hyperref}
\usepackage{glossaries}
\makeglossaries
\newacronym[
description={Popular Q\&A community specifically dealing with LaTeX},
%see={\href{http://tex.stackexchange.com/}{their webpage}}
%see={\cite{texse}}
see={http://tex.stackexchange.com/}
]{texse}{tex.se}{tex.stackexchange}
\begin{document}
Let me tell you about \gls{texse}.
\printglossaries
\bibliographystyle{plainnat}
\bibliography{gloss}
\end{document}
以下是供您参考的参考书目。
%gloss.bib
@misc{texse,
author = "The Community",
title = "LaTex Stack Exchange",
month = "January",
year = 2014,
url = "http://tex.stackexchange.com/"
}
结果什么也没有see
。(它不是通过standalone
裁剪切掉的,那里真的什么也没有。)
使用两个注释中的替代方案之一甚至会导致错误。
! Undefined control sequence.
\cite ->\begingroup \let \NAT@ctype
\z@ \NAT@partrue \NAT@swatrue \@ifstar ...
l.6 ...at[\seename ]{\protect \cite {texse}}{Z}}}
是否可以用 来指定网络或参考书目的交叉引用glossaries
?
答案1
正如评论中所指出的那样(以及第 4 章中用户指南) 该see
键仅用于与其他词汇表条目进行内部交叉引用。
引擎盖下
当你使用时see={xr-label}
你正在有效地使用
\glsadd[format={glsseeformat[\seename]{xr-label}}]{label}
(其中xr-label
是交叉引用的标签)。例如,假设您定义:
\newglossaryentry{sample1}{name={sample1},description={first example}}
\newglossaryentry{sample2}{name={sample2},description={second example},see={sample1}}
这相当于:
\newglossaryentry{sample1}{name={sample1},description={first example}}
\newglossaryentry{sample2}{name={sample2},description={second example}}
\glsadd[format={glsseeformat[\seename]{sample1}}]{sample2}
因此,在您的词汇表的位置列表中,sample2
您可以获得:
\glsseeformat[\seename]{sample1}{Z}
Z
是一个人工页码,因为makeindex
总是需要一个位置,所以\glsseeformat
被定义为忽略该参数。该\glsseeformat
命令要求其第一个强制参数是逗号分隔的条目标签列表。(在本例中,它是一个大小为 1 的列表。)see
键入\newglossaryentry
(和\newacronym
) 是为此目的提供的便捷快捷方式。如果您想要其他东西,则需要明确使用\glsadd
。例如:
\documentclass{article}
\usepackage[colorlinks]{hyperref}
\usepackage[description]{glossaries}
\makeglossaries
\newacronym[
description={Popular Q\&A community specifically dealing with
LaTeX}]{texse}{tex.se}{tex.stackexchange}
\newcommand{\urlsee}[2]{\emph{\seename} \url{#1}}
\glsadd[format=urlsee{http://www.stackexchange.com/}]{texse}
\begin{document}
Let me tell you about \gls{texse}.
\printglossaries
\end{document}
得出的结果为:
笔记:这对于示例中的 URL 有效,但您可能会遇到包含特殊字符(例如~
或%
)的地址的问题。
编辑:
您可以使用类似的方法进行引用:
% arara: pdflatex
% arara: makeglossaries
% arara: pdflatex
% arara: bibtex
% arara: pdflatex
% arara: pdflatex
\documentclass{article}
\begin{filecontents*}{gloss.bib}
@misc{texse,
author = "The Community",
title = "LaTex Stack Exchange",
month = "January",
year = 2014,
url = "http://tex.stackexchange.com/"
}
\end{filecontents*}
\usepackage{natbib}
\usepackage[colorlinks]{hyperref}
\usepackage[description]{glossaries}
\makeglossaries
\newacronym[
description={Popular Q\&A community specifically dealing with
LaTeX}]{texse}{tex.se}{tex.stackexchange}
\newcommand{\citesee}[2]{\emph{\seename} \cite{texse}}
\glsadd[format=citesee{texse}]{texse}
\begin{document}
Let me tell you about \gls{texse}.
\printglossaries
\bibliographystyle{plainnat}
\bibliography{gloss}
\end{document}
如果你想混合两者\cite
,那么\url
两者看起来会很奇怪
\glsadd[format=urlsee{http://tex.stackexchange.com}]{texse}
\glsadd[format=citesee{texse}]{texse}
然后你就会得到
\emph{see} \url{http://tex.stackexchange.com}, \emph{see} \cite{texse}
在位置列表中。另一种方法是执行以下操作:
\documentclass{article}
\begin{filecontents*}{gloss.bib}
@misc{texse,
author = "The Community",
title = "{\TeX}\ on Stack Exchange",
month = "January",
year = 2014,
url = "http://tex.stackexchange.com/"
}
\end{filecontents*}
\usepackage{natbib}
\usepackage[colorlinks]{hyperref}
\usepackage[description]{glossaries}
\makeglossaries
\newacronym[
description={Popular Q\&A community specifically dealing with
LaTeX}]{texse}{tex.se}{tex.stackexchange}
\providecommand{\see}[2]{\emph{\seename} #1}
\glsadd[format=see{\string\cite{texse}, \string\url{http://tex.stackexchange.com/}}]{texse}
\begin{document}
Let me tell you about \gls{texse}.
\printglossaries
\bibliographystyle{plainnat}
\bibliography{gloss}
\end{document}
得出的结果为: