summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/showcharinbox
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-07-14 23:05:16 +0000
committerKarl Berry <karl@freefriends.org>2012-07-14 23:05:16 +0000
commit6ba99b0be35fc29b019e51bf281b2fb7ffb028c6 (patch)
treec3fa79f450f256d7f4ed95f11c841fe813a79224 /Master/texmf-dist/source/latex/showcharinbox
parent4d5935efec1be40045a1b48c1b471488c58e94cb (diff)
new latex package showcharinbox (14jul12)
git-svn-id: svn://tug.org/texlive/trunk@27052 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/showcharinbox')
-rwxr-xr-xMaster/texmf-dist/source/latex/showcharinbox/showcharinbox.dtx304
-rw-r--r--Master/texmf-dist/source/latex/showcharinbox/showcharinbox.ins53
2 files changed, 357 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/showcharinbox/showcharinbox.dtx b/Master/texmf-dist/source/latex/showcharinbox/showcharinbox.dtx
new file mode 100755
index 00000000000..f5d83439c06
--- /dev/null
+++ b/Master/texmf-dist/source/latex/showcharinbox/showcharinbox.dtx
@@ -0,0 +1,304 @@
+% \iffalse
+%<*internal>
+\iffalse
+%</internal>
+%<*readme>
+_______________________
+The showcharinbox package
+v0.1
+
+Show charcters inside a box display its height, depth, and width information.
+
+____________________________________________________________
+How to file bug reports and follow development of showcharinbox package
+
+The showcharinbox package is developed on <https://github.com/vafa/showcharinbox>.
+
+Users are encouraged to offer suggestions and file bug reports on
+the github issue tracker: <https://github.com/vafa/showcharinbox/issues>.
+
+______________
+Vafa Khalighi
+vafakhlg@gmail.com
+
+Copyright © 2012
+Distributed under the LaTeX Project Public License
+It may be distributed and/or modified 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” (as per LPPL maintenance status)
+by Vafa Khalighi.
+%</readme>
+%<*internal>
+\fi
+\begingroup
+%</internal>
+%<*batchfile>
+\input docstrip.tex
+\keepsilent
+\preamble
+
+ ______________________________________
+ Copyright © 2012 Vafa Khalighi
+
+ License information appended.
+
+
+\endpreamble
+\postamble
+
+Copyright © 2012 Vafa Khalighi <vafakhlg@gmail.com>
+
+It may be distributed and/or modified 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” (as per LPPL maintenance status)
+by Vafa Khalighi.
+
+
+
+\endpostamble
+\askforoverwritefalse
+\generate{\file{showcharinbox.sty}{\from{\jobname.dtx}{showcharinbox.sty}}}
+%</batchfile>
+%<batchfile>\endbatchfile
+%<*internal>
+\generate{\file{\jobname.ins}{\from{\jobname.dtx}{batchfile}}}
+\nopreamble\nopostamble
+\generate{\file{README.txt}{\from{\jobname.dtx}{readme}}}
+\endgroup
+\immediate\write18{mv README.txt README}
+\immediate\write18{makeindex -s gind.ist -o \jobname.ind \jobname.idx}
+\immediate\write18{makeindex -s gglo.ist -o \jobname.gls \jobname.glo}
+%</internal>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{bidicode,framed,fontspec}
+\usepackage{calc}
+\usepackage{pifont}
+\usepackage{bbding}
+\setlength\columnseprule{.4pt}
+\setmainfont[Mapping=tex-text,Numbers=OldStyle]{Minion Pro}
+\setsansfont[Mapping=tex-text,Numbers=OldStyle]{Myriad Pro}
+\setmonofont{Andale Mono}
+\newfontfamily\testfont{XB Yas}
+\usepackage[numbered]{hypdoc}
+\usepackage{showcharinbox}
+\definecolor{myblue}{rgb}{0.1,0.2,0.8}
+\definecolor{TFFrameColor}{rgb}{0.1,0.2,0.8}
+\definecolor{TFTitleColor}{rgb}{1,1,1}
+\hypersetup{linkcolor=myblue,urlcolor=myblue,citecolor=myblue}
+\makeatletter
+\renewcommand\tableofcontents{\relax
+ \begin{multicols}{2}[\section*{\contentsname}]\small
+ \@starttoc{toc}\relax
+ \end{multicols}}
+\makeatother
+\newcounter{local}
+\renewcommand\theenumi{\protect\setcounter{local}%
+ {201+\the\value{enumi}}\protect\ding{\value{local}}}
+\renewcommand\labelenumi{\theenumi}
+\renewcommand\labelitemi{\HandRight}
+\renewcommand\labelitemii{\HandRightUp}
+\renewcommand\labelitemiii{\HandCuffRight}
+\renewcommand\labelitemiv{\HandPencilLeft}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+%\OnlyDescription
+\begin{document}
+ \DocInput{\jobname.dtx}
+ \PrintIndex
+ \PrintChanges
+\end{document}
+%</driver>
+%
+%
+% \fi
+%
+% \GetFileInfo{\jobname.cls}
+% \CheckSum{0}
+% \makeatletter
+%\title{The \textsf{showcharinbox} package\\
+%\href{https://github.com/vafa/showcharinbox}{\texttt{https://github.com/vafa/showcharinbox}}}
+%\author{Vafa Khalighi\\ \href{mailto:vafakhlg@gmail.com}{\texttt{vafakhlg@gmail.com}}}
+%\date{Version 0.1\qquad\today}
+%\maketitle
+%\begin{titled-frame}{\parbox{\dimexpr(\textwidth-2\fboxsep-2\fboxrule)}{How to file bug reports and follow development of \textsf{showcharinbox} package}}
+%The \textsf{showcharinbox} package is developed on: \url{https://github.com/vafa/showcharinbox}. Users are encouraged to offer suggestions and file bug reports on the github issue tracker: \url{https://github.com/vafa/showcharinbox/issues}.
+%\end{titled-frame}
+%\tableofcontents
+%\section{What does the \textsf{showcharinbox} package do?}
+% This package defines the command \Lcs{ShowCharInBox} which has the following syntax:
+%\begin{BDef}
+%\Lcs{ShowCharInBox}\Largb{\Larga{charcter}}
+%\end{BDef}
+% This will show \Larga{charcter} inside a box showing its height, depth, and width information.
+%\begin{LTXexample}[morekeywords={ShowCharInBox,testfont,newfontfamily},pos=b]
+%\documentclass{article}
+%\usepackage{fontspec}
+%\newfontfamily\testfont{XB Yas}
+%\usepackage{showcharinbox}
+%\begin{document}
+%\begin{center}
+%\ShowCharInBox{\fontsize{200}{210}\testfont \char"FEA5}
+%\end{center}
+%\end{document}
+%\end{LTXexample}
+% \StopEventually{}
+%
+% \section{Implementation of \textsf{showcharinbox} package}
+%\iffalse
+%<*showcharinbox.sty>
+%\fi
+%
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\newcommand*{\showcharinbox@date}{2012/07/25}
+\newcommand*{\showcharinbox@version}{v0.1}
+\ProvidesPackage{showcharinbox}
+ [\showcharinbox@date\space \showcharinbox@version\space
+ Showing characters inside a box]
+\newdimen\showcharinbox@charwidth
+\newdimen\showcharinbox@charheight
+\newdimen\showcharinbox@chardepth
+\newbox\showcharinbox@bigdot
+\newbox\showcharinbox@smalldot
+% \end{macrocode}
+% Macros for drawing figures:
+% \begin{macrocode}
+\newcommand*{\showcharinbox@hidehrule}[2]{%
+\kern-#1\hrule height#1 depth#2 \kern-#2 }
+\newcommand*{\showcharinbox@hidevrule}[2]{\kern-#1{\dimen0=#1
+ \advance\dimen0 by#2\vrule width\dimen0}\kern-#2 }
+% \end{macrocode}
+% \Lcs{showcharinbox@makeblankbox} puts rules at the edges of a blank box
+% whose dimensions are those of \Lcs{box0} (assuming nonnegative wdith, height, and depth).
+% Argument 1 is rule thickness outside, and argument 2 is rule thickness inside:
+% \begin{macrocode}
+\newcommand*{\showcharinbox@makeblankbox}[2]{\hbox{\lower\dp0\vbox{\showcharinbox@hidehrule{#1}{#2}%
+% \end{macrocode}
+%overlap the rules at the corners:
+% \begin{macrocode}
+ \kern-#1%
+ \hbox to\wd0{\showcharinbox@hidevrule{#1}{#2}%
+% \end{macrocode}
+%set the vrule height:
+% \begin{macrocode}
+ \raise\ht0\vbox to #1{}%
+% \end{macrocode}
+%set the vrule depth:
+% \begin{macrocode}
+ \lower\dp0\vtop to #1{}%
+ \hfil\showcharinbox@hidevrule{#2}{#1}}%
+ \kern-#1\showcharinbox@hidehrule{#2}{#1}}}}
+\newcommand*{\showcharinbox@maketypebox}{\showcharinbox@makeblankbox{0pt}{1pt}}
+\newcommand*{\showcharinbox@makelightbox}{\showcharinbox@makeblankbox{.2pt}{.2pt}}
+% \end{macrocode}
+% \Lcs{box}\Lcs{showcharinbox@bigdot} is a null box with a bullet at its reference point. \Lcs{ht0} is the axis height:
+% \begin{macrocode}
+\setbox0=\hbox{$\vcenter{}$} %
+% \end{macrocode}
+%bullet is centered on the axis:
+% \begin{macrocode}
+\setbox1=\hbox to\z@{$\hss\bullet\hss$} %
+\setbox\showcharinbox@bigdot=\vbox to\z@{\kern-\ht1 \kern\ht0 \box1 \vss}
+% \end{macrocode}
+%\Lcs{cdot} is centered on the axis:
+% \begin{macrocode}
+\setbox1=\hbox to\z@{$\hss\cdot\hss$} %
+\setbox\showcharinbox@smalldot=\vbox to\z@{\kern-\ht1 \kern\ht0 \box1 \vss}
+% \end{macrocode}
+% \Lcs{showcharinbox@arrows} makes things like $\leftarrow\hbox{ text }\rightarrow$:
+% \begin{macrocode}
+\newcommand*{\showcharinbox@arrows}[2]{%
+% \end{macrocode}
+%Argument 1 is width and argument 2 is text:
+% \begin{macrocode}
+ {\setbox0=\hbox{$\mkern-2mu\mathord-\mkern-2mu$}
+ \hbox to #1{\kern-.055556em$\leftarrow\mkern-6mu$%
+ \cleaders\copy0\hfil
+ \kern.4em #2\kern.4em
+ \cleaders\copy0\hfil
+ $\mkern-6mu\rightarrow$\kern-.055556em}}}
+% \end{macrocode}
+% \Lcs{showcharinbox@samplebox} makes the outline of a box, with big dot at reference point. Argument 1 is height, argument 2 is depth, argument 3 is width, and argument4 is text:
+% \begin{macrocode}
+\newcommand*{\showcharinbox@samplebox}[4]{%
+ {\setbox0=\vtop{\vbox to #1{\hbox to #3{}\vss}
+ \nointerlineskip
+% \end{macrocode}
+%Now \Lcs{box0} has the desired height, depth, and width:
+% \begin{macrocode}
+ \vbox to #2{}}%
+ \hbox{\copy\showcharinbox@bigdot
+ \vrule height.2pt depth.2pt width#3%
+ \kern-#3%
+ \showcharinbox@makelightbox
+ \kern-#3%
+ \raise#1\vbox{\hbox to #3{\hss#4\hss}
+ \kern 3pt}}}}
+
+\newcommand{\ShowCharInBox}[1]{%
+\setbox9=\hbox{#1}
+\setlength{\showcharinbox@chardepth}{\dp9}
+\setlength{\showcharinbox@charheight}{\ht9}
+\setlength{\showcharinbox@charwidth}{\wd9}
+\setbox0=\hbox{$\uparrow$}
+% \end{macrocode}
+% With luck, they'll line up:
+% \begin{macrocode}
+\setbox1=\hbox to \wd0{$\hss\mid\hss$} %
+\setbox2=\vbox to \showcharinbox@charheight{\copy0
+ \nointerlineskip \kern-.5pt \copy1
+ \nointerlineskip \kern-.5pt \copy1
+ \vfil
+ \moveleft 1em\hbox{height$=$\the\showcharinbox@charheight}
+ \vfil
+ \copy1 \nointerlineskip \kern-.5pt
+ \copy1 \nointerlineskip \kern-.5pt
+ \hbox{$\downarrow$}
+ \kern.2pt}
+\setbox3=\vbox to \showcharinbox@chardepth{\kern.2pt\copy0
+ \vfil
+ \moveleft 1em\hbox{depth$=$\the\showcharinbox@chardepth}
+ \vfil
+ \hbox{$\downarrow$}
+ \kern0pt}
+% \end{macrocode}
+%This cancels the null text above the \Lcs{showcharinbox@samplebox}:
+% \begin{macrocode}
+\setbox4=\vtop{\kern-3pt %
+ \hbox{\showcharinbox@samplebox{\showcharinbox@charheight}{\showcharinbox@chardepth}{\showcharinbox@charwidth}{}%
+ \kern-\showcharinbox@charwidth
+ \hbox to \showcharinbox@charwidth{\hss \unhbox9\hss}}
+ \kern3pt
+ \showcharinbox@arrows{\showcharinbox@charwidth}{width$=$\the\showcharinbox@charwidth}}
+\medskip\indent
+% \end{macrocode}
+%\Lcs{ht0} is the axis height:
+% \begin{macrocode}
+\setbox0=\hbox{$\vcenter{}$}%
+\lower\ht0\hbox{Reference point$-$\kern-.2em$\rightarrow$\kern2pt}%
+\raise\ht2\box4
+\kern1.5em
+\raise\ht2\vtop{\kern0pt\box2\nointerlineskip\box3}}
+% \end{macrocode}
+% \iffalse
+%</showcharinbox.sty>
+%\fi
+%
+%
+% \typeout{*************************************************************}
+% \typeout{*}
+% \typeout{* To finish the installation you have to move the following}
+% \typeout{* file into a directory searched by TeX:}
+% \typeout{*}
+% \typeout{* \space\space\space showcharinbox.sty file}
+% \typeout{*}
+% \typeout{*************************************************************}
+%
+\endinput
diff --git a/Master/texmf-dist/source/latex/showcharinbox/showcharinbox.ins b/Master/texmf-dist/source/latex/showcharinbox/showcharinbox.ins
new file mode 100644
index 00000000000..a64efd133a2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/showcharinbox/showcharinbox.ins
@@ -0,0 +1,53 @@
+%%
+%% This is file `showcharinbox.ins',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% showcharinbox.dtx (with options: `batchfile')
+%%
+%% ______________________________________
+%% Copyright © 2012 Vafa Khalighi
+%%
+%% License information appended.
+%%
+%%
+\input docstrip.tex
+\keepsilent
+\preamble
+
+ ______________________________________
+ Copyright © 2012 Vafa Khalighi
+
+ License information appended.
+
+\endpreamble
+\postamble
+
+Copyright © 2012 Vafa Khalighi <vafakhlg@gmail.com>
+
+It may be distributed and/or modified 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” (as per LPPL maintenance status)
+by Vafa Khalighi.
+
+\endpostamble
+\askforoverwritefalse
+\generate{\file{showcharinbox.sty}{\from{\jobname.dtx}{showcharinbox.sty}}}
+\endbatchfile
+%%
+%% Copyright © 2012 Vafa Khalighi <vafakhlg@gmail.com>
+%%
+%% It may be distributed and/or modified 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” (as per LPPL maintenance status)
+%% by Vafa Khalighi.
+%%
+%%
+%%
+%%
+%% End of file `showcharinbox.ins'.