[latex3-commits] [git/LaTeX3-latex3-pdfresources] testlinkcmdhooks: add cmd hooks to link commands (855a566)
Ulrike Fischer
fischer at troubleshooting-tex.de
Thu Apr 22 20:12:05 CEST 2021
Repository : https://github.com/latex3/pdfresources
On branch : testlinkcmdhooks
Link : https://github.com/latex3/pdfresources/commit/855a5665ea1c54272c182085ba9bc2769a28f1a6
>---------------------------------------------------------------
commit 855a5665ea1c54272c182085ba9bc2769a28f1a6
Author: Ulrike Fischer <fischer at troubleshooting-tex.de>
Date: Thu Apr 22 20:12:05 2021 +0200
add cmd hooks to link commands
>---------------------------------------------------------------
855a5665ea1c54272c182085ba9bc2769a28f1a6
hyperref-generic.dtx | 51 +++++++++++++++++++++++++++++++++++++++++----------
1 file changed, 41 insertions(+), 10 deletions(-)
diff --git a/hyperref-generic.dtx b/hyperref-generic.dtx
index 5d5309d..6de91ff 100644
--- a/hyperref-generic.dtx
+++ b/hyperref-generic.dtx
@@ -1242,10 +1242,12 @@
,href / format .code:n = { \cs_set_eq:NN \@@_href_url_format #1 }
}
-
+\hook_new_pair:nn{cmd/href/before}{cmd/href/after}
\DeclareRobustCommand*{\href}[1][]{%
- \begingroup
+ \mode_leave_vertical:
+ \hook_use:n{cmd/href/before}
+ \group_begin:
\keys_set:nn { hyp / href } {#1}
\let\protect\@unexpandable at protect
\bool_if:NTF \l_@@_href_url_encode_bool
@@ -1258,12 +1260,27 @@
\@ifnextchar\bgroup\Hy at href{\hyper at normalise\href@}%
}
+\begingroup
+ \catcode`\$=6 %
+ \catcode`\#=12 %
+ \gdef\href@$1{\expandafter\href at split$1##\\}%
+ \gdef\href at split$1#$2#$3\\$4{%
+ \hyper@@link{$1}{$2}{$4}%
+ \endgroup
+ \hook_use:n{cmd/href/after}
+ }%
+\endgroup
-\DeclareRobustCommand*{\hrefurl}[1][]{
- \group_begin:
- \keys_set:nn { hyp / href } {#1}
- \let\protect\@unexpandable at protect
- \bool_if:NTF \l_@@_href_url_encode_bool
+\hook_new_pair:nn{cmd/hrefurl/before}{cmd/hrefurl/after}
+
+\DeclareRobustCommand*{\hrefurl}[1][]
+ {
+ \mode_leave_vertical:
+ \hook_use:n{cmd/href/before}
+ \group_begin:
+ \keys_set:nn { hyp / href } {#1}
+ \let\protect\@unexpandable at protect
+ \bool_if:NTF \l_@@_href_url_encode_bool
{
\tl_set:Nn \l__hyp_text_enc_uri_print_tl {utf8/URI}
}
@@ -1276,12 +1293,15 @@
{
\exp_args:Nno\hyper at linkurl{#2}{\l_@@_href_url_protocol_tl#1}
\group_end:
+ \hook_use:n{cmd/href/after}
}
-
+\hook_new_pair:nn{cmd/hrefpdf/before}{cmd/hrefpdf/after}
\DeclareRobustCommand*{\hrefpdf}[1][]
{
- \begingroup
+ \mode_leave_vertical:
+ \hook_use:n{cmd/hrefpdf/before}
+ \group_begin:
\keys_set:nn { hyp / href } {#1}
\let\protect\@unexpandable at protect
\hyper at normalise\@@_href_pdf_aux:nn
@@ -1289,11 +1309,16 @@
\cs_new_protected:Npn \@@_href_pdf_aux:nn #1 #2
{
- \exp_args:Nnno\hyper at linkfile{#2}{#1}{\l_@@_href_pdf_destination_tl}\endgroup
+ \exp_args:Nnno\hyper at linkfile{#2}{#1}{\l_@@_href_pdf_destination_tl}
+ \group_end:
+ \hook_use:n{cmd/hrefpdf/after}
}
+\hook_new_pair:nn{cmd/hrefrun/before}{cmd/hrefrun/after}
\DeclareRobustCommand*{\hrefrun}[1][]
{
+ \mode_leave_vertical:
+ \hook_use:n{cmd/hrefrun/before}
\group_begin:
\keys_set:nn { hyp / href } {#1}
\let\protect\@unexpandable at protect
@@ -1304,11 +1329,16 @@
{
\exp_args:Nnno\hyper at linklaunch{#2}{#1}{\l_@@_href_run_parameter_tl}
\group_end:
+ \hook_use:n{cmd/hrefrun/after}
}
+
+\hook_new_pair:nn{cmd/url/before}{cmd/url/after}
+
\DeclareRobustCommand*{\url}[1][]
{
\mode_leave_vertical:
+ \hook_use:n{cmd/url/before}
\group_begin:
\keys_set:nn {hyp / href } {#1}
\let\protect \@unexpandable at protect
@@ -1328,6 +1358,7 @@
\hyper at linkurl{\@@_href_url_format {#1}}
{\l_@@_href_url_protocol_tl#1}
\group_end:
+ \hook_use:n{cmd/url/after}
}
% \end{macrocode}
More information about the latex3-commits
mailing list.