diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/gentombow/pxtextpos.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/gentombow/pxtextpos.sty | 108 |
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 |