Jak nakreslit rozvinutou krychli?
Stepan Kasal
kasal at matsrv.math.cas.cz
Thu Jan 24 11:11:19 CET 2002
Ahoj lide!
Hans poslal reseni. Trosicku jsem ho zmenil a vysledek pripojuji na konci.
Zmeny:
1) Pravy horni roh horniho ctverce (R) a pravy dolni roh dolniho ctverce (L)
je "vykousnuty," cary presne nedolehaji. Je nutno za \hrulefill doplnit
znak "&".
2) Na konec prvnich dvou a poslednich dvou radku v poslednim \halignu jsem
pridal \hfil. Nebylo tam nutne, ale pripada mi to tak cistsi.
(Opacny pristup by zase byl vynechat \hfil i v radku
\def\ {\omit} ,
taky by to fungovalo.)
3) Makro \ssq provadelo vertikalni centrovani kazdeho pismene zvlast.
Pokud by tedy bylo pouzito napr. na "p" a "P," byly by tato dve pismena
skoro k nerozeznani. Je nutne nejak zajistit pevne umisteni ucari,
bud pomoci \strut, nebo pomoci konstrukce \vbox to 0pt a pevneho umisteni.
(V pripojenem prikladu jsem pouzil \strut.)
4) V makru \sql mi pripada lepsi pouzit pouze \vbox a \hbox, neni duvod
pouzivat \halign.
5) Makro \sql jsem predefinoval tak, ze akceptuje devet obecne ruznych
parametru.
6) Jeste poznamka, mozna jen pro Hanse:
> %%% vi: set ts=4 sw=4:
zmenil jsem to na system best viewed with tab width = 8.
On Fri, 18 Jan 2002, Hans Ginzel <hans at kolej.mff.cuni.cz> wrote:
> No sice to neni brozurka, nybrz hezky svazana knizka, ale je po
> ruce vzdy (http://math.feld.cvut.cz/olsak/tbn.html).
:-)
\halign je tam vysvetleny moc pekne, vcetne dvojitych ramecku,
vrele doporucuji!
> \bye
Stepan
%%% %%%%%% Plá¹» krychle %%%%%%%
%%% Hans Ginzel <Hans at matfyz.cz>
%%% 19.1.2001
%%% pozmenil Stepan <Kasal at math.cas.cz>
\newdimen\unit
\unit=1cm
% small squere box without border
\def\ssq#1{\vbox to\unit{\vfil
\hbox to\unit{\hfil \strut #1\hfil}
\vfil}}
% line of three \ssq's
\def \sqli #1#2#3{\hbox{\ssq{#1}\vrule \ssq{#2}\vrule \ssq{#3}}}
% labels in squere box without border
\def \sql #1#2#3{%
\vbox {
\sqli #1%
\hrule
\sqli #2%
\hrule
\sqli #3%
}%
}
%\unit=3cm \let\sql=\ssq % debug
\def\sqlR {\sql {{R1}{R2}{R3}} {{R4}{R5}{R6}} {{R7}{R8}{R9}}}
\def\sqlT {\sql {{T1}{T2}{T3}} {{T4}{T5}{T6}} {{T7}{T8}{T9}}}
\def\sqlF {\sql {{F1}{F2}{F3}} {{F4}{F5}{F6}} {{F7}{F8}{F9}}}
\def\sqlM {\sql {{M1}{M2}{M3}} {{M4}{M5}{M6}} {{M7}{M8}{M9}}}
\def\sqlB {\sql {{B1}{B2}{B3}} {{B4}{B5}{B6}} {{B7}{B8}{B9}}}
\def\sqlL {\sql {{L1}{L2}{L3}} {{L4}{L5}{L6}} {{L7}{L8}{L9}}}
\def\ {\omit \hfil}
{\offinterlineskip \halign{&\vrule #\cr
\ & \ & \hrulefill & \hfil \cr
\ & \ & \sqlR & \hfil \cr
\noalign{\hrule}
\sqlT & \sqlF & \sqlM & \sqlB & \cr
\noalign{\hrule}
\ & \ & \sqlL & \hfil \cr
\ & \ & \hrulefill & \hfil \cr
}}
\bye
More information about the csTeX
mailing list