Dalsi verbatim prostredi

Robert Wolf wolfro00 at pf.jcu.cz
Wed Dec 2 15:28:06 CET 1998


Dobry den,
chtel jsem si udelat vlastni makro na vlozeni zdrojoveho souboru v PERLu tak,
by se vsechny znaky zobrazily tak, jako v normalnim textovem modu a aby se
kazda mezera zobrazil a kazdy radek i prazdny byl zvlast zobrazen. Vim, ze
jsou v TBN i v TeXBooku priklady. Obe knihy jsem prosel: v TBN jsem zkousel
nacist soubor pomoci makra skoro na zacatku, ktere slouzi ke zpracovani
seznamu zaku a jejich znamek; zde se mi ale nepodarilo rozchodit, aby se
zobrazovali pocatecni mezery na radku a prazdne radky. Dale jsem nasel makro
v TBN, kde se nastavi verbatim prostredi presne tak, jak potrebuju (\begtt),
ale problem je v tom, ze text musi byt zadan v tomto prostredi a kdyz jsem
zkousel pouzit \input, tak byla nejaka chyba. Dalsi prostredi jsem nasel v
TeXbooku, ale opet se mi nepodarilo rozchodit prazdne radky a mezery na
zacatku radky. Pote jsem jeste jednou proradne prostudoval dve casti TBN-Input
procesor a expand procesor (teda myslim si, ze poradne) a podarilo se mi
postupne rozchodit vsechno, co jsem potreboval: a) cislovani radku, b) kazda
radka zvlast, c) prazdne radky zobrazit, d) mezery na zacatku radky, e)
tabulatory jako dve mezery. Problem je ale v tom, ze se mi to padarilo
rozchodit pouze ve skupine uzavrene v {}. Makro jsem nadefinoval, ale pri
pouziti hlasi

! Missing control sequence inserted.
<inserted text>
                \inaccessible
l.55 \setnumberverb{maketree.pl}

ta radka vam asi nebude souhlasit, ale to myslim vubec nevadi ...

Do attachemntu prikladam dva soubory, jeden je fungujici, a druhy hlasi tu
chybu pri pouziti toho makra. Je potreba si vytvorit soubor se jmenem
maketree.pl nebo si prejmenujte ten nazev.

No, jestli mi dokazete poradit, proc to nechodi, budu rad. Asi tam budou mozna
nejake veci delane krkolomne, napr. definuji mockrat \catcode pro specialni
znaky, co by slo pomoci \dospecial, ale takhle mam prehled a potrebuju to
delat postupne. Ale na ostatni veci me muzete upozornit, ale hlavne ten
\inaccessible??

Dekuji za odpovedi.

P.S.: jestli jsou tu nejake preklepy, tak prominte, je mi zima a chvatam :-))
-------------- next part --------------
\documentclass[10pt]{article}
\usepackage{czech}


\begin{document}

\advance\textwidth by \oddsidemargin
\advance\textwidth by 0.5in
\advance\hoffset by -0.5in
\oddsidemargin=0pt
\advance\textwidth by 3cm
\hsize=\textwidth

\newcount\radka \radka=1

\def\setnumberverb#1{\bgroup%
\font\fontzdrojovytext=cstt10%
\font\fontcisloradku=csr6%
\fontzdrojovytext% nastaveni fontu
% cislo radky neni spojeno s textem, <TAB> jsou jen dve mezery
\def\tabul{\ \ }%
% cislovani radek
\everypar={\lower-1pt\hbox{\llap{\fontcisloradku\the\radka}}\quad\global\advance\radka1}%
\catcode`\^^I=\active\let^^I=\tabul% tabulator je aktivni a budou to dve mezery
\catcode`^^20=12\catcode`\^^fe=10% znak 254 bude mezera
{\obeyspaces\gdef\adsp{\obeyspaces\let =\ }}\adsp% mezery i na zacatku radky

% kazda radka i prazdna
\def\par{\leavevmode\endgraf}\catcode`\^^M=\active\let^^M=\par%

% open group=znak 250(0xfa) close-group=znak 249(0xf9)
\catcode`\^^fa=1\catcode`\^^f9=2%
\catcode`\{=12\catcode`\}=12% znaky {} budou normalni ostatni znaky
% misto \ command=znak 240(0xf0), pouziju !
% misto mezery je znak 254 (0xfe), pouziju *
\catcode`\#=12%
\catcode`\^^f6=6% pro parametr znak 246 (0xf6), pouziju $
\catcode`\$=12%
\catcode`\^^f8=14% komentar bude znak 248(0xf8) pouziju @
\catcode`\%=12@
\catcode`\^=12@
\catcode`\&=12@
\catcode`\^^f0=0@
\catcode`\_=12@
!catcode`!\=12@ nasleduje 
!input*$1
^^f9
}
% konec bloku a definice

\input{maketree.pl}

\end{document}
-------------- next part --------------
\documentclass[10pt]{article}
\usepackage{czech}


\begin{document}

\advance\textwidth by \oddsidemargin
\advance\textwidth by 0.5in
\advance\hoffset by -0.5in
\oddsidemargin=0pt
\advance\textwidth by 3cm
\hsize=\textwidth

\newcount\radka \radka=1

%\def\setnumberverb
{
\font\fontzdrojovytext=cstt10%
\font\fontcisloradku=csr6%
\fontzdrojovytext% nastaveni fontu
% cislo radky neni spojeno s textem, <TAB> jsou jen dve mezery
\def\tabul{\ \ }%
% cislovani radek
\everypar={\lower-1pt\hbox{\llap{\fontcisloradku\the\radka}}\quad\global\advance\radka1}%
\catcode`\^^I=\active\let^^I=\tabul% tabulator je aktivni a budou to dve mezery
\catcode`^^20=12\catcode`\^^fe=10% znak 254 bude mezera
{\obeyspaces\gdef\adsp{\obeyspaces\let =\ }}\adsp% mezery i na zacatku radky

% kazda radka i prazdna
\def\par{\leavevmode\endgraf}\catcode`\^^M=\active\let^^M=\par%

% open group=znak 250(0xfa) close-group=znak 249(0xf9)
\catcode`\^^fa=1\catcode`\^^f9=2%
\catcode`\{=12\catcode`\}=12% znaky {} budou normalni ostatni znaky
% misto \ command=znak 240(0xf0), pouziju !
% misto mezery je znak 254 (0xfe), pouziju *
\catcode`\#=12%
\catcode`\$=12%
\catcode`\^^f8=14% komentar bude znak 248(0xf8) pouziju @
\catcode`\%=12@
\catcode`\^=12@
\catcode`\&=12@
\catcode`\^^f0=0@
\catcode`\_=12@
!catcode`!\=12@ nasleduje 
!input*maketree.pl
^^f9
% konec bloku

\end{document}


More information about the csTeX mailing list