summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/realtranspose/realtranspose.dtx
blob: 473b75490dce61f72e501c24df9328afd95c6547 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
%\iffalse meta-comment
%Copyright 2020 Lars Quentin, Matthew Scroggs, Adam Townsend
%
%Permission is hereby granted, free of charge, to any person obtaining a copy of this software 
%and associated documentation files (the "Software"), to deal in the Software without restriction,
%including without limitation the rights to use, copy, modify, merge, publish, distribute, 
%sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 
%furnished to do so, subject to the following conditions:
%
%The above copyright notice and this permission notice shall be included in all copies or 
%substantial portions of the Software.
%
%THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 
%BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
%NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 
%DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
%OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
%\fi

%\iffalse
%<*realtranspose>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{realtranspose}[2020/10/08 realtranspose 1.1]
\RequirePackage{graphicx}

\newcommand{\realtranspose}[1]{
  % The problem is, that within mathbin it always gets
  % rendered as textstyle.
  %
  % To bypass that, we detect which style was used before
  %
  % This way, we can do fun stuff like
  % 
  % \int_0^T dt = \realtranspose{ \int_0 } dt
  %
  \mathchoice{
  % displaystyle
  \mathbin{\rotatebox[origin=c]{90}{$\displaystyle #1$}}
  }{
  % textstyle
  \mathbin{\rotatebox[origin=c]{90}{$\textstyle #1$}}
  }{
  % scriptstyle
  \mathbin{\rotatebox[origin=c]{90}{$\scriptstyle #1$}}
  }{
  %scriptscriptstyle
  \mathbin{\rotatebox[origin=c]{90}{$\scriptscriptstyle #1$}}
  }
}

%</realtranspose>
%\fi