texlive[42330] Master: context-layout

commits+karl at tug.org commits+karl at tug.org
Sun Oct 23 00:06:10 CEST 2016


Revision: 42330
          http://tug.org/svn/texlive?view=revision&revision=42330
Author:   karl
Date:     2016-10-23 00:06:10 +0200 (Sun, 23 Oct 2016)
Log Message:
-----------
context-layout

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/libexec/ctan2tds
    trunk/Master/tlpkg/tlpsrc/collection-context.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/context/third/layout/
    trunk/Master/texmf-dist/doc/context/third/layout/t-layout.pdf
    trunk/Master/texmf-dist/tex/context/third/layout/
    trunk/Master/texmf-dist/tex/context/third/layout/t-layout.tex
    trunk/Master/tlpkg/tlpsrc/context-layout.tlpsrc

Added: trunk/Master/texmf-dist/doc/context/third/layout/t-layout.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/context/third/layout/t-layout.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/context/third/layout/t-layout.pdf	2016-10-22 22:05:00 UTC (rev 42329)
+++ trunk/Master/texmf-dist/doc/context/third/layout/t-layout.pdf	2016-10-22 22:06:10 UTC (rev 42330)

Property changes on: trunk/Master/texmf-dist/doc/context/third/layout/t-layout.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/context/third/layout/t-layout.tex
===================================================================
--- trunk/Master/texmf-dist/tex/context/third/layout/t-layout.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/context/third/layout/t-layout.tex	2016-10-22 22:06:10 UTC (rev 42330)
@@ -0,0 +1,411 @@
+%% Last Change: Fri Apr 22 11:06:09 2005
+
+%D \module
+%D   [       file=t-layout,
+%D        version=2003.03.26,
+%D          title=\CONTEXT\ User Module, 
+%D       subtitle=show layout,
+%D         author=Patrick Gundlach,
+%D           date=\currentdate,
+%D      copyright={Patrick Gundlach}]
+
+
+%C filename: t-layout.tex
+%C module layout, shows layout of current page
+
+
+%C copyright 2003,2007 Patrick Gundlach, patrick at gundla.ch
+%C may be distributed under the terms of the GNU General Public License
+%C URL: http://levana.de/context/
+
+%D \subject{Introduction}
+%D This third-party module \quote{layout} draws a representation of
+%D the of the layout of the
+%D current page and displays the sizes of the widths and heights of the
+%D margins, header, footer and text body.
+
+%D \subject{Usage}
+%D Include this module into your ConTeXt files: 
+%D \type{\usemodule[t][layout]} and show the layout with \type{\ShowLayout}.
+
+%D You can set some parameters using \type{\SetupShowLayout}. The
+%D parameters are: units, digits, round, showmore and graphonly.
+%D If graphonly (0/1) is 0, this module shows the lenghts of some text areas. 
+%D units (cm, mm, in or pt) sets the unit in which the lengths will be
+%D displayed, digits (any number $\geq 0$)
+%D sets the number of digits after the decimal period, round (any
+%D number $\neq 0$) states
+%D the place where rounding of the displayed numbers should occur
+%D (\TeX\ is bad at calculating such things) and showmore (0/1) tells
+%D this module to display information about the edge and top/bottom. 
+
+%D Example: 
+%D \starttyping
+%D \ShowLayout
+%D    [units=cm,
+%D     digits=2,
+%D     round=0.1,
+%D     showmore=1,
+%D     graphonly=1]
+%D 
+%D \stoptyping
+
+%D The idea was taken from the \type{\layout} command from the layout LaTeX
+%D package. (Kent McPherson and others)
+
+%C the following settings will be recognized:
+%C units  = cm, mm, in or pt
+%C digits = any number >= 0, those are the digits after the decimal period
+%C round  = any number != 0, just play with it, example 0.1 or 0.01.
+%C          Explanation will be done later
+
+%D \subject{The code}
+
+%D This section is not meant as documentation
+ 
+\newdimen\ShowLayoutdimen
+
+\setvalue{Layoutmm}{0.351459804}  % 2.54/72.27 * 10
+\setvalue{Layoutcm}{0.0351459804} % 2.54/72.27
+\setvalue{Layoutin}{0.0138370001} %    1/72.27
+\setvalue{Layoutpt}{1}
+
+\def\ShowLayoutB(#1.#2)#3{%
+ \counttokens #2\to\scratchcounter 
+ #1\ifnum#3>0%
+    \ifnum#3 > \the\scratchcounter \else \scratchcounter=#3 \fi
+   \splitofftokens \scratchcounter \from #2 \to\test .\test \fi}
+
+% taken from ConTeXt source
+\def\LayoutConvert#1#2#3%
+  {\ShowLayoutdimen=\getvalue{ShowLayoutround}pt
+   \begingroup
+   \scratchdimen#1\relax
+   \scratchdimen\getvalue{Layout#2}\scratchdimen 
+   \advance\scratchdimen by 0.5\ShowLayoutdimen
+   \divide\scratchdimen by \ShowLayoutdimen
+   \multiply\scratchdimen by \ShowLayoutdimen
+   \expandafter\ShowLayoutB\expandafter(\number\withoutpt{\the\scratchdimen}){#3}\thinspace #2
+   \endgroup}
+
+\def\ShowLayoutA#1{%
+ \LayoutConvert{#1}%
+ {\getvalue{ShowLayoutunits}}%
+ {\getvalue{ShowLayoutdigits}}}%
+
+\startuniqueMPgraphic{ShowLayout}{showmore}
+% make sure that the label is on the same side as the posa 
+vardef swapifnecessary (suffix posa, posb)(expr labelpos) =
+  if     ( (labelpos < posa) and (posa > posb))
+      or ( (labelpos > posa) and (posa < posb)) : 
+      save c; %swap 'em
+      c:=posa;
+      posa:=posb;
+      posb:= c;
+  fi
+enddef;
+% num:        labelnumber
+% vertical:   horizontal or vertical label?
+% pos:        for horizontal the y coord, for vertical the x corrd
+% posa, posb: positions of the borders (x coord for horizontal)
+% labelpos:   position for label, only for outer labels, given in the
+%             same direction as posa, posb
+def layoutshowmark(expr num, vertical, pos, posa, posb, labelpos) =
+    save    b,e,c,p,arrow;   
+    numeric b,e;  pair p[];   path arrow[],c;
+
+    b:=posa;
+    e:=posb;
+
+    % p0 is labelposition
+    % p1 is from
+    % p2 is to
+    % p3 is opposite arrow in outer marking
+
+    if labelpos = 0 : % inner label   |<----(n)---->|
+       p0 := (.5[b,e], pos);
+    else:             % outer label   --->|  |<----(n)
+       swapifnecessary (b,e, labelpos);
+       p0 := (labelpos, pos);
+       p3 := ( if b < labelpos: e-5mm else: e+5mm fi ,pos);
+    fi
+
+    p1 := (b,pos);
+    p2 := (e,pos);
+
+    if vertical:
+       p0:=(ypart p0,xpart p0);
+       p1:=(ypart p1,xpart p1);
+       p2:=(ypart p2,xpart p2);
+       p3:=(ypart p3,xpart p3);
+    fi
+    c:= fullcircle scaled .7cm shifted p0;
+    
+    if (center(c) -- p1) intersectiontimes c = (-1,-1):
+      % don't draw the arrows, because there is not enough room for them.
+    else:
+        arrow1 :=center(c) -- p1 cutbefore (center(c) -- p1) intersectionpoint c ;
+        arrow2 :=  
+           if labelpos = 0 : % inner
+                 center(c) -- p2 cutbefore (center(c) -- p2) intersectionpoint c 
+           else: 
+                 p3 -- p2
+           fi;
+      
+        label (decimal (num), center(c));
+        draw c;
+        drawarrow arrow1;
+        drawarrow arrow2;
+    fi
+    
+enddef;
+
+
+
+StartPage;
+numeric xpos,ypos;
+
+path body,leftmargin,header,footer,rightmargin;
+
+
+% backspace:
+draw llcorner Page shifted (BackSpace,0) --
+      ulcorner Page shifted (BackSpace,0) dashed evenly;
+
+%topspace
+draw urcorner Page shifted (0,-TopSpace) --
+      ulcorner Page shifted (0,-TopSpace) dashed evenly;
+
+
+header     := Field [Header]     [Text];
+footer     := Field [Footer]     [Text];
+leftmargin := Field [LeftMargin] [Text];
+rightmargin:= Field [RightMargin][Text];
+body       := Field [Text]       [Text];
+
+pickup pencircle scaled 2pt;
+
+draw Page;
+draw leftmargin;
+draw rightmargin;
+draw header;
+draw footer;
+draw body;
+
+
+
+label ("Body", center (body));
+label ("Header",center (header));
+label ("Left Margin", center (leftmargin));
+label ("Right Margin", center (rightmargin));
+label ("Footer", center (footer));
+%% label (textext("\tfb Body"), center (body));
+%% label (textext("\tfa Header"),center (header));
+%% label (textext("Left Margin"), center (leftmargin));
+%% label (textext("Right Margin"), center (rightmargin));
+%% label (textext("\tfa Footer"), center (footer));
+
+
+if \MPvar{showmore}=1:
+   path top, bot, leftedge, rightedge;
+
+   top       := Field [Top]      [Text];
+   bot       := Field [Bottom]   [Text];
+   leftedge  := Field [LeftEdge] [Text];
+   rightedge := Field [RightEdge][Text];
+
+   draw top;
+   draw bot;
+   draw leftedge;
+   draw rightedge;
+fi
+
+pickup pencircle scaled 1pt;
+
+%        (num, vertical, pos, from, to, labelpos)
+
+%backspace
+layoutshowmark (1, false, .5[ypart(ulcorner Page),Vstep[Top]], 0,BackSpace,0)
+
+
+ypos := Vstep[HeaderSeparator] -1cm;
+
+% leftmargin
+layoutshowmark (2, false, ypos,
+                Hstep[LeftMargin],
+                Hstep[LeftMargin]+Hsize[LeftMargin],0);
+ 
+% leftmargindistance
+layoutshowmark (3, false, ypos -1cm,
+                Hstep[LeftMarginSeparator],
+                Hstep[Text],
+                Hstep[Text]+1cm);
+
+% makeupwidth
+layoutshowmark (4, false, Vstep[Text]+2cm,
+                Hstep[Text], Hstep[Text]+Hsize[Text],0);
+
+% rightmargin
+layoutshowmark (5, false, ypos,
+                Hstep[RightMargin],
+                Hstep[RightMargin]+Hsize[RightMargin],0);
+ 
+% rightmargindistance
+layoutshowmark (6, false, ypos-1cm,
+                Hstep[RightMargin],
+                Hstep[RightMarginSeparator],
+                Hstep[RightMarginSeparator] -1cm);
+
+
+%topspace
+
+xpos:=xpart(ulcorner Page)+BackSpace+1cm;
+layoutshowmark (7, true, xpos, PaperHeight,PaperHeight-TopSpace,0)
+
+%header
+xpos:=xpos+1cm;
+ypos:=.5[PaperHeight,PaperHeight-TopSpace];
+layoutshowmark (8, true, xpos ,
+                Vstep[Header],
+                Vstep[Header]+Vsize[Header],ypos);
+
+%headerseparator
+xpos:=xpos+1cm;
+layoutshowmark (9, true,xpos,
+                Vstep[HeaderSeparator],
+                Vstep[HeaderSeparator]+Vsize[HeaderSeparator],ypos);
+
+xpos:=xpos+1cm;
+
+if \MPvar{showmore}=1:
+   % top 
+   layoutshowmark (17, true, xpos,
+                   Vstep[Top],
+                   Vstep[Top]+Vsize[Top], ypos);
+
+   xpos:=xpos+1cm;
+   layoutshowmark (18, true, xpos,
+                   Vstep[TopSeparator],
+                   Vstep[TopSeparator]+Vsize[TopSeparator], ypos);
+              
+fi
+     
+% makeupheight
+layoutshowmark (10, true,Hstep[RightMarginSeparator]-2cm,
+                Vstep[Header]+Vsize[Header],
+                Vstep[Footer],0);
+
+
+%footerseparator
+xpos:=xpart(ulcorner Page)+BackSpace+2cm;
+ypos:=.5(Vstep[Footer]);
+
+layoutshowmark (11, true,xpos,
+                Vstep[FooterSeparator],
+                Vstep[FooterSeparator]+Vsize[FooterSeparator],ypos);
+
+%footer
+xpos:=xpos+1cm;
+layoutshowmark (12, true,xpos,
+              Vstep[Footer],Vstep[Footer]+Vsize[Footer],ypos);
+
+xpos:=xpos+1cm;
+
+if \MPvar{showmore}=1:
+   % bottom
+   layoutshowmark (19, true, xpos,
+                   Vstep[Bottom],
+                   Vstep[Bottom]+Vsize[Bottom], ypos);
+   xpos:=xpos+1cm;
+   layoutshowmark (20, true, xpos,
+                   Vstep[BottomSeparator],
+                   Vstep[BottomSeparator]+Vsize[BottomSeparator], ypos);
+
+fi
+
+if \MPvar{showmore}=1:
+
+   ypos := Vstep[HeaderSeparator] -3cm;
+
+   % LeftEdge
+   layoutshowmark (13, false, ypos,
+                   Hstep[LeftEdge],
+                   Hstep[LeftEdge]+Hsize[LeftEdge],Hstep[Text]+1cm);
+   ypos := ypos-1cm;
+   % LeftEdgeSeparator
+   layoutshowmark (14, false, ypos,
+                   Hstep[LeftEdgeSeparator],
+                   Hstep[LeftEdgeSeparator]+Hsize[LeftEdgeSeparator],
+                   Hstep[Text]+1cm);
+
+   ypos := Vstep[HeaderSeparator] -3cm;
+
+   layoutshowmark (15, false, ypos,
+                   Hstep[RightEdge],
+                   Hstep[RightEdge]+Hsize[RightEdge],
+                   Hstep[RightMarginSeparator] -1cm);
+
+   ypos := ypos-1cm;
+
+   layoutshowmark (16, false, ypos,
+                   Hstep[RightEdge],
+                   Hstep[RightEdgeSeparator],
+                   Hstep[RightMarginSeparator] -1cm);
+
+   
+
+fi
+
+currentpicture := currentpicture scaled .5;
+
+\stopuniqueMPgraphic
+\defineoverlay[ShowLayout][\uniqueMPgraphic{ShowLayout}]
+
+\def\SetupShowLayout{\dosingleempty\getparameters[ShowLayout]}
+\SetupShowLayout[units=pt,digits=1,round=0.1,showmore=0,graphonly=0]
+
+\def\ShowLayout{\dosingleempty\doShowLayout}
+
+
+\def\doShowLayout[#1]{%
+   \getparameters[ShowLayout][#1]
+   \setMPvariables[ShowLayout][showmore=\getvalue{ShowLayoutshowmore}]
+   \framed[width=.5\paperwidth, 
+           height=.5\paperheight,
+           background=ShowLayout,
+           frame=off,
+%           frame=on,
+           ]{}%
+\ifnum\getvalue{ShowLayoutgraphonly}=0
+      \bgroup\tfxx
+\startcolumns[n=2]
+\starttabulate[|r|l|]
+\NC 1 \NC backspace      \ShowLayoutA{\the\backspace} \NR
+\NC 2 \NC leftmargin     \ShowLayoutA{\the\leftmarginwidth}\NR
+\NC 3 \NC leftmargindistance \ShowLayoutA{\the\leftmargindistance}\NR
+\NC 4 \NC width          \ShowLayoutA{\the\makeupwidth}\NR
+\NC 5 \NC rightmargin    \ShowLayoutA{\the\rightmarginwidth}\NR
+\NC 6 \NC rightmargindistance \ShowLayoutA{\the\rightmargindistance}\NR
+\NC 7 \NC topspace       \ShowLayoutA{\the\topspace}\NR
+\NC 8 \NC header         \ShowLayoutA{\the\headerheight}\NR
+\NC 9 \NC headerdistance \ShowLayoutA{\the\headerdistance}\NR
+\NC 10\NC height         \ShowLayoutA{\the\makeupheight}\NR
+\NC 11\NC footerdistance \ShowLayoutA{\the\footerdistance}\NR
+\NC 12\NC footer         \ShowLayoutA{\the\footerheight}\NR
+\ifnum\getvalue{ShowLayoutshowmore}=1%
+\NC 13\NC leftedge       \ShowLayoutA{\the\leftedgewidth}\NR
+\NC 14\NC leftedgedistance  \ShowLayoutA{\the\leftedgedistance}\NR
+\NC 15\NC rightedge         \ShowLayoutA{\the\rightedgewidth}\NR
+\NC 16\NC rightedgedistance  \ShowLayoutA{\the\rightedgedistance}\NR
+\NC 17\NC top         \ShowLayoutA{\the\topheight}\NR
+\NC 18\NC topdistance         \ShowLayoutA{\the\topdistance}\NR
+\NC 19\NC bottom         \ShowLayoutA{\the\bottomheight}\NR
+\NC 20\NC bottomdistance         \ShowLayoutA{\the\bottomdistance}\NR
+\fi
+\NC   \NC paperwidth     \ShowLayoutA{\the\paperwidth}\NR
+\NC   \NC paperheight    \ShowLayoutA{\the\paperheight}\NR
+\stoptabulate
+\stopcolumns
+\egroup
+\fi
+}


Property changes on: trunk/Master/texmf-dist/tex/context/third/layout/t-layout.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2016-10-22 22:05:00 UTC (rev 42329)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2016-10-22 22:06:10 UTC (rev 42330)
@@ -163,7 +163,7 @@
     context-degrade context-fancybreak context-filter
     context-french context-fullpage
     context-gantt context-gnuplot context-inifile
-    context-letter context-lettrine context-mathsets
+    context-layout context-letter context-lettrine context-mathsets
     context-notes-zh-cn context-rst context-ruby
     context-simplefonts context-simpleslides context-title
     context-transliterator context-typearea context-typescripts context-vim

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2016-10-22 22:05:00 UTC (rev 42329)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2016-10-22 22:06:10 UTC (rev 42330)
@@ -287,6 +287,7 @@
  'context-gantt',       "&MAKEcopy",
  'context-gnuplot',     "&MAKEcopy",
  'context-inifile',     "&MAKEcopy",
+ 'context-layout',	"&MAKEcopy", 
  'context-letter',      "&MAKEcopy",
  'context-lettrine',    "&MAKEcopy",
  'context-lilypond',    "die 'skipping, obsolete per author'",

Modified: trunk/Master/tlpkg/tlpsrc/collection-context.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-context.tlpsrc	2016-10-22 22:05:00 UTC (rev 42329)
+++ trunk/Master/tlpkg/tlpsrc/collection-context.tlpsrc	2016-10-22 22:06:10 UTC (rev 42330)
@@ -29,6 +29,7 @@
 depend context-gantt
 depend context-gnuplot
 depend context-inifile
+depend context-layout
 depend context-letter
 depend context-lettrine
 depend context-mathsets

Added: trunk/Master/tlpkg/tlpsrc/context-layout.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/context-layout.tlpsrc	                        (rev 0)
+++ trunk/Master/tlpkg/tlpsrc/context-layout.tlpsrc	2016-10-22 22:06:10 UTC (rev 42330)
@@ -0,0 +1,2 @@
+category ConTeXt
+depend context



More information about the tex-live-commits mailing list