From 0ef5174e5fc5ffea020725c2362527e573a095a1 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 7 Feb 2020 21:49:38 +0000 Subject: letterswitharrows (7feb20) git-svn-id: svn://tug.org/texlive/trunk@53709 c570f23f-e606-0410-a88d-b1316a301751 --- .../latex/letterswitharrows/letterswitharrows.sty | 87 +++++++++++++++++----- 1 file changed, 69 insertions(+), 18 deletions(-) (limited to 'Master/texmf-dist/tex/latex/letterswitharrows') diff --git a/Master/texmf-dist/tex/latex/letterswitharrows/letterswitharrows.sty b/Master/texmf-dist/tex/latex/letterswitharrows/letterswitharrows.sty index f35f0708b6e..edecd094b38 100644 --- a/Master/texmf-dist/tex/latex/letterswitharrows/letterswitharrows.sty +++ b/Master/texmf-dist/tex/latex/letterswitharrows/letterswitharrows.sty @@ -7,7 +7,7 @@ %% letterswitharrows.dtx (with options: `package') %% %% File: letterswitharrows.dtx -%% Copyright 2019 J. Maximilian Teegen +%% Copyright 2019-2020 J. Maximilian Teegen %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -40,7 +40,7 @@ \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\ProvidesExplPackage {letterswitharrows} {2019-11-21} {} {Draw arrows over math letters.} +\ProvidesExplPackage {letterswitharrows} {2020-02-04} {} {Draw arrows over math letters.} \RequirePackage{xparse,l3keys2e,mathtools} \msg_new:nnn {letterswitharrows} {pdf-only} {Only~pdf~output~is~supported.} @@ -161,13 +161,19 @@ \__jmt_lwa_arrow_overset_aux:w } +\cs_new:Nn \__jmt_lwa_bool_convert:n { + \IfBooleanTF {#1} {\c_true_bool} {\c_false_bool} +} + \exp_args:NNx \NewDocumentCommand \__jmt_lwa_arrow_overset_aux:w {s O{0mu} O{1} O{0ex} m t' e{\char_generate:nn {95}{8}} t'} { \__jmt_lwa_arrow_overset:nnnnn { #5 - \c_math_superscript_token { - \scriptscriptstyle\IfBooleanT{#6}{\prime}\IfBooleanT{#8}{\prime} + \exp_args:Nf\bool_if:nT{\__jmt_lwa_bool_convert:n{#6} || \__jmt_lwa_bool_convert:n{#8}} { + \c_math_superscript_token { + \scriptscriptstyle\IfBooleanT{#6}{\prime}\IfBooleanT{#8}{\prime} + } } % TODO: Better positioning etc? \exp_args:Nf\IfValueT{\use:n#7} { \c_math_subscript_token { @@ -180,7 +186,7 @@ \exp_args:Nf\IfValueTF{\use:n#7}{ % TODO: Better way to do this? This is all kinds of wrong. - \hphantom{\!\c_math_subscript_token{#7}} + \hphantom{\c_math_subscript_token{#7}} } {} \c_group_end_token } @@ -272,19 +278,64 @@ } } {} \bool_if:NTF \g__jmt_lwa_tweak_shortcuts_bool { - \prop_if_in:NnTF \g__jmt_lwa_selected_presets_prop {ABC} { - \cs_set:cpn {vS} { - \__jmt_lwa_arrow_overset:w[2mu][8/10]{S} - } - } {} - \prop_if_in:NnTF \g__jmt_lwa_selected_presets_prop {abc} { - \cs_new:cpn {vell} { - \__jmt_lwa_arrow_overset:w{\ell} - } - \cs_new:cpn {ellv} { - \__jmt_lwa_arrow_overset:w{\ell} - } - } {} + \prop_if_in:NnTF \g__jmt_lwa_selected_presets_prop {ABC} { + \int_step_inline:nnn {1} {26} { + \cs_set:cpx {v\int_to_Alph:n{#1}} { + \exp_not:N\__jmt_lwa_arrow_overset:w[2.5mu][8/10]{\int_to_Alph:n{#1}} + } + \cs_set:cpx {\int_to_Alph:n{#1}v} { + \exp_not:N\__jmt_lwa_arrow_overset:w*[2.5mu][7/10]{\int_to_Alph:n{#1}} + } + } + \cs_set:cpn {vS} { + \__jmt_lwa_arrow_overset:w[3mu][7/10]{S} + } + \cs_set:cpn {vT} { + \__jmt_lwa_arrow_overset:w[2mu][8/10]{T} + } + \cs_set:cpn {Tv} { + \__jmt_lwa_arrow_overset:w*[1mu][8/10]{T} + } + \cs_set:cpn {vU} { + \__jmt_lwa_arrow_overset:w[2mu][7/10]{U} + } + \cs_set:cpn {Uv} { + \__jmt_lwa_arrow_overset:w*[2mu][7/10]{U} + } + \cs_set:cpn {vV} { + \__jmt_lwa_arrow_overset:w[2.5mu][7/10]{V} + } + \cs_set:cpn {Vv} { + \__jmt_lwa_arrow_overset:w*[2mu][7/10]{V} + } + \cs_set:cpn {vX} { + \__jmt_lwa_arrow_overset:w[3mu][7/10]{X} + } + \cs_set:cpn {vY} { + \__jmt_lwa_arrow_overset:w[2mu][8/10]{Y} + } + \cs_set:cpn {Yv} { + \__jmt_lwa_arrow_overset:w*[2mu][7/10]{Y} + } + } {} + \prop_if_in:NnTF \g__jmt_lwa_selected_presets_prop {cAcBcC} { + \int_step_inline:nnn {1} {26} { + \cs_set:cpx {vc\int_to_Alph:n{#1}} { + \exp_not:N\__jmt_lwa_arrow_overset:w[1mu][9/10]{\exp_not:N\mathcal{\int_to_Alph:n{#1}}} + } + \cs_set:cpx {c\int_to_Alph:n{#1}v} { + \exp_not:N\__jmt_lwa_arrow_overset:w*[1.5mu][8/10]{\exp_not:N\mathcal{\int_to_Alph:n{#1}}} + } + } + } {} + \prop_if_in:NnTF \g__jmt_lwa_selected_presets_prop {abc} { + \cs_new:cpn {vell} { + \__jmt_lwa_arrow_overset:w{\ell} + } + \cs_new:cpn {ellv} { + \__jmt_lwa_arrow_overset:w{\ell} + } + } {} } {} \endinput -- cgit v1.2.3