词汇表中的交叉引用超链接?

词汇表中的交叉引用超链接?

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}

得出的结果为:

生成的文档的图像

相关内容