summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/plautopatch/pxtextpos.sty
blob: c6e7cf5fe0fdc4041b9e68bc867d4baf51ed6e76 (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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
%
% pxtextpos.sty
% written by Hironobu Yamashita (@aminophen)
%
% This package is part of the plautopatch bundle.
% https://github.com/aminophen/plautopatch
%
% This package is expected to be compatible with
%   * textpos.sty
%     2005/10/13 v1.6a -- 2019/04/15 v1.9.1
%

%% package declaration
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{pxtextpos}
    [2019/11/17 v0.2a Patch to textpos for tombow]

%% preparations
\def\pxtxtpos@pkgname{pxtextpos}
\def\pxtxtpos@warn{\PackageWarningNoLine\pxtxtpos@pkgname}

%% load it
\RequirePackageWithOptions{textpos}

%% check if \iftombow ... \fi is available
\ifx\tombowtrue\@undefined
  \pxtxtpos@warn{Tombow feature unavailable, aborting}
  \expandafter\endinput
\fi

%% known definition
\def\pxtxtpos@textblockorigin#1#2{%
  \ifTP@abspos
    \TP@ox=-1in    \addtolength\TP@ox{#1}
    \TP@oy=-1in    \addtolength\TP@oy{#2}
    \ifTP@chatter\typeout{TextBlockOrigin set to #1 x #2}\fi
  \else
    \PackageError{textpos}
      {The \protect\textblockorigin\space command\MessageBreak
       may only be used if the package was given\MessageBreak
       the`absolute' option when it was invoked}
      {If you want to use the \protect\textblockorigin\space command, then
         \MessageBreak
       invoke the package with the syntax\MessageBreak
       \protect\usepackage[absolute]{textpos}}
  \fi
}
\@onlypreamble\pxtxtpos@textblockorigin

%% redefine it
\ifx\textblockorigin\pxtxtpos@textblockorigin\else
  \pxtxtpos@warn{%
    Command \noexpand\textblockorigin is beyond my knowledge.\MessageBreak
    I will apply the patch anyway, but it may break:\MessageBreak
    Please report to the author of `\pxtxtpos@pkgname.sty'}
\fi
\def\textblockorigin#1#2{%
  \ifTP@abspos
    \TP@ox=-1in    \addtolength\TP@ox{#1}
    \TP@oy=-1in    \addtolength\TP@oy{#2}
    %%% addition
    \iftombow
      \addtolength\TP@ox{1in}\addtolength\TP@oy{1in}
    \fi
    %%%
    \ifTP@chatter\typeout{TextBlockOrigin set to #1 x #2}\fi
  \else
    \PackageError{textpos}
      {The \protect\textblockorigin\space command\MessageBreak
       may only be used if the package was given\MessageBreak
       the`absolute' option when it was invoked}
      {If you want to use the \protect\textblockorigin\space command, then
         \MessageBreak
       invoke the package with the syntax\MessageBreak
       \protect\usepackage[absolute]{textpos}}
  \fi
}

%% reset
\ifTP@abspos
  \textblockorigin{0pt}{0pt}%
\fi

\endinput
%% EOF