summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/tex4ht
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-12-19 21:54:10 +0000
committerKarl Berry <karl@freefriends.org>2021-12-19 21:54:10 +0000
commitd0d64b0d56bd771d290b0f5abc225508e50ce6f0 (patch)
tree076d2017902515d60e3eec6af94ca228ca6e1b12 /Master/texmf-dist/tex/generic/tex4ht
parent19611cb045aeda55b259bcce5145922b3baae741 (diff)
support for backref, tex4ht r1034
git-svn-id: svn://tug.org/texlive/trunk@61348 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/tex4ht')
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/backref.4ht53
1 files changed, 53 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/tex4ht/backref.4ht b/Master/texmf-dist/tex/generic/tex4ht/backref.4ht
new file mode 100644
index 00000000000..198dc71ad3b
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/backref.4ht
@@ -0,0 +1,53 @@
+% backref.4ht (2021-12-19-13:31), generated from tex4ht-4ht.tex
+% Copyright 2021 TeX Users Group
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions
+% of LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work
+% is the TeX4ht Project <http://tug.org/tex4ht>.
+%
+% If you modify this program, changing the
+% version identification would be appreciated.
+\immediate\write-1{version 2021-12-19-13:31}
+
+% patch command that inserts backlink destinations
+\pend:defI\Hy@backout{%
+ % prevent duplicate backlink on the same page
+ \ifcsname bk##1\thepage\endcsname\else%
+ % insert link to the page
+ \html:addr\Link-{}{x\last:haddr}\EndLink%
+ % save link to the .xref file
+ \Tag{)Q##1\thepage}{x\last:haddr}%
+ % we need to save the link destination in .xref file
+ % too, otherwise \Link command would issue warning
+ \Tag{)Qx\last:haddr}{\FileNumber}%
+ \fi
+ % declare this backlink destination as used, so we don't
+ % declare another one with the same name
+ \expandafter\def\csname bk##1\thepage\endcsname{}%
+}
+
+% redefine macro that puts out backlinks
+\def\:tempa#1#2#3{%
+ % test if we saved link to the current bibitem and page
+ \ifTag{)Q\current:back:desc#1}{%
+ \Link{\LikeRef{)Q\current:back:desc#1}}{}#1\EndLink%
+ }%
+ {#1}% print just page number if there is no saved link
+}%
+\HLet\backrefxxx\:tempa
+
+% save current bibkey for use in \backrefxxx
+\pend:defI\BR@backref{\def\current:back:desc{##1}}
+
+\Hinput{backref}
+\endinput
+