Difference between revisions of "User:Wolfgang Schuster"
Jump to navigation
Jump to search
(Imposition styles) |
|||
Line 64: | Line 64: | ||
\installpagearrangement FLASHCARD | \installpagearrangement FLASHCARD | ||
− | + | {\dosetuparrangement\@@ppnx\@@ppny{\numexpr\@@ppxy*2\relax}% | |
− | \@@ppnx+\plusone\relax}{\numexpr\@@ppny+\plusone\relax}% | + | {\numexpr\@@ppnx+\plusone\relax}{\numexpr\@@ppny+\plusone\relax}% |
− | \pusharrangedpageFLASHCARD\poparrangedpagesAB\relax} | + | \pusharrangedpageFLASHCARD\poparrangedpagesAB\relax} |
\newcounter\arrangedpageshiftX | \newcounter\arrangedpageshiftX | ||
Line 127: | Line 127: | ||
<texcode> | <texcode> | ||
\installpagearrangement LEAFLET | \installpagearrangement LEAFLET | ||
− | + | {\dosetuparrangement\@@ppnx1{\numexpr\@@ppnx*2\relax}{\numexpr\@@ppnx+\plusone\relax}2% | |
− | \plusone\relax}2% \pusharrangedpageLEAFLET\poparrangedpagesAB\relax} | + | \pusharrangedpageLEAFLET\poparrangedpagesAB\relax} |
\def\pusharrangedpageLEAFLET#1% | \def\pusharrangedpageLEAFLET#1% |
Revision as of 11:35, 11 July 2008
Contents
Sample Code
Full page figures
The following macro allows me to include figures in my document and adjust them to have the size of a normal page.
\unprotect \definesystemvariable{xx} \def\fullpagebox {\dosingleempty\dofullpagebox} \def\dofullpagebox[#1]% {\bgroup \getparameters[\??xx][\c!nx=1,\c!ny=1,#1]% \dowithnextbox {\!!widtha\dimexpr\paperwidth/\nextboxwd\relax \!!widthb\dimexpr\paperheight/\nextboxht\relax \ifdim\!!widtha>\!!widthb \setbox\nextbox\vbox\!!to\@@xxny\paperheight {\vss\expanded{\scale[\c!width=\@@xxnx\paperwidth]{\flushnextbox}}\vss}% \else \setbox\nextbox\hbox\!!to\@@xxnx\paperwidth {\hss\expanded{\scale[\c!height=\@@xxny\paperheight]{\flushnextbox}}\hss}% \fi \setbox\nextbox\hbox{\clip[\c!width=\@@xxnx\paperwidth,\c!height=\@@xxny\paperheight]{\flushnextbox}}% \startTEXpage \flushnextbox \stopTEXpage \egroup}% \hbox} \def\fullpagefigure {\dodoubleempty\dofullpagefigure} \def\dofullpagefigure[#1][#2]% {\ifsecondargument \fullpagebox[#1]{\externalfigure[#2]}% \else \fullpagebox[]{\externalfigure[#1]}% \fi} \protect \starttext \fullpagefigure[image] \fullpagefigure[nx=2][image] \fullpagefigure[ny=2][image] \stoptext
Flashcards
For tests and vocabulary it is usefull to use flashcards for learning.
\unprotect \installpagearrangement FLASHCARD {\dosetuparrangement\@@ppnx\@@ppny{\numexpr\@@ppxy*2\relax}% {\numexpr\@@ppnx+\plusone\relax}{\numexpr\@@ppny+\plusone\relax}% \pusharrangedpageFLASHCARD\poparrangedpagesAB\relax} \newcounter\arrangedpageshiftX \newcounter\arrangedpageshiftY \def\dopusharrangedpageFLASHCARD#1% {\ifnum\arrangedpageshiftX<\arrangedpageX \ifodd\arrangedpageN \handlearrangedpageXandY{#1}0\arrangedpageshiftX\arrangedpageshiftY\arrangedpageA \else \handlearrangedpageXandY{#1}0{\numexpr\@@ppnx-\arrangedpageshiftX-1\relax}\arrangedpageshiftY\arrangedpageB \doglobal\increment\arrangedpageshiftX \fi \fi \ifnum\arrangedpageshiftX=\@@ppnx \doglobal\newcounter\arrangedpageshiftX \doglobal\increment\arrangedpageshiftY \fi} \def\pusharrangedpageFLASHCARD#1% {\doglobal\increment\arrangedpageN \reportarrangedpage\arrangedpageN \ifnum\arrangedpageN=\numexpr\@@ppxy*2\relax \dopusharrangedpageFLASHCARD{#1}% \doglobal\newcounter\arrangedpageshiftX \doglobal\newcounter\arrangedpageshiftY \poparrangedpages \else \dopusharrangedpageFLASHCARD{#1}% \fi} \protect
To create cards you have to select a number of rows and columns and set the papersize to a value small enough to fit all cards on one sheet of paper.
\setuppapersize[A7][A3,landscape] \setuppaper [nx=4,ny=2] \setuparranging[FLASHCARD] \setuplayout [location=middle,marking=on] \setupbackgrounds[page][frame=on] \starttext \dorecurse{20} {\startstandardmakeup[align=middle] Front side \recurselevel \stopstandardmakeup \startstandardmakeup[align=middle] Back side \recurselevel \stopstandardmakeup} \stoptext
Brochures
\installpagearrangement LEAFLET {\dosetuparrangement\@@ppnx1{\numexpr\@@ppnx*2\relax}{\numexpr\@@ppnx+\plusone\relax}2% \pusharrangedpageLEAFLET\poparrangedpagesAB\relax} \def\pusharrangedpageLEAFLET#1% {\doglobal\increment\arrangedpageN \reportarrangedpage\arrangedpageN \ifnum\arrangedpageN=\plusone \handlearrangedpageXandY{#1}0{\numexpr\@@ppnx-1\relax}0\arrangedpageA \else\ifnum\arrangedpageN>\numexpr\@@ppnx+1\relax \handlearrangedpageXandY{#1}0{\numexpr\arrangedpageN-\@@ppnx-2\relax}0\arrangedpageA \else \handlearrangedpageXandY{#1}0{\numexpr\arrangedpageN-2\relax}0\arrangedpageB \fi\fi \ifnum\arrangedpageN=\arrangedpageT \poparrangedpages \fi} \protect
\setuppapersize[DL][A3,landscape] \setuppaper [nx=3] \setuparranging[LEAFLET] \setuplayout [location=middle,marking=on] \setupbackgrounds[page][frame=on] \starttext \dorecurse{6} {\startstandardmakeup[align=middle] \ssd Page \recurselevel \stopstandardmakeup} \stoptext
Feature Requests
grid=yes
option for\definelayout
,- temporary user variable for privat macros (see above),
- macro
\defineuvervariable{...}
to define namespaces for third party modules.