From 30d47573b904872977cf99bb9f16c7b66f5baf85 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 12 Feb 2020 22:21:36 +0000 Subject: gridset (12feb20) git-svn-id: svn://tug.org/texlive/trunk@53762 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/latex/gridset/README | 50 ---- Master/texmf-dist/source/latex/gridset/gridset.dtx | 256 +++++++++++++-------- Master/texmf-dist/source/latex/gridset/gridset.ins | 90 -------- 3 files changed, 166 insertions(+), 230 deletions(-) delete mode 100644 Master/texmf-dist/source/latex/gridset/README delete mode 100644 Master/texmf-dist/source/latex/gridset/gridset.ins (limited to 'Master/texmf-dist/source/latex') diff --git a/Master/texmf-dist/source/latex/gridset/README b/Master/texmf-dist/source/latex/gridset/README deleted file mode 100644 index 29029249a3a..00000000000 --- a/Master/texmf-dist/source/latex/gridset/README +++ /dev/null @@ -1,50 +0,0 @@ ----------------------------------------------------------------------------- -Package gridset -Copyright (c) Markus Kohm, 2008 -Licence: LPPL -Version: 2008/11/12 v0.1 ----------------------------------------------------------------------------- -This package provides commands to save positions to and restore positions -from aux-file. This may be used for grid setting (aka strict in-register -setting). The package needs pdfTeX at least version 1.40. ----------------------------------------------------------------------------- -If you have a distribution of gridset with an archive containing the files - - doc/ - doc/latex/gridset - doc/latex/gridset/gridset.pdf - source/ - source/latex/ - source/latex/gridset/ - source/latex/gridset/gridset.dtx - source/latex/gridset/README - tex/ - tex/latex/ - tex/latex/gridset - tex/latex/gridset/gridset.sty - tex/latex/gridset/gridsetexample.tex - -you may simply extract this archive at your local texmf tree (local TDS tree) -that may be e.g. C:\localtexmf or /usr/local/share/texmf or -/usr/TeX/texmf-local. On some systems you may ask for the local TDS tree -using: `kpsewhich -var-value=TEXMFLOCAL'. After extraction you should update -your File Name DataBase e.g. using the MiKTeX Options dialog or texhash. - -If the files are at a root directory gridset the distributor has changed my -original distribution archive and you have to copy the files yourself into -the appropriate directories at one of your texmf trees and update your File -Name DataBase. - -If you instead of this have only the files gridset.dtx, README, and -gridset.pdf (optional), you have to call: - tex gridset.dtx -and follow the instructions. - -Notes: -- If you only want to test gridset without installation, you may simply use - a copy of gridset.dtx renamed to gridset.sty. -- README is not a user documentation file, but only needed until - installation has been done. Because of this, I declare it to be a - source file. Nevertheless distrbutors may install it as an additional - documentation file. ----------------------------------------------------------------------------- diff --git a/Master/texmf-dist/source/latex/gridset/gridset.dtx b/Master/texmf-dist/source/latex/gridset/gridset.dtx index 67adeb198b0..68b251db558 100644 --- a/Master/texmf-dist/source/latex/gridset/gridset.dtx +++ b/Master/texmf-dist/source/latex/gridset/gridset.dtx @@ -1,26 +1,27 @@ -% \CheckSum{416} % \iffalse meta-comment % % gridset.dtx % +%% Copyright (C) 2008-2020 Markus Kohm +%% %% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.3 +%% 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 2003/12/01 or later. +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. %% %% This work has the LPPL maintenance status "maintained". %% -%% The author of the initial version of these work was -%% Markus Kohm +%% The author and current maintainer of this work is +%% Markus Kohm . %% -%% This work consists of the files gridset.dtx and README. +%% This work consists of the files gridset.dtx and README.md. %% %% Important Recommendation: -%% The LPPL requires that distributions of the Work contain all the files of -%% the Work (see ``Important Recommendations'' at lppl.txt). +%% The LPPL requires that distributions of the Work contain all the files of +%% the Work (see ``Important Recommendations'' at lppl.txt). %% % %<*dtx> @@ -31,23 +32,18 @@ % Give me the documentation \ProvidesFile{gridset.dtx} % -%<*dtx|tex|package|example> +%<*dtx|package|example> %\ProvidesPackage{gridset} -%\ProvidesFile{gridset.tex} %\ProvidesFile{gridsetexample.tex} - [2008/11/12 v0.1 grid - aka in-register - setting] -% -%<*dtx|tex> + [2020-02-12 v0.3 grid - a.k.a. in-register - setting] +% +%<*dtx> \documentclass{ltxdoc} \begin{document} \RecordChanges -%<*!tex> \GetFileInfo{gridset.dtx} -% -% \GetFileInfo{gridset.tex} \DocInput{gridset.dtx} -%\end{document} -% +% %<*dtx> \expandafter\expandafter\expandafter\enddocument \fi @@ -60,14 +56,10 @@ %\def\batchfile{gridset.ins} \input docstrip.tex - \ifToplevel{% - \let\ifalpha\iffalse - } \keepsilent \askforoverwritefalse \usedir{tex/latex/gridset} \preamble -Copyright (c) Markus Kohm 2008 IMPORTANT NOTE: @@ -78,9 +70,8 @@ about the files the work consists of. \endpreamble \generate{% - \file{gridset.tex}{\from{gridset.dtx}{tex}}% \file{gridset.ins}{\from{gridset.dtx}{ins}}% - \file{gridsetx.sty}{\from{gridset.dtx}{package}}% + \file{gridset.sty}{\from{gridset.dtx}{package}}% \file{gridsetexample.tex}{\from{gridset.dtx}{example}}% } @@ -90,11 +81,9 @@ about the files the work consists of. \Msg{* gridset} \Msg{* =======} \Msg{*} - \ifalpha% ALPHA - \Msg{* THIS IS AN ALPHA VERSION!} - \Msg{* DON'T USE IT ONLY TEST IT!} - \Msg{*} - \fi + \Msg{* THIS IS AN ALPHA VERSION!} + \Msg{* DON'T USE IT ONLY TEST IT!} + \Msg{*} \Msg{* To finish the installation run} \Msg{* \space\space latex gridset.dtx} \Msg{* or} @@ -108,21 +97,19 @@ about the files the work consists of. \Msg{* \space\space kpsewhich -var-value=TEXMFLOCAL} \Msg{*} \Msg{*********************************************************************} -%<*!ins> - \csname fi\endcsname\csname fi\endcsname\endinput -% } % %<*dtx> \fi +\csname fi\endcsname \csname batchendinput\endcsname % % \fi ^^A meta-comment % -% \title{Semi-Manual Grid Setting Using \textsf{gridset}\iftrue^^A ALPHA +% \title{Semi-Manual Grid Setting Using \textsf{gridset}% % \footnote{This is an alpha version! Don't use it! Only test it! There's no -% support and everything may change!}\fi +% support and everything may change!}% % } % \author{Markus Kohm} % \date{\filedate~\fileversion} @@ -136,6 +123,13 @@ about the files the work consists of. % position. This may be enough under some circumstances. In other % circumstances it may fail. So \textsf{gridset} is only one more step for % grid setting not a complete solution. +% +% \paragraph*{Important Note:} This package should have been never released, +% because it was only a very quick implementation of an idea. You should not +% use it for any productive purpose. It has been made for testing only. I +% would prefer to retire it from any distribution. Nevertheless I know few +% persons using the package. So it will be still there but without any +% support! % \end{abstract} % \tableofcontents % \section{User Manual} @@ -163,12 +157,16 @@ about the files the work consists of. % Because of this, it doesn't matter, that changing them is not really user % friendly. % +% \DescribeMacro{\SavePos}% % \DescribeMacro{\savepos}% -% \cs{savepos}\marg{unique name} saves informations about the current position +% \cs{SavePos}\marg{unique name} saves informations about the current position % to the \texttt{aux}-file. These informations are read at next \LaTeX{} run % and may be used (see \cs{the\dots} commands below) then. The \meta{unique % name} has to be a position name, that is unique for all saved position -% informations of the current document. +% informations of the current document. Note that the command has been renamed +% from \cs{savepos} to \cs{SavePos} in release~0.2, because Lua\TeX{} since +% 0.85 uses \cs{savepos} as a new primitive. On other engines the old name +% \cs{savepos} is still available. % % \DescribeMacro{\vskipnextgrid} % This command moves to the next grid position. To achieve this, a position @@ -214,17 +212,62 @@ about the files the work consists of. % \iffalse meta-comment %<*package> % \fi ^^A meta-comment +% +% \begin{macro}{gridset@luaorpdf} +% \changes{v0.2}{2017/06/05}{new internal because of Lua\TeX~0.85} +% \begin{macro}{\gridset@pageheight} +% \changes{v0.2}{2017/06/05}{new internal because of Lua\TeX~0.85} +% \begin{macro}{\gridset@pagewidth} +% \changes{v0.2}{2017/06/05}{new internal because of Lua\TeX~0.85} +% \begin{macro}{\gridset@savepos} +% \changes{v0.2}{2017/06/05}{new internal because of Lua\TeX~0.85} +% \begin{macro}{\gridset@lastxpos} +% \changes{v0.2}{2017/06/05}{new internal because of Lua\TeX~0.85} +% \begin{macro}{\gridset@lastypos} +% \changes{v0.2}{2017/06/05}{new internal because of Lua\TeX~0.85} +% We need some locals because Lua\TeX{} changed the names of several +% primitives inherited from PDF\TeX. % \begin{macrocode} -%\ProvidesPackage{gridset}[\fileversion\space (package)] +\newcommand*{\gridset@luaorpdf}[1]{% + \expandafter\newcommand\csname gridset@#1\endcsname{}% + \ifcsname pdf#1\endcsname + \expandafter\let\csname gridset@#1\expandafter\endcsname + \csname pdf#1\endcsname + \else + \ifcsname #1\endcsname + \expandafter\let\csname gridset@#1\expandafter\endcsname + \csname #1\endcsname + \else + \PackageError{gridset}{% + neither \expandafter\string\csname #1\endcsname\space + nor \xpandafter\string\csname pdf#1\endcsname\space + defined% + }{This package needs either PDFTeX or LuaTeX or XeTeX.}% + \fi + \fi +} +\gridset@luaorpdf{pageheight} +\gridset@luaorpdf{pagewidth} +\gridset@luaorpdf{savepos} +\gridset@luaorpdf{lastxpos} +\gridset@luaorpdf{lastypos} % \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % % \begin{macro}{\gridbase} +% \changes{v0.2}{2017/06/05}{prepared for Lua\TeX~0.85} % \begin{macro}{\gridinterval} -% These contain the grid information. \cs{gridbase} is a integer number -% representing the absolute y coordinate of the upper end of the -% grid relative to the same reference point \cs{pdfsavepos} -% uses. \cs{gridinterval} is a integer number representing the distance of -% two grid lines. The unit is `scaled point' (sp) both time. +% \changes{v0.2}{2017/06/05}{prepared for Lua\TeX~0.85} +% These contain the grid information. \cs{gridbase} is a integer number +% representing the absolute y coordinate of the upper end of the +% grid relative to the same reference point \cs{pdfsavepos} +% uses. \cs{gridinterval} is a integer number representing the distance of +% two grid lines. The unit is `scaled point' (sp) both time. % \begin{macrocode} \newcommand*{\gridbase}{} \newcommand*{\gridinterval}{} @@ -235,14 +278,14 @@ about the files the work consists of. % \cs{pdfpagewidth} if this hasn't been done already. % \begin{macrocode} \AtBeginDocument{% - \ifdim\pdfpageheight=\z@ - \pdfpageheight=\pageheight + \ifdim\gridset@pageheight=\z@ + \gridset@pageheight=\paperheight \fi - \ifdim\pdfpagewidth=\z@ - \pdfpagewidth=\pagewidth + \ifdim\gridset@pagewidth=\z@ + \gridset@pagewidth=\paperwidth \fi \begingroup - \@tempdima=\dimexpr \pdfpageheight - \topmargin - 1in + \@tempdima=\dimexpr \gridset@pageheight - \topmargin - 1in - \headheight - \headsep - \topskip \relax \@tempcnta=\@tempdima @@ -256,31 +299,47 @@ about the files the work consists of. % \end{macro} % % \begin{macro}{\savepos} -% Save current position on the page to the \texttt{aux}-file. The argument -% is a unique name for the position. The saved informations are: -% \begin{itemize} -% \item the name of the position, -% \item the arabic page number of the page with the position, -% \item the grid base, that was valid for this position, -% \item the grid interval, that was valid for this position, -% \item the x-coordinate of the absolute position, -% \item the y-coordinate of the absolute position. -% \end{itemize} +% \changes{v0.2}{2017/06/05}{macro renamed} +% \begin{macro}{\SavePos} +% \changes{v0.2}{2017/06/05}{new name} +% \changes{v0.2}{2017/06/05}{prepared for Lua\TeX~0.85} +% Save current position on the page to the \texttt{aux}-file. The argument +% is a unique name for the position. The saved informations are: +% \begin{itemize} +% \item the name of the position, +% \item the arabic page number of the page with the position, +% \item the grid base, that was valid for this position, +% \item the grid interval, that was valid for this position, +% \item the x-coordinate of the absolute position, +% \item the y-coordinate of the absolute position. +% \end{itemize} % \begin{macrocode} -\newcommand*{\savepos}[1]{% +\newcommand*{\SavePos}[1]{% \begingroup - \pdfsavepos + \gridset@savepos \protected@write\@auxout{}{% \protect\newpos{#1}{\the\count\z@}{\gridbase}{\gridinterval}{% - \noexpand\number\pdflastxpos + \noexpand\number\gridset@lastxpos }{% - \noexpand\number\pdflastypos + \noexpand\number\gridset@lastypos }% }% \endgroup } +\ifx\savepos\gridset@savepos + \PackageInfo{gridset}{LuaTeX detected.\MessageBreak + Note, gridset command is \string\SavePos\MessageBreak + but not \string\savepos, which is\MessageBreak + a LuaTeX primitive + }% +\else + \PackageInfo{gridset}{\string\savepos\space defined as an alias of + \string\SavePos}% + \newcommand*{\savepos}{\SavePos}% +\fi % \end{macrocode} % \end{macro} +% \end{macro} % % \begin{macro}{\newpos} % This is the command, that has been written to the \texttt{aux}-file. @@ -377,10 +436,10 @@ about the files the work consists of. % % \begin{macro}{\vskipnextgrid} % \begin{macro}{gridcnt} -% Move to next grid position. The counter \texttt{gridcnt} is used to give -% every move to position a unique position name. The names are -% `\texttt{vp!\meta{number of the move to position}}'. You may use this to -% get informations e.g. about the last move to position. +% Move to next grid position. The counter \texttt{gridcnt} is used to give +% every move to position a unique position name. The names are +% `\texttt{vp!\meta{number of the move to position}}'. You may use this to +% get informations e.g. about the last move to position. % \begin{macrocode} \newcounter{gridcnt} \newcommand*{\vskipnextgrid}{% @@ -388,13 +447,13 @@ about the files the work consists of. \stepcounter{gridcnt}\edef\@tempa{vp!\thegridcnt}% \ifvmode % \end{macrocode} -% \cs{pdfsavepos} in vertical mode is a problem, because the base line -% alignment will be done at least at paragraph breaking. Because of this, -% we have to leave the vertical mode and do it then. But remark: If you -% change the base line skip e.g. changing the font size, the next line would -% not be grid aligned! +% \cs{pdfsavepos} in vertical mode is a problem, because the base line +% alignment will be done at least at paragraph breaking. Because of this, +% we have to leave the vertical mode and do it then. But remark: If you +% change the base line skip e.g. changing the font size, the next line would +% not be grid aligned! % \begin{macrocode} - \leavevmode\savepos{\@tempa}% + \leavevmode\SavePos{\@tempa}% \expandafter\ifx\csname pos@\@tempa @vskip\endcsname\relax \else \expandafter\ifnum \csname pos@\@tempa @vskip\endcsname =\z@\else @@ -407,30 +466,49 @@ about the files the work consists of. \fi \else % \end{macrocode} -% \cs{pdfsavepos} in horizontal mode is a problem too, because we have to -% enter the vertical mode to do vertical skips. Because of this, the remark -% is the same like the vertical mode remark. +% \cs{pdfsavepos} in horizontal mode is a problem too, because we have to +% enter the vertical mode to do vertical skips. Because of this, the remark +% is the same like the vertical mode remark. % \begin{macrocode} \parskip=\z@ - \savepos{vp!\thegridcnt}% + \SavePos{vp!\thegridcnt}% \expandafter\ifx\csname pos@\@tempa @vskip\endcsname\relax \else \expandafter\ifnum \csname pos@\@tempa @vskip\endcsname =\z@\else - \PackageInfo{gridset}{% + \PackageInfo{gridset}{% hmode \string\vskip\csname pos@\@tempa @vskip\endcsname sp% }% - \vskip -\baselineskip - \expandafter\vskip\csname pos@\@tempa @vskip\endcsname sp\relax + \vskip \dimexpr -\baselineskip + + \csname pos@\@tempa @vskip\endcsname sp\relax +% \end{macrocode} +% \changes{v0.3}{2020/02/12}{support for twocolumn mode} +% In twocolumn mode we have to take care that in the second column we reduce +% the horizontal movement by the width of the first column plus the column +% separation. +% Note: This may fail, because the column information may be wrong +% outside the output routine. Maybe we should add this information to +% \cs{SavePos} or correct the x-pos there. +% \begin{macrocode} + \leavevmode \if@twoside \expandafter\ifodd\csname pos@\@tempa @page\endcsname\relax - \leavevmode\hskip \dimexpr - 1in - \oddsidemargin - \parindent + \hskip \dimexpr -1in - \oddsidemargin - \parindent + \if@twocolumn\if@firstcolumn\else + - \columnwidth - \columnsep + \fi\fi + \csname pos@\@tempa @x\endcsname sp\relax \else - \leavevmode\hskip \dimexpr - 1in - \evensidemargin - \parindent + \hskip \dimexpr -1in - \evensidemargin - \parindent + \if@twocolumn\if@firstcolumn\else + - \columnwidth - \columnsep + \fi\fi + \csname pos@\@tempa @x\endcsname sp\relax \fi \else - \leavevmode\hskip \dimexpr - 1in - \oddsidemargin - \parindent + \hskip \dimexpr -1in - \oddsidemargin - \parindent + \if@twocolumn\if@firstcolumn\else + - \columnwidth - \columnsep + \fi\fi + \csname pos@\@tempa @x\endcsname sp\relax \fi \fi @@ -475,7 +553,7 @@ about the files the work consists of. \csname endinput\endcsname % % -% \fi ^^A meta-comment +% \fi % % \section{Example} % @@ -483,7 +561,7 @@ about the files the work consists of. % runs until no new rerun warning occurs. % \iffalse meta-comment %<*example> -% \fi ^^A meta-comment +% \fi % \begin{macrocode} \documentclass[a4paper,12pt]{article} \usepackage{gridset} @@ -499,7 +577,7 @@ about the files the work consists of. \@whilenum \value{Zeile}<40\do {% \stepcounter{Zeile}% \theZeile. Zeile: - \savepos{\thepage.\theZeile}\thegridinfo{\thepage.\theZeile}\par + \SavePos{\thepage.\theZeile}\thegridinfo{\thepage.\theZeile}\par }% \makeatother \clearpage @@ -508,7 +586,7 @@ about the files the work consists of. \@whilenum \value{Zeile}<20\do {% \stepcounter{Zeile}% \theZeile. Zeile: - \savepos{\thepage.\theZeile}\theposinfo{\thepage.\theZeile}\par + \SavePos{\thepage.\theZeile}\theposinfo{\thepage.\theZeile}\par }% \makeatother \clearpage @@ -518,7 +596,7 @@ about the files the work consists of. \@whilenum \value{Zeile}<20\do {% \stepcounter{Zeile}% \theZeile. Zeile: - \savepos{\thepage.\theZeile}\theposinfo{\thepage.\theZeile}\par + \SavePos{\thepage.\theZeile}\theposinfo{\thepage.\theZeile}\par }% \makeatother \clearpage @@ -556,7 +634,7 @@ at hmode}% % \end{macrocode} % \iffalse meta-comment % -% \fi ^^A meta-comment +% \fi % % \Finale % @@ -564,9 +642,7 @@ at hmode}% % % end of `gridset.dtx' % -% \iffalse meta-comment %%% Local Variables: %%% mode: docTeX %%% TeX-master: t %%% End: -% \fi ^^A meta-comment diff --git a/Master/texmf-dist/source/latex/gridset/gridset.ins b/Master/texmf-dist/source/latex/gridset/gridset.ins deleted file mode 100644 index 8e0abd49d91..00000000000 --- a/Master/texmf-dist/source/latex/gridset/gridset.ins +++ /dev/null @@ -1,90 +0,0 @@ -%% -%% This is file `gridset.ins', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% gridset.dtx (with options: `ins') -%% Copyright (c) Markus Kohm 2008 -%% -%% IMPORTANT NOTE: -%% -%% This is a generated file and you are not allowed to distribute it -%% without the source ot the work. See below about more informations -%% about the files the work consists of. -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.3 -%% 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 2003/12/01 or later. -%% -%% This work has the LPPL maintenance status "maintained". -%% -%% The author of the initial version of these work was -%% Markus Kohm -%% -%% This work consists of the files gridset.dtx and README. -%% -%% Important Recommendation: -%% The LPPL requires that distributions of the Work contain all the files of -%% the Work (see ``Important Recommendations'' at lppl.txt). -%% -\def\batchfile{gridset.ins} - \input docstrip.tex - - \ifToplevel{% - \let\ifalpha\iffalse - } - \keepsilent - \askforoverwritefalse - \usedir{tex/latex/gridset} - \preamble -Copyright (c) Markus Kohm 2008 - -IMPORTANT NOTE: - -This is a generated file and you are not allowed to distribute it -without the source ot the work. See below about more informations -about the files the work consists of. - -\endpreamble - - \generate{% - \file{gridset.tex}{\from{gridset.dtx}{tex}}% - \file{gridset.ins}{\from{gridset.dtx}{ins}}% - \file{gridsetx.sty}{\from{gridset.dtx}{package}}% - \file{gridsetexample.tex}{\from{gridset.dtx}{example}}% - } - - \ifToplevel{% - \Msg{*********************************************************************} - \Msg{*} - \Msg{* gridset} - \Msg{* =======} - \Msg{*} - \ifalpha% ALPHA - \Msg{* THIS IS AN ALPHA VERSION!} - \Msg{* DON'T USE IT ONLY TEST IT!} - \Msg{*} - \fi - \Msg{* To finish the installation run} - \Msg{* \space\space latex gridset.dtx} - \Msg{* or} - \Msg{* \space\space pdflatex gridset.dtx} - \Msg{* and then copy} - \Msg{* \space\space gridset.sty to .../tex/latex/gridset/} - \Msg{* \space\space gridset.dvi or gridset.pdf to .../doc/latex/gridset/} - \Msg{* \space\space gridset.dtx and README to .../source/latex/gridset/} - \Msg{* where .../ is your local TDS tree.} - \Msg{* On some systems you'll get the local TDS tree using:} - \Msg{* \space\space kpsewhich -var-value=TEXMFLOCAL} - \Msg{*} - \Msg{*********************************************************************} - } - -\endinput -%% -%% End of file `gridset.ins'. -- cgit v1.2.3