summaryrefslogtreecommitdiff
path: root/Master
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
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')
-rw-r--r--Master/texmf-dist/source/generic/tex4ht/ChangeLog5
-rw-r--r--Master/texmf-dist/source/generic/tex4ht/mktex4ht-cnf.tex5
-rw-r--r--Master/texmf-dist/source/generic/tex4ht/tex4ht-4ht.tex46
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/backref.4ht53
4 files changed, 107 insertions, 2 deletions
diff --git a/Master/texmf-dist/source/generic/tex4ht/ChangeLog b/Master/texmf-dist/source/generic/tex4ht/ChangeLog
index 6c8345696aa..2320f31c9f4 100644
--- a/Master/texmf-dist/source/generic/tex4ht/ChangeLog
+++ b/Master/texmf-dist/source/generic/tex4ht/ChangeLog
@@ -1,3 +1,8 @@
+2021-12-19 Michal Hoftich <michal.h21@gmail.com>
+
+ * tex4ht-4ht.tex (backref.4ht): added support for the Backref package.
+ https://github.com/michal-h21/tex4ebook/issues/64
+
2021-12-17 Michal Hoftich <michal.h21@gmail.com>
* tex4ht-ooffice.tex (ooffice.4ht): use \ShowPar in \:DefineParagraph,
diff --git a/Master/texmf-dist/source/generic/tex4ht/mktex4ht-cnf.tex b/Master/texmf-dist/source/generic/tex4ht/mktex4ht-cnf.tex
index 765d72d2919..82a970b8393 100644
--- a/Master/texmf-dist/source/generic/tex4ht/mktex4ht-cnf.tex
+++ b/Master/texmf-dist/source/generic/tex4ht/mktex4ht-cnf.tex
@@ -1,4 +1,4 @@
-% $Id: mktex4ht-cnf.tex 951 2021-06-17 16:29:22Z michal_h21 $
+% $Id: mktex4ht-cnf.tex 1034 2021-12-19 13:53:20Z michal_h21 $
% Manually-maintained file, listing *.4ht files created by tex4ht-4ht.tex.
% Read by tex4ht-cond4ht.
%
@@ -22,6 +22,7 @@
\AddFile{9}{mla}
\AddFile{6}{biblatex}
\AddFile{6}{biblatex-chicago}
+\AddFile{6}{backref}
\AddFile{6}{reading}
\AddFile{5}{debug}
\AddFile{5}{footnote-dw}
@@ -222,6 +223,7 @@
\AddFile{9}{subeqnarray}
\AddFile{9}{eurosym}
\AddFile{9}{SIunits}
+\AddFile{9}{siunitx}
\AddFile{9}{sistyle}
\AddFile{9}{ushort}
\AddFile{9}{chapterbib}
@@ -284,6 +286,7 @@
\AddFile{9}{2up}
\AddFile{9}{web}
\AddFile{9}{exerquiz}
+\AddFile{9}{hyperxmp}
\AddFile{9}{nicefrac}
\AddFile{9}{multicol}
\AddFile{2}{lettrine}
diff --git a/Master/texmf-dist/source/generic/tex4ht/tex4ht-4ht.tex b/Master/texmf-dist/source/generic/tex4ht/tex4ht-4ht.tex
index 7389d9d0ecc..6356f9a08e5 100644
--- a/Master/texmf-dist/source/generic/tex4ht/tex4ht-4ht.tex
+++ b/Master/texmf-dist/source/generic/tex4ht/tex4ht-4ht.tex
@@ -1,4 +1,4 @@
-% $Id: tex4ht-4ht.tex 1031 2021-12-16 15:13:32Z michal_h21 $
+% $Id: tex4ht-4ht.tex 1034 2021-12-19 13:53:20Z michal_h21 $
% tex tex4ht-4ht or ht tex tex4ht-4ht
%
% Copyright 2009-2021 TeX Users Group
@@ -2754,6 +2754,50 @@ they caused compilation error when the AUX file is loaded.
>>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\SubSection{backref.4ht}
+
+\<backref.4ht\><<<
+% backref.4ht (|version), generated from |jobname.tex
+% Copyright 2021 TeX Users Group
+|<TeX4ht license text|>
+|<backref definitions|>
+\Hinput{backref}
+\endinput
+>>> \AddFile{9}{backref}
+
+\<backref definitions\><<<
+% 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-{}{|<haddr prefix|>\last:haddr}\EndLink%
+ % save link to the .xref file
+ \Tag{)Q##1\thepage}{|<haddr prefix|>\last:haddr}%
+ % we need to save the link destination in .xref file
+ % too, otherwise \Link command would issue warning
+ \Tag{)Q|<haddr prefix|>\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}}
+>>>
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\SubSection{reading.4ht}
\<reading.4ht\><<<
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
+