mirror of
https://gitlab.com/parroquia-san-leandro/cancionero-web.git
synced 2025-06-07 07:23:13 +02:00
142 lines
4.4 KiB
TeX
142 lines
4.4 KiB
TeX
%% LaTeX2e file `changepage.sty'
|
|
%% generated by the `filecontents' environment
|
|
%% from source `changepage' on 2009/10/20.
|
|
%%
|
|
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesPackage{changepage}[2009/10/20 v1.0c check page and change page layout]
|
|
|
|
% Don't use this with memoir
|
|
\newcommand*{\cp@whoopsusingmemoir}{}
|
|
\@ifclassloaded{memoir}{\def\cp@whoopsusingmemoir{\endinput}}
|
|
\cp@whoopsusingmemoir
|
|
|
|
% New \verb|\if| for the strict option
|
|
\newif\ifstrictpagecheck
|
|
\strictpagecheckfalse
|
|
|
|
% User commands for switching strict page checking on/off
|
|
\newcommand*{\strictpagecheck}{\strictpagechecktrue}
|
|
\newcommand*{\easypagecheck}{\strictpagecheckfalse}
|
|
|
|
% Declare and process options
|
|
\DeclareOption{strict}{\strictpagechecktrue}
|
|
\ProcessOptions\relax
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% New commands for strict checking of odd/even page.
|
|
%% Works by writing a label and then checking its pageref.
|
|
|
|
\newif\ifoddpage
|
|
\newcounter{cp@cntr}
|
|
\newcount\cp@tempcnt % instead of \verb|\@memcnta|
|
|
\newcommand{\cplabel}{^_}
|
|
|
|
\gdef\thepmemc@@page{\the\c@page}
|
|
|
|
\long\def\pmemprotected@write#1#2#3{% modified \verb|\protected@write|
|
|
\begingroup
|
|
\let\thepmemc@@page\relax
|
|
#2%
|
|
\let\protect\@unexpandable@protect
|
|
\edef\reserved@a{\write#1{#3}}%
|
|
\reserved@a
|
|
\endgroup
|
|
\if@nobreak\ifvmode\nobreak\fi\fi}
|
|
|
|
\newcommand*{\pmemlabel}[1]{\@bsphack
|
|
\pmemprotected@write\@auxout{}%
|
|
{\string\newpmemlabel{#1}{\thepmemc@@page}}%
|
|
\@esphack}
|
|
|
|
\newcommand*{\newpmemlabel}[2]{{\global\@namedef{m@#1}{#2}}}
|
|
\newcommand*{\pmemlabelref}[1]{%
|
|
\expandafter\ifx\csname m@#1\endcsname\relax
|
|
0% % 0 if there is no label yet in the aux file
|
|
\else
|
|
\csname m@#1\endcsname
|
|
\fi}
|
|
|
|
\DeclareRobustCommand{\checkoddpage}{%
|
|
\oddpagefalse%
|
|
\ifstrictpagecheck%
|
|
\stepcounter{cp@cntr}\pmemlabel{\cplabel\thecp@cntr}%
|
|
\cp@tempcnt=\pmemlabelref{\cplabel\thecp@cntr}\relax
|
|
\ifodd\cp@tempcnt\oddpagetrue\fi
|
|
\else
|
|
\ifodd\c@page\oddpagetrue\fi
|
|
\fi}
|
|
|
|
% End newcommands for strict checking of odd/even page.
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Copy of some of the code from the ifmtarg package to save requiring ifmtarg
|
|
\begingroup
|
|
\catcode`\Q=3
|
|
\long\gdef\@ifmtarg#1{\@xifmtarg#1QQ\@secondoftwo\@firstoftwo\@nil}
|
|
\long\gdef\@xifmtarg#1#2Q#3#4#5\@nil{#4}
|
|
\endgroup
|
|
|
|
% Set the page output parameters
|
|
\DeclareRobustCommand{\ch@ngetext}{%
|
|
\setlength{\@colht}{\textheight}\setlength{\@colroom}{\textheight}%
|
|
\setlength{\vsize}{\textheight}\setlength{\columnwidth}{\textwidth}%
|
|
\if@twocolumn%
|
|
\advance\columnwidth-\columnsep \divide\columnwidth\tw@%
|
|
\@firstcolumntrue%
|
|
\fi%
|
|
\setlength{\hsize}{\columnwidth}%
|
|
\setlength{\linewidth}{\hsize}}
|
|
|
|
\DeclareRobustCommand{\changetext}[5]{%
|
|
\@ifmtarg{#1}{}{\addtolength{\textheight}{#1}}%
|
|
\@ifmtarg{#2}{}{\addtolength{\textwidth}{#2}}%
|
|
\@ifmtarg{#3}{}{\addtolength{\evensidemargin}{#3}}%
|
|
\@ifmtarg{#4}{}{\addtolength{\oddsidemargin}{#4}}%
|
|
\@ifmtarg{#5}{}{\addtolength{\columnsep}{#5}}%
|
|
\ch@ngetext}
|
|
|
|
\DeclareRobustCommand{\changepage}[9]{%
|
|
\@ifmtarg{#1}{}{\addtolength{\textheight}{#1}}%
|
|
\@ifmtarg{#2}{}{\addtolength{\textwidth}{#2}}%
|
|
\@ifmtarg{#3}{}{\addtolength{\evensidemargin}{#3}}%
|
|
\@ifmtarg{#4}{}{\addtolength{\oddsidemargin}{#4}}%
|
|
\@ifmtarg{#5}{}{\addtolength{\columnsep}{#5}}%
|
|
\ch@ngetext%
|
|
\@ifmtarg{#6}{}{\addtolength{\topmargin}{#6}}%
|
|
\@ifmtarg{#7}{}{\addtolength{\headheight}{#7}}%
|
|
\@ifmtarg{#8}{}{\addtolength{\headsep}{#8}}%
|
|
\@ifmtarg{#9}{}{\addtolength{\footskip}{#9}}}
|
|
|
|
\newenvironment{adjustwidth}[2]{%
|
|
\begin{list}{}{%
|
|
\topsep\z@%
|
|
\listparindent\parindent%
|
|
\parsep\parskip%
|
|
\@ifmtarg{#1}{\setlength{\leftmargin}{\z@}}%
|
|
{\setlength{\leftmargin}{#1}}%
|
|
\@ifmtarg{#2}{\setlength{\rightmargin}{\z@}}%
|
|
{\setlength{\rightmargin}{#2}}%
|
|
}
|
|
\item[]}{\end{list}}
|
|
|
|
\newenvironment{adjustwidth*}[2]{%
|
|
\begin{list}{}{%
|
|
\topsep\z@%
|
|
\listparindent\parindent%
|
|
\parsep\parskip%
|
|
\checkoddpage
|
|
\ifoddpage% odd numbered page
|
|
\@ifmtarg{#1}{\setlength{\leftmargin}{\z@}}%
|
|
{\setlength{\leftmargin}{#1}}%
|
|
\@ifmtarg{#2}{\setlength{\rightmargin}{\z@}}%
|
|
{\setlength{\rightmargin}{#2}}%
|
|
\else% even numbered page
|
|
\@ifmtarg{#2}{\setlength{\leftmargin}{\z@}}%
|
|
{\setlength{\leftmargin}{#2}}%
|
|
\@ifmtarg{#1}{\setlength{\rightmargin}{\z@}}%
|
|
{\setlength{\rightmargin}{#1}}%
|
|
\fi}
|
|
\item[]}{\end{list}}
|
|
|
|
\endinput
|
|
|