%%
%% This is file `canoniclayout.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% canoniclayout.dtx  (with options: `package')
%%   ______________________________________________________
%%   The canoniclayout package for LaTeX
%%   Copyright (C) 2010-2011 Claudio Beccari
%%   All rights reserved
%% 
%%   License information appended
%% 
\NeedsTeXFormat{LaTeX2e}[2009/01/01]
\ProvidesPackage{canoniclayout}%
   [2011/11/05 v.0.3 Canonic layout circumscribed to a circle]

\expandafter\ifx\csname eTeXversion\endcsname\relax
\PackageWarning{canoniclayout}{%
The typesetting engine is not suited\Messagebreak
for working in extended mode.\Messagebreak}
This package is being skipped}
\expandafter\endinput
\fi
\ifnum\eTeXversion>\z@\else
\PackageWarning{canoniclayout}{%
The typesetting engine is not working in extended mode.\MessageBreak
This package is being skipped}
\expandaftter\endinput
\fi
\@ifclassloaded{memoir}{% }% balancing brace
\dimen@=\dimexpr \p@ * \paperwidth / \paperheight\relax
\edef\CLshape{\strip@pt\dimen@}
\dimen@=\dimexpr \p@ * \p@ / \dimen@\relax
\edef\CLinvshape{\strip@pt\dimen@}
\textheight=\paperwidth
\settypeblocksize{\textheight}{*}{\CLshape}
\setlrmargins{*}{*}{\CLinvshape}
\setulmargins{*}{*}{\CLinvshape}
\setmarginnotes{7pt}{\dimexpr \foremargin-3\marginparsep}{\onelineskip}

\checkandfixthelayout
}{%
\newlength\innermargin
\newlength\outermargin
\newlength\uppermargin
\dimendef\CLpageratio=1256% x=b/h
\dimendef\CLsmallratio=1258% z=x*y
\dimendef\CLlargeratio=1260% y=(1-x)/(1+x)
\CLpageratio=\dimexpr \p@*\paperwidth/\paperheight\relax % x
\CLlargeratio=\dimexpr \p@*(\p@-\CLpageratio)/(\p@+\CLpageratio)\relax % y
\CLsmallratio=\dimexpr \CLpageratio*\CLlargeratio/\p@\relax % z
\edef\CL@pageratio{\strip@pt\CLpageratio}
\edef\CL@smallratio{\strip@pt\CLsmallratio}
\edef\CL@largeratio{\strip@pt\CLlargeratio}
\textheight\paperwidth% altezza griglia
\textwidth=\CL@pageratio\textheight
\innermargin=\CL@smallratio\paperwidth
\outermargin=\CL@largeratio\paperwidth
\uppermargin=\CL@smallratio\paperheight
\marginparwidth=\dimexpr0.8\outermargin-\marginparsep\relax
\evensidemargin=\dimexpr\outermargin -1in\relax
\oddsidemargin=\dimexpr\innermargin-1in\relax
\topmargin=\dimexpr\uppermargin-1in-\headheight-\headsep\relax
\normalfont
\count256=\numexpr(\textheight-\topskip)/\baselineskip\relax
\textheight=\count256\baselineskip\relax
\textheight=\dimexpr\textheight+\topskip\relax
\normalbaselineskip\baselineskip
}
\newlength\abc@width
\newcommand*\currentfontletters{%
\settowidth\abc@width{abcdefghijklmnopqrstuvwxyz}\dimen0=26\p@
\dimen0=\dimexpr \textwidth * \dimen0 / \abc@width \relax
\count254=\numexpr \dimen0 / \p@ \relax
\par The number of characters in one text line with the current font is
    \the\count254.\par}

\newcommand*\charactersperpage{%
\settowidth\abc@width{abcdefghijklmnopqrstuvwxyz}\dimen0=26\p@
\dimen0=\dimexpr \textwidth * \dimen0 / \abc@width \relax
\count254=\numexpr \dimen0 / \p@ \relax
\count252=\numexpr \textheight / \baselineskip \relax
\count250=\numexpr \count252 * \count254\relax
\begin{quote} The average number of characters in one text line
    with the current font is \the\count254;
    this text block contains \the\count252\ lines;
    a rough estimate of the number of characters per page is
    \the\count250.\par
    This information may be useful to evaluate the total number
    of pages in a document.
\end{quote}}


%% Copyright 2011 Claudio Beccari
%% 
%% Distributable under the LaTeX Project Public License,
%% version 1.3c or higher (your choice). The latest version of
%% this license is at: http://www.latex-project.org/lppl.txt
%% 
%% This work is "author-maintained"
%% 
%% This work consists of this file canoniclayout.dtx, a README file
%% and the derived files canoniclayout.sty and canoniclayout.pdf.
%% 
%%
%% End of file `canoniclayout.sty'.
