summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/gentombow/pxtextpos.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/gentombow/pxtextpos.sty')
-rw-r--r--Master/texmf-dist/tex/latex/gentombow/pxtextpos.sty108
1 files changed, 108 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/gentombow/pxtextpos.sty b/Master/texmf-dist/tex/latex/gentombow/pxtextpos.sty
new file mode 100644
index 00000000000..02cd5202e21
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/gentombow/pxtextpos.sty
@@ -0,0 +1,108 @@
+%
+% pxtextpos.sty
+% written by Hironobu Yamashita (@aminophen)
+%
+% This package is part of the gentombow bundle.
+% https://github.com/aminophen/gentombow
+%
+% 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}
+ [2020/10/11 v0.4b Patch to textpos for tombow]
+
+%% preparations
+\def\pxtxtpos@pkgname{pxtextpos}
+\def\pxtxtpos@warn{\PackageWarningNoLine\pxtxtpos@pkgname}
+\let\pxtxtpos@debug\@gobble
+%\def\pxtxtpos@debug#1{\typeout{\pxtxtpos@pkgname: [DEBUG] #1}}% for debug
+
+%% load it
+\RequirePackageWithOptions{textpos}
+% textpos requires everyshi, only if both conditions are met:
+% (1) \fmtversion is **older** than 2020/10/01
+% (2) \ifTP@abspos == \iftrue
+% [TODO] tate-mode support is incomplete!
+\ifx\pfmtname\@undefined\else
+ \ifx\@EveryShipout@Output\@undefined
+ % LaTeX2e 2020-10-01: an emulation by ``everyshi-ltx.sty''
+ % => pLaTeX2e 2020-10-01 natively supports it
+ \else
+ % older: the real ``everyshi.sty'' is loaded
+ \IfFileExists{pxeveryshi.sty}{\RequirePackage{pxeveryshi}}{}
+ \fi
+\fi
+
+%% do it
+%-- similar to bounddvi.sty (checked 2020/10/08 v8.2)
+% detection of \iftombow availability is delayed until \AtBeginDocument,
+% to support both (u)pLaTeX kernel and ``gentombow.sty''
+\AtBeginDocument{\pxtxtpos@do}
+\def\pxtxtpos@do{%
+ \ifx\tombowtrue\@undefined
+ \pxtxtpos@debug{Tombow feature unavailable, no patch applied}%
+ \let\pxtxtpos@switch\relax % do nothing
+ \fi
+ \pxtxtpos@switch}
+%
+\def\pxtxtpos@switch{%
+ \let\textblockorigin\pxtxtpos@textblockorigin
+ \ifTP@abspos\textblockorigin{0pt}{0pt}\fi %% reset
+}
+
+%% 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
+
+%% check definition
+\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
+
+%% new definition
+\def\pxtxtpos@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
+}
+
+\endinput
+%% EOF