summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-01-30 00:05:57 +0000
committerKarl Berry <karl@freefriends.org>2018-01-30 00:05:57 +0000
commitb58f8f909aeec6d28a8d78be1ea126744934c852 (patch)
treedf2021ce0650cf28212425f6c4242dfdef63071f
parent0ed22e7aba69650a69bc6936a03aeff92bbd885b (diff)
aligned-overset (29jan18)
git-svn-id: svn://tug.org/texlive/trunk@46479 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/aligned-overset/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/aligned-overset/aligned-overset.pdfbin0 -> 360647 bytes
-rw-r--r--Master/texmf-dist/source/latex/aligned-overset/aligned-overset.dtx197
-rw-r--r--Master/texmf-dist/tex/latex/aligned-overset/aligned-overset.sty109
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check1
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
-rw-r--r--Master/tlpkg/tlpsrc/aligned-overset.tlpsrc0
-rw-r--r--Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc1
8 files changed, 313 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/aligned-overset/README.md b/Master/texmf-dist/doc/latex/aligned-overset/README.md
new file mode 100644
index 00000000000..31118d1c5bb
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/aligned-overset/README.md
@@ -0,0 +1,4 @@
+This package allows the base character of `\underset` or `\overset` to be used as the alignment position for the amsmath aligned math environments.
+
+To install, you can run `tex align-overset.dtx` and copy the generated file `aligned-overset.sty` to a directory in the search path of your TeX installation.
+For quick evaluation, you can also rename `align-overset.dtx` to `align-overset.sty` and use that file directly.
diff --git a/Master/texmf-dist/doc/latex/aligned-overset/aligned-overset.pdf b/Master/texmf-dist/doc/latex/aligned-overset/aligned-overset.pdf
new file mode 100644
index 00000000000..bcac646c936
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/aligned-overset/aligned-overset.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/aligned-overset/aligned-overset.dtx b/Master/texmf-dist/source/latex/aligned-overset/aligned-overset.dtx
new file mode 100644
index 00000000000..871622321b0
--- /dev/null
+++ b/Master/texmf-dist/source/latex/aligned-overset/aligned-overset.dtx
@@ -0,0 +1,197 @@
+% \iffalse meta-comment
+%
+%% Copyright (C) 2018 by Marcel Krueger
+%%
+%% This file 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.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%
+%<*batch>
+%<*gobble>
+\ifx\jobname\relax\let\documentclass\undefined\fi
+\ifx\documentclass\undefined
+\csname fi\endcsname
+%</gobble>
+\input l3docstrip.tex
+\keepsilent
+\preamble
+\endpreamble
+\generate{\file{aligned-overset.sty}{\from{aligned-overset.dtx}{package}}}
+\endbatchfile
+%</batch>
+%<*gobble>
+\fi
+\expandafter\ifx\csname @currname\endcsname\empty
+\csname fi\endcsname
+%</gobble>
+%<*driver>
+\documentclass[full]{l3doc}
+\usepackage{aligned-overset}
+\begin{document}
+\DocInput{aligned-overset.dtx}
+\PrintIndex
+\PrintChanges
+\end{document}
+%</driver>
+%<*gobble>
+\fi
+%</gobble>
+% \fi
+%
+% \GetFileInfo{aligned-overset.dtx}
+% \title{The \pkg{aligned-overset} package\thanks{This document
+% corresponds to \pkg{aligned-overset}~0.0.1, dated~2018/01/18.}}
+% \author{Marcel Kr\"uger \\ \href{mailto:tex@2krueger.de}{tex@2krueger.de}}
+%
+% \maketitle
+%
+% \begin{documentation}
+% This package allows the base character of \cmd\underset{} or \cmd\overset{} to be used as the alignment position for the amsmath aligned math environments.
+%
+% \section{Example}
+% The naive way to align at an operator annotated by \cmd\overset{} would be
+% \begin{verbatim}
+% \begin{align*}
+% f(x)&\overset{\text{Def}}=x+x\\
+% & =2x
+% \end{align*}
+% \end{verbatim}
+% This results in
+% \begin{align*}
+% f(x)&\overset{\text{Def}}=x+x\\
+% & =2x
+% \end{align*}
+% But here, the two equal signes are not aligned.
+%
+% Using this package, this can be fixed by writing
+% \begin{verbatim}
+% \begin{align*}
+% f(x)\overset{\text{Def}}&=x+x\\
+% &=2x
+% \end{align*}
+% \end{verbatim}
+% which result in correct alignment:
+% \begin{align*}
+% f(x)\overset{\text{Def}}&=x+x\\
+% &=2x
+% \end{align*}
+% \section{Usage}
+% \begin{function}{\overset,\underset}
+% To add an alignment point at an \cmd\overset{} or \cmd\underset, add a |&| before the base symbol.
+% The |&| should not be enclosed in braces, even if the symbols are enclosed in braces.
+% For example you have to write |\overset{\approx}&{\ge}| instead of |\overset{\approx}{&\ge}|.
+% \end{function}
+% \end{documentation}
+% \begin{implementation}
+% \section{The implementation}
+% \begin{macrocode}
+%<@@=alignedsets>
+% \end{macrocode}
+% \iffalse
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\RequirePackage{expl3}
+\ProvidesExplPackage
+ {aligned-overset}
+ {2018/01/18}
+ {0.0.1}
+ {aligned overset and underset}
+
+\RequirePackage{xparse,amsmath,mathtools}
+%</package>
+% \fi
+% \begin{macrocode}
+\box_new:N\l__alignedsets_clap_box
+\box_new:N\l__alignedsets_full_box
+
+% \end{macrocode}
+% \begin{macro}{\overset}
+% \begin{macrocode}
+\let\__alignedsets_original_overset:nn\overset
+\cs_set:Npn\overset{
+ \group_align_safe_begin:
+ \__alignedsets_modified_overset:nwn
+}
+\NewExpandableDocumentCommand\__alignedsets_modified_overset:nwn{mt{&}m}{
+ \group_align_safe_end:
+ \IfBooleanTF{#2}{
+ \group_begin:
+ \hbox_set:Nn\l__alignedsets_clap_box{
+ $
+ \displaystyle
+ {}\__alignedsets_original_overset:nn{\mathclap{#1}}{#3}{}
+ $
+ }
+ \hbox_set:Nn\l__alignedsets_full_box{
+ $
+ \displaystyle
+ {}\__alignedsets_original_overset:nn{#1}{#3}{}
+ $
+ }
+ \hspace{
+ \dim_eval:n{(\box_wd:N\l__alignedsets_full_box-\box_wd:N\l__alignedsets_clap_box)/2}
+ }
+ \exp_args:NNNx
+ \group_end:
+ {&}
+ \hspace{
+ -\dim_eval:n{
+ (\box_wd:N\l__alignedsets_full_box-\box_wd:N\l__alignedsets_clap_box)/2
+ }
+ }
+ \__alignedsets_original_overset:nn{#1}{#3}
+ }{
+ \__alignedsets_original_overset:nn{#1}{#3}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\underset}
+% \begin{macrocode}
+\let\__alignedsets_original_underset:nn\underset
+\cs_set:Npn\underset{
+ \group_align_safe_begin:
+ \__alignedsets_modified_underset:nwn
+}
+\NewExpandableDocumentCommand\__alignedsets_modified_underset:nwn{mt{&}m}{
+ \group_align_safe_end:
+ \group_end_ee:
+ \IfBooleanTF{#2}{
+ \group_begin:
+ \hbox_set:Nn\l__alignedsets_clap_box{
+ $
+ \displaystyle
+ {}\__alignedsets_original_underset:nn{\mathclap{#1}}{#3}{}
+ $
+ }
+ \hbox_set:Nn\l__alignedsets_full_box{
+ $
+ \displaystyle
+ {}\__alignedsets_original_underset:nn{#1}{#3}{}
+ $
+ }
+ \hspace{
+ \dim_eval:n{(\box_wd:N\l__alignedsets_full_box-\box_wd:N\l__alignedsets_clap_box)/2}
+ }
+ \exp_args:NNNx
+ \group_end:
+ {&}
+ \hspace{
+ -\dim_eval:n{
+ (\box_wd:N\l__alignedsets_full_box-\box_wd:N\l__alignedsets_clap_box)/2
+ }
+ }
+ \__alignedsets_original_underset:nn{#1}{#3}
+ }{
+ \__alignedsets_original_underset:nn{#1}{#3}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+% \end{implementation}
diff --git a/Master/texmf-dist/tex/latex/aligned-overset/aligned-overset.sty b/Master/texmf-dist/tex/latex/aligned-overset/aligned-overset.sty
new file mode 100644
index 00000000000..5495608cb83
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/aligned-overset/aligned-overset.sty
@@ -0,0 +1,109 @@
+%%
+%% This is file `aligned-overset.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% aligned-overset.dtx (with options: `package')
+%%
+%% Copyright (C) 2018 by Marcel Krueger
+%%
+%% This file 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.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+\NeedsTeXFormat{LaTeX2e}
+\RequirePackage{expl3}
+\ProvidesExplPackage
+ {aligned-overset}
+ {2018/01/18}
+ {0.0.1}
+ {aligned overset and underset}
+
+\RequirePackage{xparse,amsmath,mathtools}
+\box_new:N\l__alignedsets_clap_box
+\box_new:N\l__alignedsets_full_box
+
+\let\__alignedsets_original_overset:nn\overset
+\cs_set:Npn\overset{
+ \group_align_safe_begin:
+ \__alignedsets_modified_overset:nwn
+}
+\NewExpandableDocumentCommand\__alignedsets_modified_overset:nwn{mt{&}m}{
+ \group_align_safe_end:
+ \IfBooleanTF{#2}{
+ \group_begin:
+ \hbox_set:Nn\l__alignedsets_clap_box{
+ $
+ \displaystyle
+ {}\__alignedsets_original_overset:nn{\mathclap{#1}}{#3}{}
+ $
+ }
+ \hbox_set:Nn\l__alignedsets_full_box{
+ $
+ \displaystyle
+ {}\__alignedsets_original_overset:nn{#1}{#3}{}
+ $
+ }
+ \hspace{
+ \dim_eval:n{(\box_wd:N\l__alignedsets_full_box-\box_wd:N\l__alignedsets_clap_box)/2}
+ }
+ \exp_args:NNNx
+ \group_end:
+ {&}
+ \hspace{
+ -\dim_eval:n{
+ (\box_wd:N\l__alignedsets_full_box-\box_wd:N\l__alignedsets_clap_box)/2
+ }
+ }
+ \__alignedsets_original_overset:nn{#1}{#3}
+ }{
+ \__alignedsets_original_overset:nn{#1}{#3}
+ }
+}
+\let\__alignedsets_original_underset:nn\underset
+\cs_set:Npn\underset{
+ \group_align_safe_begin:
+ \__alignedsets_modified_underset:nwn
+}
+\NewExpandableDocumentCommand\__alignedsets_modified_underset:nwn{mt{&}m}{
+ \group_align_safe_end:
+ \group_end_ee:
+ \IfBooleanTF{#2}{
+ \group_begin:
+ \hbox_set:Nn\l__alignedsets_clap_box{
+ $
+ \displaystyle
+ {}\__alignedsets_original_underset:nn{\mathclap{#1}}{#3}{}
+ $
+ }
+ \hbox_set:Nn\l__alignedsets_full_box{
+ $
+ \displaystyle
+ {}\__alignedsets_original_underset:nn{#1}{#3}{}
+ $
+ }
+ \hspace{
+ \dim_eval:n{(\box_wd:N\l__alignedsets_full_box-\box_wd:N\l__alignedsets_clap_box)/2}
+ }
+ \exp_args:NNNx
+ \group_end:
+ {&}
+ \hspace{
+ -\dim_eval:n{
+ (\box_wd:N\l__alignedsets_full_box-\box_wd:N\l__alignedsets_clap_box)/2
+ }
+ }
+ \__alignedsets_original_underset:nn{#1}{#3}
+ }{
+ \__alignedsets_original_underset:nn{#1}{#3}
+ }
+}
+\endinput
+%%
+%% End of file `aligned-overset.sty'.
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 3d003d2fd73..301392e7f25 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -33,6 +33,7 @@ my @TLP_working = qw(
ae aecc aeguill afparticle afthesis
aguplus aiaa aichej ajl akktex akletter alegreya alertmessage
alg algobox algolrevived algorithm2e algorithmicx algorithms
+ aligned-overset
alkalami allrunes almfixed alnumsec alterqcm
altfont ametsoc amiri amsaddr amscls amscls-doc amsfonts amslatex-primer
amsldoc-it amsldoc-vn
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index feb75c549e0..e2dc0dec4ce 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -2426,6 +2426,7 @@ my $core_latex = "$Master/texmf-dist/tex/latex";
%specialinsrunner = (
'actuarialsymbol' => 'pdflatex-preserve-pdf',# requires interaction
+ 'aligned-overset' => 'tex',
'antomega' => 'latex', # requires interaction
'apa6e' => 'latex', # requires interaction
'asciilist' => 'latex', # requires interaction
diff --git a/Master/tlpkg/tlpsrc/aligned-overset.tlpsrc b/Master/tlpkg/tlpsrc/aligned-overset.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/aligned-overset.tlpsrc
diff --git a/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc b/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc
index b305816657f..113c05ae53c 100644
--- a/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc
@@ -12,6 +12,7 @@ depend algobox
depend algorithm2e
depend algorithmicx
depend algorithms
+depend aligned-overset
depend amstex
depend apxproof
depend autobreak