From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/logbox/README | 44 +++ macros/latex/contrib/logbox/logbox.dtx | 545 +++++++++++++++++++++++++++++++++ macros/latex/contrib/logbox/logbox.ins | 85 +++++ macros/latex/contrib/logbox/logbox.pdf | Bin 0 -> 605662 bytes macros/latex/contrib/logbox/logbox.png | Bin 0 -> 44573 bytes 5 files changed, 674 insertions(+) create mode 100644 macros/latex/contrib/logbox/README create mode 100644 macros/latex/contrib/logbox/logbox.dtx create mode 100644 macros/latex/contrib/logbox/logbox.ins create mode 100644 macros/latex/contrib/logbox/logbox.pdf create mode 100644 macros/latex/contrib/logbox/logbox.png (limited to 'macros/latex/contrib/logbox') diff --git a/macros/latex/contrib/logbox/README b/macros/latex/contrib/logbox/README new file mode 100644 index 0000000000..e0b43caf5c --- /dev/null +++ b/macros/latex/contrib/logbox/README @@ -0,0 +1,44 @@ +Package: logbox - e-TeX showbox facilities (FC) +------------------------------------------------------------- +logbox provides facilities to display the contents of boxes in +the log file or print them with their dimensions in the final +document. + +For "exploration purpose". + +The TeX primitive \showbox stops the compilation. +Looking at the box contents requires to set the \showboxbreadth +and \showboxdepth parameters accordingly. + +logbox.sty sets those parameters, the \interactionmode is temporarily +set so that the compilation don't stop and the box description can +finally be explored in the .log file. + +As a tracing command, \logbox also works in harmony with the tracing +parameter: \tracingoutput. + + +Commands provided: + +\logbox : TeX \showbox without stop in the compilation + + \showboxbreadth >= 10 + + \showboxdepth >= 10 + +\dimbox : typeset the type (hbox, vbox or void) of the box + and its dimensions in the document. + +\viewbox : \dimbox + \logbox +\viewbox* : \dimbox + \logbox + inserts the box in the document + +\Viewbox : same as \viewbox but the argument is the box contents + rather than the box register. + +\ShowGroups : e-TeX \showgroups without stop in the compilation. + +\ShowLists : e-TeX \showlists without stop in the compilation. + +\ShowIfs : e-TeX \showifs without stop in the compilation. + + + +Copyright (C) 2011 by FC ------------------------------------ diff --git a/macros/latex/contrib/logbox/logbox.dtx b/macros/latex/contrib/logbox/logbox.dtx new file mode 100644 index 0000000000..99cb096b41 --- /dev/null +++ b/macros/latex/contrib/logbox/logbox.dtx @@ -0,0 +1,545 @@ +% \iffalse meta-comment +% logbox : 2011/03/26 v1.0 - e-TeX showbox facilities for exploration purpose (FC) +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3 of this license or (at your option) any later +% version. The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% +% This work consists of the main source file logbox.dtx +% and the derived files: +% logbox.sty, logbox.ins, logbox.drv +% and logbox.pdf +% +% Unpacking: +% (a) Without logbox.ins: etex logbox.dtx +% (b) If logbox.ins is present: etex logbox.ins +% (c) If you insist on using LaTeX +% latex \let\install=y\input{logbox.dtx} +% (quote the arguments according to the demands of your shell) +% +% Documentation: pdflatex logbox.dtx +% Copyright (C) 2011 by FC +%<*ignore> +\begingroup + \def\x{LaTeX2e}% +\expandafter\endgroup +\ifcase 0\ifx\install y1\fi\expandafter + \ifx\csname processbatchFile\endcsname\relax\else1\fi + \ifx\fmtname\x\else 1\fi\relax +\else\csname fi\endcsname +% +%<*install> +\input docstrip.tex +\Msg{***************************************************************************} +\Msg{* Installation *} +\Msg{* Package logbox: 2011/03/26 v1.0 - e-TeX showbox facilities (FC) *} +\Msg{***************************************************************************} + +\keepsilent +\askforoverwritefalse + +\let\MetaPrefix\relax +\preamble + +This is a generated file. + +logbox : 2011/03/26 v1.0 - e-TeX showbox facilities (FC) + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either +version 1.3 of this license or (at your option) any later +version. The latest version of this license is in + http://www.latex-project.org/lppl.txt + +This work consists of the main source file logbox.dtx +and the derived files: + logbox.sty, logbox.ins, logbox.drv, + and: logbox.pdf + +logbox : 2011/03/26 v1.0 - e-TeX showbox facilities (FC) +Copyright (C) 2011 by FC + +\endpreamble +\let\MetaPrefix\DoubleperCent + +\generate{% + \file{logbox.ins}{\from{logbox.dtx}{install}}% + \file{logbox.sty}{\from{logbox.dtx}{package}}% +} + +\askforoverwritetrue +\generate{% + \file{logbox.drv}{\from{logbox.dtx}{driver}}% +} + +\obeyspaces +\Msg{************************************************************************} +\Msg{* *} +\Msg{* To finish the installation you have to move the following *} +\Msg{* file into a directory searched by TeX: *} +\Msg{* *} +\Msg{* logbox.sty *} +\Msg{* *} +\Msg{* To produce the documentation run the file `logbox.dtx' *} +\Msg{* through pdfLaTeX. *} +\Msg{* *} +\Msg{************************************************************************} +\endbatchfile +% +%<*ignore> +\fi +% +%<*driver> +\def\thisinfo {e-TeX showbox facilities (FC)} +\def\thisversion {1.0} +\PassOptionsToPackage {full}{tabu} +\RequirePackage [\detokenize{§§},hyperlistings]{fcltxdoc} +\AtBeginDocument{\embedfile{README}} +%%\CheckDates{interfaces=2011/02/12,tabu=2011/02/25} +\documentclass[a4paper,11pt,oneside,american,latin1,T1]{ltxdoc} \usetikz{full} +\usepackage [latin1]{inputenc} +\usepackage [T1]{fontenc} +\usepackage {geometry} +\usepackage {numprint} +\usepackage {pdfcomment} +\usepackage {ragged2e} % general tools +\usepackage {arial,bbding,relsize,moresize,manfnt,pifont,upgreek} % fonts +\csname endofdump\endcsname +\usepackage {Escan} +\usepackage {logbox} +\RequirePackage {tabu} +\let\microtypeYN=n +\ifx y\microtypeYN % + \usepackage[expansion=all,stretch=20,shrink=60]{microtype}\fi % font (microtype) +\CodelineNumbered\lastlinefit999 +\abovecaptionskip=0pt +\lstset{color=LightCyan!30, +texcsstyle=\color{blue}, +moretexcs=[1]{ + lstdefinestyle,tikz, + lstinputlisting,lstset,tikzlabel,tikzrefXY, + color, + geometry,lasthline,firsthline, + cmidrule,toprule,bottomrule,tabusetup*,tabusetup, + everyrow,tabulinestyle,tabureset,savetabu,usetabu,preamble, + taburulecolor,taburowcolors,ccolor,cbackground,background,rowbackground,rowcolor}, +keywordstyle=[3]{\color{black}\bfseries}, +morekeywords=[3]{&}, +keywordstyle=[4]{\color{red}\bfseries}, +morekeywords=[4]{\linegoal,$}, +keywordstyle=[5]{\color{blue}\bfseries}, +keywordstyle=[6]{\color{green}\bfseries}, +keywordstyle=[7]{\color{yellow}\bfseries}, +%extendedchars={true}, +alsoletter={&},alsoletter={*},alsoletter={$},alsoletter={-}, +morekeywords=[5]{blue}, +morekeywords=[6]{green}, +morekeywords=[7]{yellow}, +texcsstyle=[7]{\color{Gold}}, +texcs=[7]{includegraphics}, +texcs=[77]{newEscan,renewEscan,provideEscan}, +} +\hypersetup {% + pdfauthor=Florent CHERVET, + pdfkeywords={TeX, LaTeX, e-TeX, Escan, scantokens, environment, NewEnviron, package }, +} +\geometry {top=0mm,headheight=8mm,includehead,reversemarginpar,asymmetric,headsep=3mm,bottom=14mm,footskip=5mm,inner=35mm,outer=20mm } +\begin{document} + \DocInput{\jobname.dtx} +\end{document} +% +% \fi +% +% \CheckSum{157} +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \DoNotIndex{\globcount,\globdimen,\if,\fi,\else,\def,\the,\gdef,\global,\relax,\begingroup,\endgroup} +% \DoNotIndex{\@empty,\@gobble,\def,\edef,\bgroup,\egroup,\@tempcnta,\@tempcntb,\@nil,\@ifnextchar,\z@,\string,\scan,\scan-left,\scan-right,\ShowTokens,\p@,\providecommand} +% \DoNotIndex{\ProvidesPackage,\NeedsTeXFormat,\long,\let,\kernel@ifnextchar} +% \makeatletter +% \def\ThisInfo{\ifdefvoid \lsstyle {\stretchwith\,{\eTeX\ showbox\ facilities\ for\ exploration\ purpose}} +% {\lsstyle \eTeX\ showbox\ facilities\ for\ exploration\ purpose}} +% \def\ttdefault{lmvtt} \colorlet{pkgcolor}{MidnightBlue!20!Aquamarine!250} +% \renewcommand\lstlistingname {Example} +% \parindent\z@\parskip.4\baselineskip\topsep\parskip\partopsep\z@ +% \newrobustcmd*\FC {{\leavevmode\color{copper}\usefont{T1}{fts}xn FC}} +% \colorlet{linkcolor}{pkgcolor!80!FireBrick!200} \colorlet{csrefcolor}{pkgcolor}^^ARoyalBlue!70!Indigo!50!Black} +% \definecolor{macrocode}{rgb}{0.08,0.00,0.15} +% \providerobustcmd*\csred{\cs[\colorlet{csrefcolor}{red}]} +% \def\MacroFont{\ttfamily\bfseries } +% \def\macro@font {\def\Cr@scale{.87}\changefont{fam=pcrs,siz=10pt,ser=m,color=macrocode,spread=1}\let\AltMacroFont\macro@font } +% \AtBeginEnvironment {declcs}{\tabusetup* {font=\bfseries\large,rule width=\heavyrulewidth,linesep=1mm,tabuclineforhline}}^^A everyrow=\rowbackground{fill=OrangeRed!80,cell fading=o}, +% \AtBeginEnvironment {declenv}{\tabusetup* {font=\bfseries\large,rule width=\heavyrulewidth,linesep=0mm,tabuclineforhline}}^^Aeveryrow=\rowbackground{fill=Snow!220,cell fading=-+{70}{0}{30}}, +% \AtBeginEnvironment {lstlisting}{\Needspace{7\baselineskip}} +% \tikzAtEveryShipout {\ifnum \value{page}>\@ne \fill [fill=Chartreuse,ultra nearly transparent] (0,0) rectangle (\paperwidth,-\headheight);\fi } +% \lstset{color=Chartreuse!7} +% +% \sectionformat\section[hang]{ +% left=\declmarginwidth, +% font=\bfseries\Large, +% bookmark={color=pkgcolor,bold}, +% bottom=\smallskipamount,top=\medskipamount, +% } +% \sectionformat\subsection [hang]{ +% font=\raggedright\large\bfseries, +% bookmark={color=MidnightBlue}, +% } +% \pagesetup [corpus]{norule, +% font=\footnotesize, +% head/left=\noindent\raise1.5mm\hbox{\thispackage}, +% head/font+=\mdseries\sffamily, +% head/right=\noindent\raise1.5mm\hbox{\ThisInfo}, +% foot/left/font=\scriptsize\color{gray!80}, +% foot/left=\vbox to\baselineskip{\vss{{\rotatebox[origin=l]{90}{\thispackage\,[rev.\thisversion]\,\CopyRight2011\,\lower.4ex\hbox{\pkgcolor\NibRight}\,\FC}}}}, +% offset=15mm, +% left/offset+=15mm, +% foot/right=\oldstylenums{\arabic{page}}/\oldstylenums{\pageref{LastPage}}, +% } +% \pagesetup [plain]{% +% norules,font=\scriptsize, +% offset=15mm, +% left/offset+=15mm, +% foot/font=\scriptsize\color[gray]{.55}, +% foot/right=\oldstylenums{\arabic{page}}/\oldstylenums{\pageref{LastPage}}, +% foot/left=\vbox to\baselineskip{\vss{{\rotatebox[origin=l]{90}{\thispackage\,[rev.\thisversion]\,\CopyRight2011\,\lower.4ex\hbox{\pkgcolor\NibRight}\,\FC\quad \xemail{florent.chervet at free.fr}}}}}, +% } +% \bookmarksetup{openlevel=3} +% +% \newrobustcmd\IMPLEMENTATION {\bigskip +% ^^A\geometry {top=0mm,headheight=8mm,includehead,reversemarginpar,asymmetric,headsep=3mm,bottom=14mm,footskip=5mm,inner=35mm,outer=20mm } +% \newgeometry {top=0mm,headheight=8mm,includehead,reversemarginpar,asymmetric,headsep=3mm,bottom=14mm,footskip=5mm,inner=35mm,outer=3mm } +% \pagesetup*{inner/offset-=2cm} +% \clearpage +% \bookmarksetup {bold*}^^A,openlevel=1} +% \sectionformat \section{bookmark={color=black}} \sectionformat \subsection{bookmark={color=gray}} +% \section(Implementation)[\lsstyle\textsc{\bfseries Implementation}]{\larger\lsstyle\textsc{\bfseries Implementation}}\label{sec:implementation}\parindent1em +% } +% +% \tikzAtFirstShipout{\node[anchor=north] at (30mm,-10mm) {\includegraphics [width=35mm,keepaspectratio] {logbox.png}};} +% +% \title {\vspace*{-28pt}\Huge\bfseries \raisedhyperdef[10mm]{}{Escan}{\CTANhref[logbox]{\pkgcolor logbox}}\Footnotemark{*} +% \tabusetup* {linesep=3mm ,same rows,font=\large\changefont{fam=txr}} +% \tabubox { X[c] }{ \ThisInfo \\ +% \small\FC \\ +% \small\mdseries\thisdate~--~\hyperref[\thisversion]{version \thisversion } +% }\vspace*{-12pt}} +% \author {} +% \date {} +% \makeatother +% +% \maketitle \bookmark[bold,view=FitH 0,dest=Escan,color=black!80]{Escan} +% +% \Footnotetext{\rlap{*}\kern2em}{\parindent0pt\noindent +% This documentation is produced with the \textt{DocStrip} utility.\par +% \begin{tabu}{ X[-3] X[-1] >\ttfamily X } +% \smex To get the package, &run: & etex \thisfile.dtx \\ +% \smex To get the documentation &run (thrice): & pdflatex \thisfile.dtx \\ +% \leavevmode\hphantom\smex To get the index, &run: & makeindex -s gind.ist \thisfile.idx +% \end{tabu}\par +% The \xext{dtx}* is embedded into this \xext{pdf}* thank to \Xpackage{embedfile} by H. Oberdiek.} +% +% \vspace{-15mm} +% +% \begin{Abstract}[\leftmargin=1em\rightmargin\leftmargin\listparindent=0pt\itemindent=0pt\parsep=\medskipamount] +% +% Exploring a box content and its dimensions is often required for typography is made of measurements. +% \thispackage provides a few macros to achieve this task easily: \cs\viewbox* is the most useful. +% +% \thispackage is intended for exploration purpose, this is not a package for typesetting. +% +% \eTeX{} is obviously required \emph! +% +% \end{Abstract} +% +% \tocsetup{ +% before+=\hypersetup {linkcolor=black},label=toc,bookmark={text=Contents,bold,color=black}, +% section/skip=4pt plus2pt minus2pt, +% subsection/skip=0pt plus2pt minus2pt, +% dotsep=1.5mu, +% section/dotsep, +% subsection/dotsep=, +% subsection/pagenumbers=off, +% title/top = 12pt, +% dot=\hbox{$\scriptscriptstyle\cdotp$}, +% title={\pkgcolor\leaders\vrule height3.4pt depth-3pt\hfill\null}\quad Contents of \thispackage\quad{\pkgcolor\leaders\vrule height3.4pt depth-3pt\hfill\null}, +% title/bottom=4pt, +% title/font=\Large\bfseries, +% multicols/beforeend=\aftergroup\tocrule, +% columns=2,columns/rule color=pkgcolor,no columns rule, +% } +% \def\tocrule{\leavevmode{\pkgcolor\hrule}} +% +% \tableofcontents \pagestyle{corpus} +% +% \listofsetup {lol}{ +% before+=\hypersetup {linkcolor=black},label=lol,bookmark={text=List of listings,color=black}, +% columns=2,columns/rule/color=pkgcolor,no columns rule, +% title/bottom=4pt, +% title={\pkgcolor\leaders\vrule height3.4pt depth-3pt\hfill\null}\quad List of listings and examples\quad{\pkgcolor\leaders\vrule height3.4pt depth-3pt\hfill\null}, +% multicols/beforeend=\aftergroup\tocrule, +% lstlisting/number=off, +% title/font=\Large\bfseries, +% } +% +% \listoflstlisting +% +% \section{Five exploration commands} +% +% \begin{declcs}\logbox \meta{box register}\stform| \meta{number} +% \end{declcs}\declcsbookmark\logbox +% +% \cs\logbox displays the contents of a \TeX{} box register in the \xext{log}*.§ +% This is exactly \cs\showbox with: ^^A\loggingall +% \begin{itemize}[leftmargin=2em] +% \item \cs\showoutput set if \cs\tracingoutput$=$0 \\ +% If \cs\tracingoutput $>0$ it is assumed that the user set the tracing level he desired before \cs\logbox. +% \item The minimum value for\, \cs\showboxbreadth\, and\, \cs\showboxdepth\, is assumed to be $10$ +% \item The \eTeX{} \cs\interactionmode\, is temporarily set to $2$ (\cs\scrollmode) and restored to its previous value +% just after the execution of\, \cs\showbox: \cs\logbox does not stop the compilation, just reports the box contents into the \xext{log}*. +% \end{itemize} +% +% \tabusetup* {X=X[c],frame=tabudotted} +% \begin{tabu*} { X >{\columnbackground{cell shape={rectangle,draw=pkgcolor}}} X } +% \begin{lstlisting}[caption={Example of \cs{logbox}},csred=logbox] +% \setbox 0 =\hbox{ Hello }\logbox 0 +% \end{lstlisting} +% & +% \setbox 0 =\hbox{ Hello }\logbox 0 +% \begin{Verbatim}[fontsize=\footnotesize] +% logbox: 0 on input line 55 +% > \box0= +% \hbox(7.54149+0.0)x31.75774 +% .\glue 3.63054 plus 1.81337 minus 1.20892 +% .\T1/cmr/m/n/10.95 H +% .\T1/cmr/m/n/10.95 e +% .\T1/cmr/m/n/10.95 l +% .\T1/cmr/m/n/10.95 l +% .\T1/cmr/m/n/10.95 o +% .\glue 3.63054 plus 1.81337 minus 1.20892 +% +% ! OK. +% \end{Verbatim} +% \end{tabu*} +% +% \Needspace{6\baselineskip} +% \begin{declcs}\dimbox \meta{box register}\stform| \meta{number} +% \end{declcs}\declcsbookmark\dimbox +% +% \cs\dimbox typeset the type (\cs\hbox, \cs\vbox or \textt{void box}) and dimensions of a box in the document itself:§ +% \tabusetup* {everyrow={\ifnum\thetaburow=3 \cbackground{cell shape={rectangle,draw=pkgcolor}}-\fi}, X=X[c],frame=tabudotted} +% \begin{Escan-top}[caption={Example of \cs{dimbox}}] +% \setbox 0 = \hbox { Hello }\dimbox 0 \par +% \setbox 1 = \vtop {\hsize=60mm Hello \par (World)}\dimbox 1 +% \end{Escan-top} +% +% \begin{declcs}\viewbox \meta{box register} \stform| \meta{number} +% \cs\viewbox* \meta{box register} \stform| \meta{number} +% \end{declcs}\declcsbookmark\viewbox +% +% \cs\viewbox basically does \cs\dimbox and \cs\logbox. +% +% \cs\viewbox* prints a copy of the box in the document, after the dimensions have been reported: +% \tabusetup* {everyrow={\ifnum\thetaburow=3 \cbackground{cell shape={rectangle,draw=pkgcolor}}-\fi}, X=X[c],frame=tabudotted} +% \begin{Escan-top}[caption={\cs{viewbox}* gives all the informations}] +% \setbox 0 =\vtop {\hsize=60mm Hello \par (World)} +% \viewbox*0 +% \end{Escan-top} +% +% And the \xext{log}* contains (artificially splitted here on two columns):§ +% \tabusetup* {margins=<2pt>,frame={ < |[tabudotted]|[pkgcolor] +% > |[pkgcolor]|[tabudotted] +% ^{\tabucline [tabudotted]-\tabucline ^\doublerulesep [pkgcolor]-} +% _{\tabucline _\doublerulesep [pkgcolor]-\tabucline^\doublerulesep [tabudotted]-}} } +% \begin{tabu*} { X[5] X[-4] } +% \begin{Verbatim}[fontsize=\footnotesize] +% logbox: 0 on input line 1 +% > \box0= +% \vbox(7.54149+16.3369)x170.71652 +% .\hbox(7.54149+0.0)x170.71652, glue set 146.21986fil +% ..\hbox(0.0+0.0)x0.0 +% ..\rule(0.0+*)x0.0 +% ..\T1/cmr/m/n/10.95 H +% ..\T1/cmr/m/n/10.95 e +% ..\T1/cmr/m/n/10.95 l +% ..\T1/cmr/m/n/10.95 l +% ..\T1/cmr/m/n/10.95 o +% ..\penalty 10000 +% ..\glue(\parfillskip) 0.0 plus 1.0fil +% ..\glue(\rightskip) 0.0 +% .\glue(\parskip) 0.0 +% .\glue(\baselineskip) 5.38942 +% .\hbox(8.21059+2.7369)x170.71652, glue set 133.2164fil +% \end{Verbatim} +% & +% \begin{Verbatim}[fontsize=\footnotesize] +% % ..\hbox(0.0+0.0)x0.0 +% ..\T1/cmr/m/n/10.95 ( +% ..\T1/cmr/m/n/10.95 W +% ..\kern-0.9067 +% ..\T1/cmr/m/n/10.95 o +% ..\T1/cmr/m/n/10.95 r +% ..\T1/cmr/m/n/10.95 l +% ..\T1/cmr/m/n/10.95 d +% ..\T1/cmr/m/n/10.95 ) +% ..\penalty 10000 +% ..\glue(\parfillskip) 0.0 plus 1.0fil +% ..\glue(\rightskip) 0.0 +% +% ! OK. +% \end{Verbatim} +% \end{tabu*} +% +% +% \begin{declcs}\ShowGroups +% \end{declcs}\declcsbookmark\ShowGroups +% +% The command \cs\ShowGroups executes the primitive \cs\showgroups but the compilation does not stop. +% +% \begin{declcs}\ShowLists +% \end{declcs}\declcsbookmark\ShowLists +% +% The command \cs\ShowLists executes the primitive \cs\showlists but the compilation does not stop. +% +% \begin{declcs}\ShowIfs +% \end{declcs}\declcsbookmark\ShowIfs +% +% The command \cs\ShowIfs executes the primitive \cs\showifs but the compilation does not stop. +% +% +% \StopEventually{ } +% +% \IMPLEMENTATION +% +% \subsection*{Identification} \makeatletter +% +% The package namespace is \cs\logb@x +% +% \begin{macrocode} +%<*package> +\NeedsTeXFormat{LaTeX2e}[2005/12/01] +\ProvidesPackage{logbox} + [2011/03/26 v1.0 - e-TeX showbox facilities for exploration (FC)] +% \end{macrocode} +% +% \begin{macro}{\logbox} +% +% \TeX{} \cs\showbox without stop in the compilation. +% +% \begin{macrocode} +\protected\def\logbox {\begingroup \afterassignment\logb@x@log \count@ } +\def\logb@x@log {\ifnum\tracingoutput>0 \ifnum\showboxdepth<2 \showboxdepth=2 \fi + \ifnum\showboxbreadth<10 \showboxbreadth=10 \fi + \else \showoutput \fi + \message {^^Jlogbox: \the\count@ \on@line^^J}\expandafter \scrollmode + \expandafter \showbox \expandafter \count@ \expandafter + \interactionmode\the\interactionmode \endgroup +}% \logb@x@log +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\dimbox} +% +% Typeset the type and dimensions of a box in the document. +% +% \begin{macrocode} +\protected\def\dimbox {\begingroup \afterassignment\logb@x@dim \count@ } +\def\logb@x@dim {\nfss@text + {\ifhbox\count@ hbox\else\ifvbox\count@ vbox\else box\fi\fi + \the\count@: \ifvoid\count@ void\else wd=\the\wd\count@\ + ht=\the\ht\count@\ + dp=\the\dp\count@\ + tot=\the\dimexpr\ht\count@ +\dp\count@ \relax\fi }\endgroup +}% \logb@x@dim +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\viewbox} +% +% Typeset the type and dimensions of a box in the document and inserts the content of that box. +% +% \begin{macrocode} +\protected\def\viewbox {\begingroup \@ifstar + {\def\logb@x@ {\@@par\copy\count@ }\afterassignment\logb@x@view \count@ } + {\let\logb@x@ \relax \afterassignment\logb@x@view \count@ }} +\def\logb@x@view {\dimbox\count@ \logb@x@ \logb@x@log } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Viewbox} +% +% Same as \cs\Viewbox but the content of the box is given as argument, rather than the box register. +% +% \begin{macrocode} +\protected\def\Viewbox {\@ifstar \logb@x@View \logb@x@View } +\long\def\logb@x@View #1{\begingroup \setbox0=\hbox {{#1}}\viewbox*0\endgroup } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{ShowGroups} +% +% \eTeX{} \cs\showgroups without stop in the compilation. +% +% \begin{macrocode} +\def\ShowGroups {\expandafter \scrollmode \expandafter \showgroups \expandafter + \interactionmode\the\interactionmode \relax } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ShowLists} +% +% \eTeX{} \cs\showlists without stop in the compilation. +% +% \begin{macrocode} +\def\ShowLists {\expandafter \scrollmode \expandafter \showlists \expandafter + \interactionmode\the\interactionmode \relax } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ShowIfs} +% +% \eTeX{} \cs\showgroups without stop in the compilation. +% +% \begin{macrocode} +\def\ShowIfs {\expandafter \scrollmode \expandafter \showifs \expandafter + \interactionmode\the\interactionmode \relax } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +% +% \end{macrocode} +% +% +% \begin{History} +% \sectionformat\subsection{font=\raggedright\normalsize\pkgcolor,bottom=0pt,top=\smallskipamount }\makeatletter +% \addtocontents{toc}{\tocsetup{subsection/font+=\protect\footnotesize}} +% +% \begin{Version}{2011/03/26}{1.0} +% \item First version. \quad But it works well yet \emph! +% \end{Version} +% +% \end{History} +% +% \bookmarksetup {open=false} +% \restoregeometry +% \pagesetup* {inner/offset+=2cm} +% \PrintIndex +% +% \Finale \ No newline at end of file diff --git a/macros/latex/contrib/logbox/logbox.ins b/macros/latex/contrib/logbox/logbox.ins new file mode 100644 index 0000000000..7be65257e6 --- /dev/null +++ b/macros/latex/contrib/logbox/logbox.ins @@ -0,0 +1,85 @@ +%% +%% This is file `logbox.ins', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% logbox.dtx (with options: `install') +%% +%% This is a generated file. +%% +%% logbox : 2011/03/26 v1.0 - e-TeX showbox facilities (FC) +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3 of this license or (at your option) any later +%% version. The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% +%% This work consists of the main source file logbox.dtx +%% and the derived files: +%% logbox.sty, logbox.ins, logbox.drv, +%% and: logbox.pdf +%% +%% logbox : 2011/03/26 v1.0 - e-TeX showbox facilities (FC) +%% Copyright (C) 2011 by FC +%% +\input docstrip.tex +\Msg{***************************************************************************} +\Msg{* Installation *} +\Msg{* Package logbox: 2011/03/26 v1.0 - e-TeX showbox facilities (FC) *} +\Msg{***************************************************************************} + +\keepsilent +\askforoverwritefalse + +\let\MetaPrefix\relax +\preamble + +This is a generated file. + +logbox : 2011/03/26 v1.0 - e-TeX showbox facilities (FC) + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either +version 1.3 of this license or (at your option) any later +version. The latest version of this license is in + http://www.latex-project.org/lppl.txt + +This work consists of the main source file logbox.dtx +and the derived files: + logbox.sty, logbox.ins, logbox.drv, + and: logbox.pdf + +logbox : 2011/03/26 v1.0 - e-TeX showbox facilities (FC) +Copyright (C) 2011 by FC + +\endpreamble +\let\MetaPrefix\DoubleperCent + +\generate{% + \file{logbox.ins}{\from{logbox.dtx}{install}}% + \file{logbox.sty}{\from{logbox.dtx}{package}}% +} + +\askforoverwritetrue +\generate{% + \file{logbox.drv}{\from{logbox.dtx}{driver}}% +} + +\obeyspaces +\Msg{************************************************************************} +\Msg{* *} +\Msg{* To finish the installation you have to move the following *} +\Msg{* file into a directory searched by TeX: *} +\Msg{* *} +\Msg{* logbox.sty *} +\Msg{* *} +\Msg{* To produce the documentation run the file `logbox.dtx' *} +\Msg{* through pdfLaTeX. *} +\Msg{* *} +\Msg{************************************************************************} +\endbatchfile +\endinput +%% +%% End of file `logbox.ins'. diff --git a/macros/latex/contrib/logbox/logbox.pdf b/macros/latex/contrib/logbox/logbox.pdf new file mode 100644 index 0000000000..c85b6a8cd3 Binary files /dev/null and b/macros/latex/contrib/logbox/logbox.pdf differ diff --git a/macros/latex/contrib/logbox/logbox.png b/macros/latex/contrib/logbox/logbox.png new file mode 100644 index 0000000000..1e54603557 Binary files /dev/null and b/macros/latex/contrib/logbox/logbox.png differ -- cgit v1.2.3