summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-12-30 21:54:26 +0000
committerKarl Berry <karl@freefriends.org>2022-12-30 21:54:26 +0000
commit132933452e4a26cf30e80f64e7bcab840090f764 (patch)
tree60b21ea09433c73dfd58388ac4cf287007f19282 /Master
parent082730834fdcf9fd533dcd1d13346d1c8c9e71e8 (diff)
zref-vario (30dec22)
git-svn-id: svn://tug.org/texlive/trunk@65407 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/zref-vario/CHANGELOG.md9
-rw-r--r--Master/texmf-dist/doc/latex/zref-vario/zref-vario-code.pdfbin618882 -> 647461 bytes
-rw-r--r--Master/texmf-dist/doc/latex/zref-vario/zref-vario.pdfbin146033 -> 147516 bytes
-rw-r--r--Master/texmf-dist/doc/latex/zref-vario/zref-vario.tex28
-rw-r--r--Master/texmf-dist/source/latex/zref-vario/zref-vario.dtx223
-rw-r--r--Master/texmf-dist/tex/latex/zref-vario/zref-vario.sty157
6 files changed, 334 insertions, 83 deletions
diff --git a/Master/texmf-dist/doc/latex/zref-vario/CHANGELOG.md b/Master/texmf-dist/doc/latex/zref-vario/CHANGELOG.md
index 18e60b2c09c..416ca0a6ec4 100644
--- a/Master/texmf-dist/doc/latex/zref-vario/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/zref-vario/CHANGELOG.md
@@ -1,6 +1,13 @@
# Changelog
-## [Unreleased](https://github.com/gusbrs/zref-vario/compare/v0.1.5...HEAD)
+## [Unreleased](https://github.com/gusbrs/zref-vario/compare/v0.1.6...HEAD)
+
+## [v0.1.6](https://github.com/gusbrs/zref-vario/compare/v0.1.5...v0.1.6) (2022-12-29)
+
+### Added
+- Hyperlinking for the nearby page references and for the page part of paired
+ references.
+- Localization for Italian.
## [v0.1.5](https://github.com/gusbrs/zref-vario/compare/v0.1.4...v0.1.5) (2022-07-08)
diff --git a/Master/texmf-dist/doc/latex/zref-vario/zref-vario-code.pdf b/Master/texmf-dist/doc/latex/zref-vario/zref-vario-code.pdf
index 7c9387cdcfb..1f8fa29283b 100644
--- a/Master/texmf-dist/doc/latex/zref-vario/zref-vario-code.pdf
+++ b/Master/texmf-dist/doc/latex/zref-vario/zref-vario-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/zref-vario/zref-vario.pdf b/Master/texmf-dist/doc/latex/zref-vario/zref-vario.pdf
index e53bd0d300a..a48dc67df0b 100644
--- a/Master/texmf-dist/doc/latex/zref-vario/zref-vario.pdf
+++ b/Master/texmf-dist/doc/latex/zref-vario/zref-vario.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/zref-vario/zref-vario.tex b/Master/texmf-dist/doc/latex/zref-vario/zref-vario.tex
index 572ff4fe6f6..c2cc84878a0 100644
--- a/Master/texmf-dist/doc/latex/zref-vario/zref-vario.tex
+++ b/Master/texmf-dist/doc/latex/zref-vario/zref-vario.tex
@@ -61,13 +61,9 @@
\NewDocumentCommand\opt{m}{\texttt{#1}}
-% Temporary workaround for 'l3doc' bug.
-% https://github.com/latex3/latex3/issues/1111
-% FIXME Remove when fixed upstream.
-\NewDocElement[
- macrolike = false ,
- printtype = \textit{opt.} ,
-]{Option}{optiondesc}
+\NewDocumentCommand\username{m}{`\texttt{#1}'}
+
+\setlength{\marginparsep}{2\labelsep}
\lstdefinestyle{code}{
language=[LaTeX]TeX,
@@ -283,6 +279,24 @@ options. Language independent default values are provided for the
But, if you need to adjust them, the default values can be overridden by
setting the corresponding options in \cs{zvLanguageSetup}.
+\begin{function}{\zvhyperlink}
+ \begin{syntax}
+ \cs{zvhyperlink}\marg{text}
+ \end{syntax}
+\end{function}
+
+Inside the options of \cs{zvLanguageSetup}, and also inside the \opt{vcurrent}
+and \opt{vother} options of \pkg{zref-vario}'s reference commands,
+\cs{zvhyperlink} can be used to produce a hyperlink to the label of the
+reference. For example, one could set \texttt{reftextafter=\{on the
+ \cs{zvhyperlink}\{next page\}\}} to get ``next page'' hyperlinked.
+\cs{zvhyperlink} can be used regardless of \opt{hyperref} being enabled for
+\pkg{zref-clever}, it will just pass on the \meta{text} argument if it is not.
+On range reference commands, \cs{zvhyperlink} only produces a link when both
+labels fall on the same page, in which case it hyperlinks to the first label.
+
+\bigskip{}
+
As far as \pkg{zref-vario} is concerned, \pkg{varioref}'s options are (mostly)
not taken into account: the language options are disregarded (settings made
with \cs{zvLanguageSetup} are used instead), the \opt{nospace} option is
diff --git a/Master/texmf-dist/source/latex/zref-vario/zref-vario.dtx b/Master/texmf-dist/source/latex/zref-vario/zref-vario.dtx
index 81d9dec5d18..0137baa1956 100644
--- a/Master/texmf-dist/source/latex/zref-vario/zref-vario.dtx
+++ b/Master/texmf-dist/source/latex/zref-vario/zref-vario.dtx
@@ -64,8 +64,8 @@
% \NewDocumentCommand\githubPR{m}{^^A
% PR~\href{https://github.com/gusbrs/zref-vario/pull/#1}{\##1}}
%
-% ^^A Currently just for keeping semantic markup on this.
% \NewDocumentCommand\contributor{m}{#1}
+% \NewDocumentCommand\username{m}{`\texttt{#1}'}
%
% \NewDocumentCommand\opt{m}{\texttt{#1}}
%
@@ -128,7 +128,7 @@
%
% Identify the package.
% \begin{macrocode}
-\ProvidesExplPackage {zref-vario} {2022-07-08} {0.1.5}
+\ProvidesExplPackage {zref-vario} {2022-12-29} {0.1.6}
{Extended LaTeX page cross-references with varioref and zref-clever}
% \end{macrocode}
%
@@ -139,12 +139,19 @@
% the user (and the manual recommends it). But we do it, if it hasn't been
% done.
%
+% Note that \pkg{zref-clever} \texttt{v0.2.0-alpha}, from 2022-01-28, requires
+% a kernel 2021-11-15 or newer.
+%
% \begin{macrocode}
\RequirePackage { zref-clever } [ 2022-01-28 ] % v0.2.0-alpha
\AddToHook { begindocument/before }
{ \RequirePackage { varioref } }
% \end{macrocode}
%
+% Also note that, contrary to \pkg{zref-clever}, \pkg{zref-vario} is
+% incompatible with \pkg{cleveref}, because the latter patches \pkg{varioref}
+% in ways that break \pkg{zref-vario}.
+%
%
% \section{Options}
%
@@ -565,7 +572,11 @@
\group_begin:
\keys_set:nn { zref-vario/ref } {#3}
\bool_if:nT {#2}
- { \keys_set:nn { zref-vario/ref } { nohyperref } }
+ {
+ \keys_set:nn { zref-vario/ref } { nohyperref }
+ \bool_set_false:N \l_@@_hyperlink_bool
+ }
+ \tl_set:Nn \l_@@_linklabel_tl {#1}
\@@_varioref_setup:
\reftextfaraway {#1}
\group_end:
@@ -662,6 +673,78 @@
%
%
%
+% Provide proper hyperlinking for the ``nearby'' page references.
+% \pkg{hyperref} makes \cs{vref} a \emph{single} link, including both the
+% standard and the page reference (see Ulrike Fischer's answer and discussion
+% in the comments at \url{https://tex.stackexchange.com/a/655106}). However,
+% it does not provide the same treatment to \cs{vpageref}, where there's no
+% linking at all for nearby pages, to \cs{vrefrange}, \cs{vpagerefrange}, or
+% \cs{vnameref}. In my view, this makes \pkg{hyperref} inconsistent.
+% \pkg{cleveref} indeed discusses the issue in the ``Known Bugs and
+% Work-Arounds'' section, mentioning two problems. The first, that the page
+% reference does not honor the \texttt{nameinlink} option, which it is
+% actually the same behavior we get from \cs{vnameref}. The second, that
+% nearby page references are not included in the links or hyperlinked when by
+% themselves. This latter problem may be considered undesirable, and even a
+% ``bug'', but at least \pkg{cleveref}'s behavior in this regard is
+% consistent.
+%
+% This is actually tricky and I think the best alternative here is to not even
+% try to make a single link of both references, as \pkg{hyperref} does for
+% \cs{vref}. But rather to offer ways to hyperlink the ``nearby'' page
+% references separately, which is something that can work for paired
+% references and for standalone page references just as well.
+% \cs{zvhyperlink} is provided for such purpose, and is meant to be used
+% either in the reference format settings of \cs{zvLanguageSetup}, or in the
+% \opt{vcurrent} and \opt{vother} options of the reference commands. It only
+% makes a hyperlink if used in one such place (technically, if
+% \cs{l_@@_linklabel_tl} is not empty), if \cs{l_@@_hyperlink_bool} is true
+% (to control for starred variants) and if \pkg{hyperref} and
+% \pkg{zref-hyperref} are loaded, otherwise it passes on its argument
+% untouched.
+%
+%
+% \begin{macrocode}
+\bool_new:N \g_@@_zref_hyperref_loaded_bool
+\bool_new:N \l_@@_hyperlink_bool
+\AddToHook { package/zref-hyperref/after }
+ {
+ \AddToHook { package/hyperref/after }
+ {
+ \bool_gset_true:N \g_@@_zref_hyperref_loaded_bool
+ \bool_set_true:N \l_@@_hyperlink_bool
+ }
+ }
+\tl_new:N \l_@@_linklabel_tl
+% \end{macrocode}
+%
+% \begin{macro}[int]{\zvhyperlink}
+% \begin{syntax}
+% \cs{zvhyperlink}\marg{text}
+% \end{syntax}
+% \begin{macrocode}
+\NewDocumentCommand \zvhyperlink { m }
+ { \@@_hyperlink:n {#1} }
+\cs_new_protected:Npn \@@_hyperlink:n #1
+ {
+ \bool_lazy_all:nTF
+ {
+ { \g_@@_zref_hyperref_loaded_bool }
+ { \l_@@_hyperlink_bool }
+ { ! \tl_if_empty_p:V \l_@@_linklabel_tl }
+ }
+ {
+ \hyperlink
+ { \zref@extractdefault { \l_@@_linklabel_tl } { anchor } { } }
+ {#1}
+ }
+ {#1}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
% \section{User interface}
%
% \begin{macro}
@@ -770,7 +853,11 @@
\group_begin:
\keys_set:nn { zref-vario/ref-oneoptarg } {#3}
\bool_if:nT {#2}
- { \keys_set:nn { zref-vario/ref } { nohyperref } }
+ {
+ \keys_set:nn { zref-vario/ref } { nohyperref }
+ \bool_set_false:N \l_@@_hyperlink_bool
+ }
+ \tl_set:Nn \l_@@_linklabel_tl {#1}
\@@_varioref_setup:
\@@_vref:Vn \l_@@_vref_reftextcurrent_tl {#1}
\group_end:
@@ -801,7 +888,11 @@
\group_begin:
\keys_set:nn { zref-vario/ref-twooptargs } {#3}
\bool_if:nT {#2}
- { \keys_set:nn { zref-vario/ref } { nohyperref } }
+ {
+ \keys_set:nn { zref-vario/ref } { nohyperref }
+ \bool_set_false:N \l_@@_hyperlink_bool
+ }
+ \tl_set:Nn \l_@@_linklabel_tl {#1}
\@@_varioref_setup:
\@@_vpageref:VVn \l_@@_reftextcurrent_tl
\l_@@_reftextother_tl {#1}
@@ -843,8 +934,13 @@
\group_begin:
\keys_set:nn { zref-vario/ref-oneoptarg } {#4}
\bool_if:nT {#3}
- { \keys_set:nn { zref-vario/ref } { nohyperref } }
+ {
+ \keys_set:nn { zref-vario/ref } { nohyperref }
+ \bool_set_false:N \l_@@_hyperlink_bool
+ }
\@@_varioref_setup:
+ \vpagerefcompare {#1} {#2}
+ { \tl_set:Nn \l_@@_linklabel_tl {#1} } { }
\@@_vrefrange:Vnn \l_@@_reftextcurrent_tl {#1} {#2}
\group_end:
}
@@ -871,8 +967,13 @@
\group_begin:
\keys_set:nn { zref-vario/ref-oneoptarg } {#4}
\bool_if:nT {#3}
- { \keys_set:nn { zref-vario/ref } { nohyperref } }
+ {
+ \keys_set:nn { zref-vario/ref } { nohyperref }
+ \bool_set_false:N \l_@@_hyperlink_bool
+ }
\@@_varioref_setup:
+ \vpagerefcompare {#1} {#2}
+ { \tl_set:Nn \l_@@_linklabel_tl {#1} } { }
\@@_vpagerefrange:Vnn \l_@@_reftextcurrent_tl {#1} {#2}
\bool_lazy_and:nnT
{ \g_@@_zrefcheck_available_bool }
@@ -914,7 +1015,11 @@
\group_begin:
\keys_set:nn { zref-vario/ref } {#3}
\bool_if:nT {#2}
- { \keys_set:nn { zref-vario/ref } { nohyperref } }
+ {
+ \keys_set:nn { zref-vario/ref } { nohyperref }
+ \bool_set_false:N \l_@@_hyperlink_bool
+ }
+ \tl_set:Nn \l_@@_linklabel_tl {#1}
\@@_varioref_setup:
\fullref {#1}
\group_end:
@@ -987,15 +1092,29 @@
%
% \section{Languages}
%
+% Localization for the languages provided by the author, except where
+% otherwise stated. However, I could only do so thanks to \pkg{varioref}, in
+% particular for languages I don't really know. So, credits go to the
+% contributors of \pkg{varioref}. Of course, if any native speaker would like
+% to review these, or contribute new ones, it is much welcome. Note, however,
+% that since \pkg{zref-vario} depends on \pkg{zref-clever} and piggybacks on
+% its language infrastructure, it only makes sense to provide localization
+% here for languages already supported by \pkg{zref-clever}.
+%
%
% \begin{macrocode}
\zvLanguageSetup { english }
{
- reftextfaceafter = {on~the~\reftextvario{facing}{next}~page} ,
- reftextfacebefore = {on~the~\reftextvario{facing}{preceding}~page} ,
- reftextafter = {on~the~\reftextvario{following}{next}~page} ,
- reftextbefore = {on~the~\reftextvario{preceding}{previous}~page} ,
- reftextcurrent = {on~\reftextvario{this}{the~current}~page} ,
+ reftextfaceafter =
+ {on~the~\zvhyperlink{\reftextvario{facing}{next}~page}} ,
+ reftextfacebefore =
+ {on~the~\zvhyperlink{\reftextvario{facing}{preceding}~page}} ,
+ reftextafter =
+ {on~the~\zvhyperlink{\reftextvario{following}{next}~page}} ,
+ reftextbefore =
+ {on~the~\zvhyperlink{\reftextvario{preceding}{previous}~page}} ,
+ reftextcurrent =
+ {on~\reftextvario{}{the~}\zvhyperlink{\reftextvario{this}{current}~page}} ,
reftextfaraway = {on~\zcpageref{#1}} ,
reftextpagerange = {on~\zcpageref[range]{#1,#2}} ,
reftextlabelrange = {\zcref[range]{#1,#2}} ,
@@ -1006,11 +1125,11 @@
% \begin{macrocode}
\zvLanguageSetup { german }
{
- reftextfaceafter = {auf~der~nächsten~Seite} ,
- reftextfacebefore = {auf~der~vorherigen~Seite} ,
- reftextafter = {auf~der~nächsten~Seite} ,
- reftextbefore = {auf~der~vorherigen~Seite} ,
- reftextcurrent = {auf~dieser~Seite} ,
+ reftextfaceafter = {auf~der~\zvhyperlink{nächsten~Seite}} ,
+ reftextfacebefore = {auf~der~\zvhyperlink{vorherigen~Seite}} ,
+ reftextafter = {auf~der~\zvhyperlink{nächsten~Seite}} ,
+ reftextbefore = {auf~der~\zvhyperlink{vorherigen~Seite}} ,
+ reftextcurrent = {auf~\zvhyperlink{dieser~Seite}} ,
reftextfaraway = {auf~\zcpageref[d=D,g=f]{#1}} ,
reftextpagerange = {auf~den~\zcpageref[range,d=D,g=f]{#1,#2}} ,
reftextlabelrange = {\zcref[range]{#1,#2}} ,
@@ -1021,11 +1140,13 @@
% \begin{macrocode}
\zvLanguageSetup { french }
{
- reftextfaceafter = {page~\reftextvario{ci-contre}{suivante}} ,
- reftextfacebefore = {page~\reftextvario{ci-contre}{précédente}} ,
- reftextafter = {page~suivante} ,
- reftextbefore = {page~précédente} ,
- reftextcurrent = {de~la~présente~page} ,
+ reftextfaceafter =
+ {\zvhyperlink{page~\reftextvario{ci-contre}{suivante}}} ,
+ reftextfacebefore =
+ {\zvhyperlink{page~\reftextvario{ci-contre}{précédente}}} ,
+ reftextafter = {\zvhyperlink{page~suivante}} ,
+ reftextbefore = {\zvhyperlink{page~précédente}} ,
+ reftextcurrent = {de~la~\zvhyperlink{présente~page}} ,
reftextfaraway = {\zcpageref[g=f]{#1}} ,
reftextpagerange = {\zcpageref[range,g=f]{#1,#2}} ,
reftextlabelrange = {\zcref[range]{#1,#2}} ,
@@ -1036,11 +1157,15 @@
% \begin{macrocode}
\zvLanguageSetup { portuguese }
{
- reftextfaceafter = {na~\reftextvario{página~oposta}{próxima~página}} ,
- reftextfacebefore = {na~página~\reftextvario{oposta}{anterior}} ,
- reftextafter = {na~\reftextvario{página~seguinte}{próxima~página}} ,
- reftextbefore = {na~página~\reftextvario{anterior}{precedente}} ,
- reftextcurrent = {nesta~página} ,
+ reftextfaceafter =
+ {na~\zvhyperlink{\reftextvario{página~oposta}{próxima~página}}} ,
+ reftextfacebefore =
+ {na~\zvhyperlink{página~\reftextvario{oposta}{anterior}}} ,
+ reftextafter =
+ {na~\zvhyperlink{\reftextvario{página~seguinte}{próxima~página}}} ,
+ reftextbefore =
+ {na~\zvhyperlink{página~\reftextvario{anterior}{precedente}}} ,
+ reftextcurrent = {\zvhyperlink{nesta~página}} ,
reftextfaraway = {na~\zcpageref[g=f]{#1}} ,
reftextpagerange = {nas~\zcpageref[range,g=f]{#1,#2}} ,
reftextlabelrange = {\zcref[range]{#1,#2}} ,
@@ -1051,11 +1176,11 @@
% \begin{macrocode}
\zvLanguageSetup { spanish }
{
- reftextfaceafter = {en~la~página~siguiente} ,
- reftextfacebefore = {en~la~página~anterior} ,
- reftextafter = {en~la~página~siguiente} ,
- reftextbefore = {en~la~página~anterior} ,
- reftextcurrent = {en~esta~página} ,
+ reftextfaceafter = {en~la~\zvhyperlink{página~siguiente}} ,
+ reftextfacebefore = {en~la~\zvhyperlink{página~anterior}} ,
+ reftextafter = {en~la~\zvhyperlink{página~siguiente}} ,
+ reftextbefore = {en~la~\zvhyperlink{página~anterior}} ,
+ reftextcurrent = {en~\zvhyperlink{esta~página}} ,
reftextfaraway = {en~la~\zcpageref[g=f]{#1}} ,
reftextpagerange = {en~las~\zcpageref[range,g=f]{#1,#2}} ,
reftextlabelrange = {\zcref[range]{#1,#2}} ,
@@ -1066,11 +1191,15 @@
% \begin{macrocode}
\zvLanguageSetup { dutch }
{
- reftextfaceafter = {op~de~\reftextvario{rechter~pagina}{pagina~hiernaast}} ,
- reftextfacebefore = {op~de~\reftextvario{linker~pagina}{pagina~hiernaast}} ,
- reftextafter = {op~de~\reftextvario{volgende~pagina}{pagina~hierna}} ,
- reftextbefore = {op~de~\reftextvario{vorige~pagina}{pagina~hiervoor}} ,
- reftextcurrent = {op~deze~pagina} ,
+ reftextfaceafter =
+ {op~de~\zvhyperlink{\reftextvario{rechter~pagina}{pagina~hiernaast}}} ,
+ reftextfacebefore =
+ {op~de~\zvhyperlink{\reftextvario{linker~pagina}{pagina~hiernaast}}} ,
+ reftextafter =
+ {op~de~\zvhyperlink{\reftextvario{volgende~pagina}{pagina~hierna}}} ,
+ reftextbefore =
+ {op~de~\zvhyperlink{\reftextvario{vorige~pagina}{pagina~hiervoor}}} ,
+ reftextcurrent = {op~\zvhyperlink{deze~pagina}} ,
reftextfaraway = {op~\zcpageref[g=f]{#1}} ,
reftextpagerange = {op~\zcpageref[range,g=f]{#1,#2}} ,
reftextlabelrange = {\zcref[range]{#1,#2}} ,
@@ -1079,6 +1208,24 @@
%
%
% \begin{macrocode}
+\zvLanguageSetup { italian }
+ {
+ reftextfaceafter =
+ {\reftextvario{}{nella~}\zvhyperlink{\reftextvario{a~fronte}{pagina~successiva}}} ,
+ reftextfacebefore =
+ {\reftextvario{}{nella~}\zvhyperlink{\reftextvario{a~fronte}{pagina~precedente}}} ,
+ reftextafter =
+ {nella~\zvhyperlink{pagina~\reftextvario{seguente}{successiva}}} ,
+ reftextbefore = {nella~\zvhyperlink{pagina~precedente}} ,
+ reftextcurrent = {in~\zvhyperlink{questa~pagina}} ,
+ reftextfaraway = {a~\zcpageref[g=f]{#1}} ,
+ reftextpagerange = {nelle~\zcpageref[range,g=f]{#1,#2}} ,
+ reftextlabelrange = {\zcref[range]{#1,#2}} ,
+ }
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
%</package>
% \end{macrocode}
%
diff --git a/Master/texmf-dist/tex/latex/zref-vario/zref-vario.sty b/Master/texmf-dist/tex/latex/zref-vario/zref-vario.sty
index 9ccbc2133d3..6668bc2cd76 100644
--- a/Master/texmf-dist/tex/latex/zref-vario/zref-vario.sty
+++ b/Master/texmf-dist/tex/latex/zref-vario/zref-vario.sty
@@ -42,7 +42,7 @@
%%
%% -----------------------------------------------------------------------
%%
-\ProvidesExplPackage {zref-vario} {2022-07-08} {0.1.5}
+\ProvidesExplPackage {zref-vario} {2022-12-29} {0.1.6}
{Extended LaTeX page cross-references with varioref and zref-clever}
\RequirePackage { zref-clever } [ 2022-01-28 ] % v0.2.0-alpha
\AddToHook { begindocument/before }
@@ -341,7 +341,11 @@
\group_begin:
\keys_set:nn { zref-vario/ref } {#3}
\bool_if:nT {#2}
- { \keys_set:nn { zref-vario/ref } { nohyperref } }
+ {
+ \keys_set:nn { zref-vario/ref } { nohyperref }
+ \bool_set_false:N \l__zrefvario_hyperlink_bool
+ }
+ \tl_set:Nn \l__zrefvario_linklabel_tl {#1}
\__zrefvario_varioref_setup:
\reftextfaraway {#1}
\group_end:
@@ -422,6 +426,34 @@
Language~'#1'~is~not~set~up~for~'zref-vario'.~
See~documentation~for~'\iow_char:N\\zvLanguageSetup'.
}
+\bool_new:N \g__zrefvario_zref_hyperref_loaded_bool
+\bool_new:N \l__zrefvario_hyperlink_bool
+\AddToHook { package/zref-hyperref/after }
+ {
+ \AddToHook { package/hyperref/after }
+ {
+ \bool_gset_true:N \g__zrefvario_zref_hyperref_loaded_bool
+ \bool_set_true:N \l__zrefvario_hyperlink_bool
+ }
+ }
+\tl_new:N \l__zrefvario_linklabel_tl
+\NewDocumentCommand \zvhyperlink { m }
+ { \__zrefvario_hyperlink:n {#1} }
+\cs_new_protected:Npn \__zrefvario_hyperlink:n #1
+ {
+ \bool_lazy_all:nTF
+ {
+ { \g__zrefvario_zref_hyperref_loaded_bool }
+ { \l__zrefvario_hyperlink_bool }
+ { ! \tl_if_empty_p:V \l__zrefvario_linklabel_tl }
+ }
+ {
+ \hyperlink
+ { \zref@extractdefault { \l__zrefvario_linklabel_tl } { anchor } { } }
+ {#1}
+ }
+ {#1}
+ }
\cs_new_protected:Npn \__zrefvario_vref_pagenum:Nn #1#2
{
\exp_args:NNNo \exp_args:NNo \cs_set_nopar:Npn #1
@@ -497,7 +529,11 @@
\group_begin:
\keys_set:nn { zref-vario/ref-oneoptarg } {#3}
\bool_if:nT {#2}
- { \keys_set:nn { zref-vario/ref } { nohyperref } }
+ {
+ \keys_set:nn { zref-vario/ref } { nohyperref }
+ \bool_set_false:N \l__zrefvario_hyperlink_bool
+ }
+ \tl_set:Nn \l__zrefvario_linklabel_tl {#1}
\__zrefvario_varioref_setup:
\__zrefvario_vref:Vn \l__zrefvario_vref_reftextcurrent_tl {#1}
\group_end:
@@ -512,7 +548,11 @@
\group_begin:
\keys_set:nn { zref-vario/ref-twooptargs } {#3}
\bool_if:nT {#2}
- { \keys_set:nn { zref-vario/ref } { nohyperref } }
+ {
+ \keys_set:nn { zref-vario/ref } { nohyperref }
+ \bool_set_false:N \l__zrefvario_hyperlink_bool
+ }
+ \tl_set:Nn \l__zrefvario_linklabel_tl {#1}
\__zrefvario_varioref_setup:
\__zrefvario_vpageref:VVn \l__zrefvario_reftextcurrent_tl
\l__zrefvario_reftextother_tl {#1}
@@ -545,8 +585,13 @@
\group_begin:
\keys_set:nn { zref-vario/ref-oneoptarg } {#4}
\bool_if:nT {#3}
- { \keys_set:nn { zref-vario/ref } { nohyperref } }
+ {
+ \keys_set:nn { zref-vario/ref } { nohyperref }
+ \bool_set_false:N \l__zrefvario_hyperlink_bool
+ }
\__zrefvario_varioref_setup:
+ \vpagerefcompare {#1} {#2}
+ { \tl_set:Nn \l__zrefvario_linklabel_tl {#1} } { }
\__zrefvario_vrefrange:Vnn \l__zrefvario_reftextcurrent_tl {#1} {#2}
\group_end:
}
@@ -564,8 +609,13 @@
\group_begin:
\keys_set:nn { zref-vario/ref-oneoptarg } {#4}
\bool_if:nT {#3}
- { \keys_set:nn { zref-vario/ref } { nohyperref } }
+ {
+ \keys_set:nn { zref-vario/ref } { nohyperref }
+ \bool_set_false:N \l__zrefvario_hyperlink_bool
+ }
\__zrefvario_varioref_setup:
+ \vpagerefcompare {#1} {#2}
+ { \tl_set:Nn \l__zrefvario_linklabel_tl {#1} } { }
\__zrefvario_vpagerefrange:Vnn \l__zrefvario_reftextcurrent_tl {#1} {#2}
\bool_lazy_and:nnT
{ \g__zrefvario_zrefcheck_available_bool }
@@ -598,7 +648,11 @@
\group_begin:
\keys_set:nn { zref-vario/ref } {#3}
\bool_if:nT {#2}
- { \keys_set:nn { zref-vario/ref } { nohyperref } }
+ {
+ \keys_set:nn { zref-vario/ref } { nohyperref }
+ \bool_set_false:N \l__zrefvario_hyperlink_bool
+ }
+ \tl_set:Nn \l__zrefvario_linklabel_tl {#1}
\__zrefvario_varioref_setup:
\fullref {#1}
\group_end:
@@ -648,70 +702,99 @@
}
\zvLanguageSetup { english }
{
- reftextfaceafter = {on~the~\reftextvario{facing}{next}~page} ,
- reftextfacebefore = {on~the~\reftextvario{facing}{preceding}~page} ,
- reftextafter = {on~the~\reftextvario{following}{next}~page} ,
- reftextbefore = {on~the~\reftextvario{preceding}{previous}~page} ,
- reftextcurrent = {on~\reftextvario{this}{the~current}~page} ,
+ reftextfaceafter =
+ {on~the~\zvhyperlink{\reftextvario{facing}{next}~page}} ,
+ reftextfacebefore =
+ {on~the~\zvhyperlink{\reftextvario{facing}{preceding}~page}} ,
+ reftextafter =
+ {on~the~\zvhyperlink{\reftextvario{following}{next}~page}} ,
+ reftextbefore =
+ {on~the~\zvhyperlink{\reftextvario{preceding}{previous}~page}} ,
+ reftextcurrent =
+ {on~\reftextvario{}{the~}\zvhyperlink{\reftextvario{this}{current}~page}} ,
reftextfaraway = {on~\zcpageref{#1}} ,
reftextpagerange = {on~\zcpageref[range]{#1,#2}} ,
reftextlabelrange = {\zcref[range]{#1,#2}} ,
}
\zvLanguageSetup { german }
{
- reftextfaceafter = {auf~der~nächsten~Seite} ,
- reftextfacebefore = {auf~der~vorherigen~Seite} ,
- reftextafter = {auf~der~nächsten~Seite} ,
- reftextbefore = {auf~der~vorherigen~Seite} ,
- reftextcurrent = {auf~dieser~Seite} ,
+ reftextfaceafter = {auf~der~\zvhyperlink{nächsten~Seite}} ,
+ reftextfacebefore = {auf~der~\zvhyperlink{vorherigen~Seite}} ,
+ reftextafter = {auf~der~\zvhyperlink{nächsten~Seite}} ,
+ reftextbefore = {auf~der~\zvhyperlink{vorherigen~Seite}} ,
+ reftextcurrent = {auf~\zvhyperlink{dieser~Seite}} ,
reftextfaraway = {auf~\zcpageref[d=D,g=f]{#1}} ,
reftextpagerange = {auf~den~\zcpageref[range,d=D,g=f]{#1,#2}} ,
reftextlabelrange = {\zcref[range]{#1,#2}} ,
}
\zvLanguageSetup { french }
{
- reftextfaceafter = {page~\reftextvario{ci-contre}{suivante}} ,
- reftextfacebefore = {page~\reftextvario{ci-contre}{précédente}} ,
- reftextafter = {page~suivante} ,
- reftextbefore = {page~précédente} ,
- reftextcurrent = {de~la~présente~page} ,
+ reftextfaceafter =
+ {\zvhyperlink{page~\reftextvario{ci-contre}{suivante}}} ,
+ reftextfacebefore =
+ {\zvhyperlink{page~\reftextvario{ci-contre}{précédente}}} ,
+ reftextafter = {\zvhyperlink{page~suivante}} ,
+ reftextbefore = {\zvhyperlink{page~précédente}} ,
+ reftextcurrent = {de~la~\zvhyperlink{présente~page}} ,
reftextfaraway = {\zcpageref[g=f]{#1}} ,
reftextpagerange = {\zcpageref[range,g=f]{#1,#2}} ,
reftextlabelrange = {\zcref[range]{#1,#2}} ,
}
\zvLanguageSetup { portuguese }
{
- reftextfaceafter = {na~\reftextvario{página~oposta}{próxima~página}} ,
- reftextfacebefore = {na~página~\reftextvario{oposta}{anterior}} ,
- reftextafter = {na~\reftextvario{página~seguinte}{próxima~página}} ,
- reftextbefore = {na~página~\reftextvario{anterior}{precedente}} ,
- reftextcurrent = {nesta~página} ,
+ reftextfaceafter =
+ {na~\zvhyperlink{\reftextvario{página~oposta}{próxima~página}}} ,
+ reftextfacebefore =
+ {na~\zvhyperlink{página~\reftextvario{oposta}{anterior}}} ,
+ reftextafter =
+ {na~\zvhyperlink{\reftextvario{página~seguinte}{próxima~página}}} ,
+ reftextbefore =
+ {na~\zvhyperlink{página~\reftextvario{anterior}{precedente}}} ,
+ reftextcurrent = {\zvhyperlink{nesta~página}} ,
reftextfaraway = {na~\zcpageref[g=f]{#1}} ,
reftextpagerange = {nas~\zcpageref[range,g=f]{#1,#2}} ,
reftextlabelrange = {\zcref[range]{#1,#2}} ,
}
\zvLanguageSetup { spanish }
{
- reftextfaceafter = {en~la~página~siguiente} ,
- reftextfacebefore = {en~la~página~anterior} ,
- reftextafter = {en~la~página~siguiente} ,
- reftextbefore = {en~la~página~anterior} ,
- reftextcurrent = {en~esta~página} ,
+ reftextfaceafter = {en~la~\zvhyperlink{página~siguiente}} ,
+ reftextfacebefore = {en~la~\zvhyperlink{página~anterior}} ,
+ reftextafter = {en~la~\zvhyperlink{página~siguiente}} ,
+ reftextbefore = {en~la~\zvhyperlink{página~anterior}} ,
+ reftextcurrent = {en~\zvhyperlink{esta~página}} ,
reftextfaraway = {en~la~\zcpageref[g=f]{#1}} ,
reftextpagerange = {en~las~\zcpageref[range,g=f]{#1,#2}} ,
reftextlabelrange = {\zcref[range]{#1,#2}} ,
}
\zvLanguageSetup { dutch }
{
- reftextfaceafter = {op~de~\reftextvario{rechter~pagina}{pagina~hiernaast}} ,
- reftextfacebefore = {op~de~\reftextvario{linker~pagina}{pagina~hiernaast}} ,
- reftextafter = {op~de~\reftextvario{volgende~pagina}{pagina~hierna}} ,
- reftextbefore = {op~de~\reftextvario{vorige~pagina}{pagina~hiervoor}} ,
- reftextcurrent = {op~deze~pagina} ,
+ reftextfaceafter =
+ {op~de~\zvhyperlink{\reftextvario{rechter~pagina}{pagina~hiernaast}}} ,
+ reftextfacebefore =
+ {op~de~\zvhyperlink{\reftextvario{linker~pagina}{pagina~hiernaast}}} ,
+ reftextafter =
+ {op~de~\zvhyperlink{\reftextvario{volgende~pagina}{pagina~hierna}}} ,
+ reftextbefore =
+ {op~de~\zvhyperlink{\reftextvario{vorige~pagina}{pagina~hiervoor}}} ,
+ reftextcurrent = {op~\zvhyperlink{deze~pagina}} ,
reftextfaraway = {op~\zcpageref[g=f]{#1}} ,
reftextpagerange = {op~\zcpageref[range,g=f]{#1,#2}} ,
reftextlabelrange = {\zcref[range]{#1,#2}} ,
}
+\zvLanguageSetup { italian }
+ {
+ reftextfaceafter =
+ {\reftextvario{}{nella~}\zvhyperlink{\reftextvario{a~fronte}{pagina~successiva}}} ,
+ reftextfacebefore =
+ {\reftextvario{}{nella~}\zvhyperlink{\reftextvario{a~fronte}{pagina~precedente}}} ,
+ reftextafter =
+ {nella~\zvhyperlink{pagina~\reftextvario{seguente}{successiva}}} ,
+ reftextbefore = {nella~\zvhyperlink{pagina~precedente}} ,
+ reftextcurrent = {in~\zvhyperlink{questa~pagina}} ,
+ reftextfaraway = {a~\zcpageref[g=f]{#1}} ,
+ reftextpagerange = {nelle~\zcpageref[range,g=f]{#1,#2}} ,
+ reftextlabelrange = {\zcref[range]{#1,#2}} ,
+ }
%%
%%
%% End of file `zref-vario.sty'.