From a985070cb870e93cd08758071ed2ac51b2784681 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 29 Jul 2008 15:05:06 +0000 Subject: add context-construction-plan git-svn-id: svn://tug.org/texlive/trunk@9880 c570f23f-e606-0410-a88d-b1316a301751 --- .../construction-plan/t-construction-plan.tex | 150 +++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 Master/texmf-dist/tex/context/third/construction-plan/t-construction-plan.tex (limited to 'Master/texmf-dist/tex/context/third/construction-plan') diff --git a/Master/texmf-dist/tex/context/third/construction-plan/t-construction-plan.tex b/Master/texmf-dist/tex/context/third/construction-plan/t-construction-plan.tex new file mode 100644 index 00000000000..bb48bbf055d --- /dev/null +++ b/Master/texmf-dist/tex/context/third/construction-plan/t-construction-plan.tex @@ -0,0 +1,150 @@ +%D \module +%D [ file=t-construction-plan, +%D version=2008.04.05, +%D title=\CONTEXT\ User Module, +%D subtitle=Construction plans, +%D author=Peter Münster, +%D date=\currentdate, +%D copyright={Peter Münster}] +%C This module is copyrighted by Peter Münster. +%C Please send any comments to pmrb at free.fr. + +% This program is free software; you can redistribute it and/or +% modify it under the terms of the GNU General Public License +% as published by the Free Software Foundation; either version 2 +% of the License, or (at your option) any later version. + +% This program is distributed in the hope that it will be useful, +% but without any warranty; without even the implied warranty of +% merchantability or fitness for a particular purpose. See the +% GNU General Public License for more details. + +\writestatus{loading}{Typesetting construction plans} + +\unprotect + +%D We need a lot of space. +\setuplayout[header=0pt,footer=0pt,backspace=2cm,width=middle, + topspace=1cm,height=middle] + +%D Doing pagenumbering on our own. +\setuppagenumbering[state=stop] + +%D \macros +%D {setupPlan} +%D +%D Setting up some values. +%D +%D Default setup: +%D +%D \starttyping +%D \setupPlan[paper=A3,project=,author=,prec=10] +%D \stoptyping +%D +%D Example: +%D +%D \starttyping +%D \setupPlan[paper=A3,project=My garage,author=Peter Münster, +%D prec=Precision factor for figure width] +%D \stoptyping +\def\setupPlan[#1]{\getparameters[CP][#1]} +\setupPlan[paper=A4,project=,author=,date=,prec=10] + +%D Support for more than one language! +\setuplabeltext[fr][project=Projet,author=Auteur,date=Date,scale=Échelle] +\setuplabeltext[en][project=Project,author=Author,date=Date,scale=Scale] +\setuplabeltext[de][project=Projekt,author=Autor,date=Datum,scale=Maßstab] + +%D \macros +%D {Plan} +%D +%D Makes a page with a plan and some comments below it. +%D +%D Example: +%D +%D \starttyping +%D \Plan[Prefix=file prefix,Scale=scale of figure,mm=width of figure in mm, +%D Title=title of plan] +%D \stoptyping +%D +%D If you want to include the file \type{plan-20000.eps} you have to use +%D \type{Prefix=plan,mm=20000}. +%D +%D Sample document: +%D +%D \starttyping +%D \usemodule[construction-plan] +%D \mainlanguage[fr] % or better: \usemodule[french] +%D \starttext +%D \Plan[Prefix=situ,Scale=2000,mm=351000,Title=Plan de situation] +%D \Plan[Prefix=masse,Scale=400,mm=66000,Title=Plan de masse] +%D \Plan[Prefix=nord,Scale=100,mm=20906,Title=Façade nord] +%D \Plan[Prefix=sud,mm=18900,Title=Façade sud] +%D \Plan[Prefix=west,mm=23390,Title=Pignon ouest] +%D \Plan[Prefix=ost,mm=23513,Title=Pignon est] +%D \Plan[Prefix=rdc,mm=18456,Title=Rez-de-chaussée] +%D \Plan[Prefix=etage,mm=16695,Title=Étage] +%D \Plan[Prefix=haus1,Scale=150,mm=30000,Title=Simulation 1] +%D \Plan[Prefix=haus2,Scale=100,mm=20000,Title=Simulation 2] +%D \stoptext +%D \stoptyping + +\def\@BottomLine{{\tx\doifsomething\CPproject{% + \labeltext{project}: \CPproject, }% + \doifsomething\CPauthor{\labeltext{author}: \CPauthor, }% + \labeltext{date}: \doifelsenothing\CPdate\currentdate\CPdate}\hfill} + +\newdimen\CPwidth \newdimen\CPheight +\def\Plan[#1]{% + \getparameters[CP][#1] + \CPwidth=\dimexpr(\the\numexpr(\CPprec*\CPmm/\CPscale)mm/\CPprec) + \def\CPfig{\externalfigure[\CPprefix-\CPmm][width=\the\CPwidth]}% + \setbox\scratchbox\hbox{\CPfig}\CPheight=\ht\scratchbox + \ifdim\CPwidth>1.1\CPheight + \setuppapersize[\CPpaper,landscape,rotated][\CPpaper] + \else + \setuppapersize[\CPpaper][\CPpaper] + \fi + \startstandardmakeup + \midaligned{\CPfig}\vfil\@BottomLine + \framed[align=lohi,offset=2ex]{{\bfc\CPtitle}\blank + \labeltext{scale}: 1/\CPscale\quad\hfill(\currentpage/\lastpage)}% + \vskip0pt plus -1fil + \stopstandardmakeup} + +%D \macros +%D {NoPlan} +%D +%D Makes a page with some content and some comments below it. +%D +%D Example: +%D +%D \starttyping +%D \NoPlan[Title=Some notes]{Here are some notes about the plans.} +%D \stoptyping + +\long\def\NoPlan[#1]#2{% + \getparameters[CP][#1] + \setuppapersize[\CPpaper][\CPpaper] + \startstandardmakeup + #2\vfil\@BottomLine + \framed[align=lohi,offset=2ex]{{\bfc\CPtitle}\blank + (\currentpage/\lastpage)}\vskip0pt plus -1fil + \stopstandardmakeup} + +\protect + +\doifnotmode{demo}{\endinput} + +%D Usage example: +\usemodule[construction-plan] +\setupexternalfigures[directory=samples] +\mainlanguage[de] +\setupPlan[paper=A3,project=Mein Haus,prec=15] +\starttext +\Plan[prefix=unten,scale=100,mm=21478,title=Erdgeschoß] +\Plan[prefix=oben,mm=21345,title=Obergeschoß] +\Plan[prefix=simulation,scale=250,mm=80000,title=Simulation] +\NoPlan[title=Notizen,paper=A4]{\tfb\setupinterlinespace + Einige Notizen, die das Bauvorhaben beschreiben...} +\stoptext -- cgit v1.2.3