%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%    Stílusállomány, amely a			  	                            %%%	
%%    "The Art of Computer Programming" című könyv fordításához készült             %%%			 
%%    2007. szeptember 15.                                                          %%%	
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{Knuth}[2006/08/19]

\RequirePackage[latin2]{inputenc}
\RequirePackage{ifthen}
\RequirePackage{amsmath}
\RequirePackage{amssymb}
\RequirePackage{calc}
\RequirePackage{eurosym}
\RequirePackage{t1enc}
\RequirePackage[dvips]{graphicx}
\RequirePackage{makeidx}
\RequirePackage{multicol}
\RequirePackage{color}
%%
%% XFIG-GEL RAJZOLT ÁBRÁKHOZ SZÜKSÉGES CSOMAGOK
%%
\RequirePackage{graphics}
\RequirePackage{epic}
\RequirePackage{eepic}
\RequirePackage{epsfig}
\RequirePackage{alltt}
\RequirePackage{psfig}


%% HIPERLINKEKHEZ KITERJESZTETT HIVATKOZÁSOKHOZ SZÜKSÉGES CSOMAGOK
%%
\RequirePackage{xr}
\RequirePackage[bookmarksnumbered,colorlinks,plainpages,backref=false,pagebackref=true]{hyperref}
\RequirePackage{epsf}
\epsfclipon
\RequirePackage{psfrag}



%% KERETHEZ SZÜKSÉGES DOLGOK
%% 
\newlength\cropeltol      %%% 2007. augusztus 18.
\setlength\cropeltol{0in}  %%% 2007. augusztus 18.
%\RequirePackage[frame,noinfo,a4,center,dvips,pdflatex]{crop}
%\setlength\cropeltol{-1in}

\fussy
\baselineskip=14 pt%ok
\lineskiplimit= 0 pt %ok
\lineskip=0.000 pt %ok
% fattyúsorok           2003. augusztus 30.
\global\widowpenalty=0
\global\displaywidowpenalty=0
\global\clubpenalty=0 

%%
%% KÉK SZÍNŰEK LEGYENEK A HIPERHIVATKOZÁSOK
%%
\def\@linkcolor{blue}           %%%  2003. szeptember 15.
\def\@anchorcolor{blue}
\def\@citecolor{blue}
\def\@filecolor{blue}
\def\@urlcolor{blue}
\def\@menucolor{blue}
\def\@pagecolor{blue}

%%
%% MAGYAR ELNEVEZÉSEK
%%
\newcommand{\prefacename}{Előszó}
\renewcommand{\bibname}{Irodalomjegyzék}
\renewcommand{\chaptername}{Fejezet}
\renewcommand{\contentsname}{Tartalomjegyzék}
\renewcommand{\indexname}{Magyar-angol tárgymutató} %%% 2007. augusztus 20.
\newcommand{\nevindexname}{Magyar névmutató} %%% 2007. augusztus 20.
\renewcommand{\figurename}{ábra}
\renewcommand{\tablename}{táblázat}
\renewcommand{\partname}{rész}
\newcommand{\enclname}{Melléklet}
\newcommand{\pagename}{oldal}
\renewcommand{\seename}{Lásd}
\renewcommand{\alsoname}{Lásd még}
\newcommand{\proofname}{bizonyítás}

%%
%% PARANCSOK A KIS RÖVIDÍTÉSHEZ A TÁRGYMUTATÓBAN (2003.02.15.)
%% 
\newcommand{\gyakindex}[1]{\index{#1|gyak}}
\newcommand{\abraindex}[1]{\index{#1|abra}} 
\newcommand{\felindex}[1]{\index{#1|fel}}
\newcommand{\pelindex}[1]{\index{#1|pel}}   
\newcommand{\labindex}[1]{\index{#1|lab}}  

%%
%% HIPERCÍM A TÁRGYMUTATÓBAN (2003.02.28.)										
%% 
\newcommand{\bibcim}[2]{\ifthenelse{\equal{#2}{}} 
									{#1}
									{\hrefun{#2}{#1}\hspace*{-0.6pt}}}

%%
%% SEGÉDFÜGGVÉNYEK (2003.03.18.)
%%
\newcommand{\nagybetu}[1]{\sc{#1}} 
\newcommand{\knagybetu}[1]{\textbf{#1}} 

%%
%% KIS RÖVIDÍTÉSEK A TÁRGYMUTATÓBAN AZ OLDALSZÁM UTÁN (2003.02.28.)										
%% 
%% MILYEN MÉRETBEN ÍRJÁK KI
%%
\def\style{\footnotesize\it}
%%
%% MIT ÍRJANAK KI
%% 
\def\gyakkiir{{\style gy}}  
\def\abrakiir{{\style áb}}
\def\felkiir{{\style fe}}
\def\pelkiir{{\style pe}} 
\def\labkiir{{\style lá}}  
%%
%% AZ OLDALSZÁMTÓL MILYEN TÁVOL ÍRJÁK KI
%%
\def\jeltav{\hspace*{0mm}} 
\def\baselineskip@table{%
  <\@vpt>6%        		 5 pt, \tiny          =>    6 pt sortavolsag (6)
  <\@viipt>8%      		 7 pt, \scriptsize    =>    8 pt sortavolsag (8)
  <\@viiipt>9.5%     	 8 pt, \footnotesize  =>    9 pt sortavolsag (10)  |
  <\@ixpt>10.3984375%    9 pt, \small         =>   10 pt sortavolsag (11)  |
  <\@xpt>12%      		 10 pt, \normalsize   =>   11 pt sortavolsag (12)  |
  <\@xipt>12%     		 11 pt                =>   12 pt sortavolsag (13.6)|
  <\@xiipt>14%    		 12 pt, \large        =>   14 pt sortavolsag (14)
  <\@xivpt>24%    		 14 pt, \Large        =>   18 pt sortavolsag (18)
  <\@xviipt>22%   		 17 pt, \LARGE        =>   22 pt sortavolsag (22)
  <\@xxpt>24%     		 20 pt, \huge         =>   25 pt sortavolsag (25)
}  


\setcounter{tocdepth}{5}
\setcounter{secnumdepth}{5}
%%
%% MÉRETEK BEÁLLÍTÁSA 
%%
%% VÁGOTT MÉRET (2003.03.13.)
%%
\setlength\paperwidth{168mm}
\setlength\paperheight{238mm}
%%
%% ÉLŐFEJ BETŰVONALA (2002.03.13.)
%%
\setlength\headsep{26mm-18.7mm}
%%
%% TÜKÖR MÉRET (2003.03.13.) 
%%
\setlength\textwidth{128mm}
\setlength\textheight{195mm}

%%
%% MARGÓK MÉRETE (2003.03.13)
%%
%\setlength\topmargin{-1in+26mm-\headsep-13pt}
%\setlength\footskip{17mm}
%\setlength\evensidemargin{-1in+22mm}
%\setlength\oddsidemargin{-1in+18mm}
%\setlength\parindent{6mm}

%%
%% MARGÓK MÉRETE (2007.augusztus 18.)
%%
\setlength\topmargin{\cropeltol+26mm-\headsep-13pt}
\setlength\footskip{17mm}
\setlength\evensidemargin{\cropeltol+22mm}
\setlength\oddsidemargin{\cropeltol+18mm}
\setlength\parindent{6mm}


%%
%% TÁRGYMUTATÓBAN A BETŰ (2003.03.16.)
%%
%% KEZDŐ NAGYBETŰK MÉRETE
%%
\newcommand{\betumeret}{\Large}

%%
%% PARANCSOK A BETŰ KÖRÜL (2003.03.16.)
%%
\def\prebetu{\vspace{12pt}\bgroup\bf}
\def\postbetu{\egroup}
        
%%
%% HA NINCS FLEQN
%%
\newdimen\mathindent
\setlength{\mathindent}{4mm}

%%
%% MONDATKÖZÖK BEÁLLÍTÁSA
%%
\frenchspacing

%%
%% KÉPLETEK UTÁNI KÖZ (2004. augusztus 8.)
%%
\newcommand{\koz}{\hspace{.3em}}

%%
%% SZÁMLÁLÓK, HOSSZOK, DOBOZOK
%% 	
\newcounter{examp}
\newcounter{peldacount}

\newcounter{allcount}
\newcounter{protcount}
\newcounter{eljcount}
\newsavebox{\iroddoboz}
\newlength{\temp}

%%
%% BEKEZDÉSEK KÖZTI TÁVOLSÁG
%%
\setlength{\parskip}{0pt} 	 %% Bekezdések közötti távolság (nincs köz a bekezdések között)
						
%%
%% BETŰMÉRETEK (2003.03.14.)
%%	
\def\footnotesize{\@setsize\footnotesize{8pt}\viiipt\@viiipt
  \topsep=2pt plus 1pt minus1pt
  \abovedisplayskip 1pt plus 1pt minus 1pt
  \belowdisplayskip \abovedisplayskip
  \abovedisplayshortskip \z@ plus 1pt
  \belowdisplayshortskip \abovedisplayshortskip
  \def\@listi{\topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt
    \itemsep \parsep}%
} 

\def\large{\@setsize\large{11pt}\xiipt\@xiipt}
\def\Large{\@setsize\Large{14pt}\xivpt\@xivpt}
\def\LARGE{\@setsize\LARGE{22pt}\xviiipt\@xviiipt}
\def\huge{\@setsize\huge{20pt}\xxpt\@xxpt}
\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}

%%
%% BETŰMÉRET SPEC KÖRNYEZETEKBEN (2003.03.14)
%%
\def\tabular{
 	\def\arraystretch{1.5}
 	\footnotesize\let\@halignto\@empty\@tabular
} 	

\def\array{\let\@acol\@arrayacol \let\@classz\@arrayclassz
 \let\@classiv\@arrayclassiv
 \let\\\@arraycr\let\@halignto\@empty\@tabarray}

\def\captionarray{\footnotesize\let\@acol\@arrayacol \let\@classz\@arrayclassz
 \let\@classiv\@arrayclassiv
 \let\\\@arraycr\let\@halignto\@empty\@tabarray}
 
\def\endcaptionarray{\crcr\egroup\egroup}

%%
%% VÍZSZINTES HELYKÖZ A PART ELŐTT (2003.03.14.)
%%
\newlength{\partskip}
\setlength{\partskip}{-1in+88.6mm-26pt-2mm}

%%
%% CHAPTER ÚJRADEFINIÁLÁSA (2003.03.14.)
%%
%% VÍZSZINTES HELYKÖZ A CHAPTER ELŐTT (2003.03.14.)
%%
\newlength{\chapterskip}
\setlength{\chapterskip}{\partskip-38.1mm-09.5mm} %%% 2004.08.15.
%%
%% VÍZSZINTES HELYKÖZ A CHAPTER UTÁN (2003.03.14.)
%%
\newlength{\afterchapterskip}
\setlength{\afterchapterskip}{\partskip-\chapterskip-20pt+2mm-09.5mm} %%% 2002. július 30.
%%
%%
%%
\renewcommand\chapter{
					\setcounter{peldacount}{0}
					\newpage
                    \thispagestyle{empty}
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@chapter\@schapter}
%%
%%
%%

\renewcommand{\@chapter}[2][]{\ifnum \c@secnumdepth >\m@ne
                       \if@mainmatter
                         \refstepcounter{chapter}%
                         \typeout{\@chapapp\space\thechapter.}%
                         \addcontentsline{toc}{chapter}%
                                   {\protect\numberline{\thechapter.}#1}%
                       \else
                         \addcontentsline{toc}{chapter}{#1}%
                       \fi
                    \else
                      \addcontentsline{toc}{chapter}{#1}%
                    \fi
                    \chaptermark{#2}%
                    \addtocontents{lof}{\protect\addvspace{10\p@}}%
                    \addtocontents{lot}{\protect\addvspace{10\p@}}%
                    \if@twocolumn
                      \@topnewpage[\@makechapterhead{#2}]%
                    \else
                      \@makechapterhead{#2}%
                      \@afterheading
                    \fi}

%%
%%	HA KÉT SOROS A CHAPTER, AKKOR CSÖKKENTI AZ UTÁNA LÉVŐ KÖZT (2002. július 30.) 
%%
\newcommand{\haketsor}[1]
{
  \sbox\@tempboxa{#1}%
  \ifdim \wd\@tempboxa >\hsize
  	\vspace{-20pt}	%% ez a huge mérete 
  \else
  \fi
}

%%%
%%% SZÁMOZOTT FEJEZETCÍMEK JOBBRA: BVIC. 2006.01.01.
%%%
\renewcommand{\@makechapterhead}[1]{ 
  \vspace*{\chapterskip}
  {
   			  \flushright
  			  \parindent \z@  \normalfont
    		  \interlinepenalty\@M
	 		  {\huge \sf \knagybetu{\thechapter.\ #1}}\par
  			  \haketsor{{\huge \sf \knagybetu{\thechapter.\ #1}}}%%% 2002. július 30.
  			  \endflushright
  } 
   \vspace{\afterchapterskip}
   \noindent\ignorespaces  
}

%%
%% CSILLAGOS FEJEZET IS BEKERÜL A FEJLÉCBE, DE A TARTALOMJEGYZÉKBE NEM (2003.02.28.)
%%  
\def\@schapter#1{
				 \@mkboth{#1}{#1}				 
				 \if@twocolumn
                   \@topnewpage[\@makeschapterhead{#1}]
                 \else
                   \@makeschapterhead{#1}
                   \@afterheading
                 \fi}

%%%
%%% SZÁMOZATLAN FEJEZETCÍMEK JOBBRA: BVIC. 2006.01.01.
%%%
\renewcommand{\@makeschapterhead}[1]{ 
  \vspace*{\chapterskip}
  {
   			  \flushright
  			  \parindent \z@  \normalfont
    		  \interlinepenalty\@M
	 		  {\huge \sf \knagybetu{#1}}\par
  			  \haketsor{{\huge \sf \knagybetu{\thechapter.\ #1}}}%%% 2002. július 30.
  			  \endflushright
  } 
   \vspace{\afterchapterskip}
   \noindent\ignorespaces  
}


%%
%% TÁRGYMUTATÓHOZ+NÉVMUTATÓHOZ KELL (2003.02.18.) 
%%
\newcommand{\csapter}[1]{
\newpage
\thispagestyle{empty}
  \vspace*{\chapterskip}
  {\parindent \z@ \centering
    \normalfont
    \interlinepenalty\@M
    {\huge \sf{\knagybetu{#1}}}\par\nobreak
    \vspace{\afterchapterskip}
  }}
%%
%%
%%  
\renewcommand{\chaptermark}[1]{
	  \setcounter{protcount}{0}
      \markboth{\ifnum \c@secnumdepth >\m@ne
          \if@mainmatter
              \thechapter.\
          \fi
        \fi
      #1}{
        \ifnum \c@secnumdepth >\m@ne
          \if@mainmatter
              \thechapter.\
          \fi
        \fi
      #1}
}

%%
%% SECTIONOK ÚJRA (2003.03.14.)
%%
\def\@seccntformat#1{\csname the#1\endcsname.\ }
\def\@modsectionformat#1{\csname the#1\endcsname'.\ }
%%
\def\@startsection#1#2#3#4#5#6{%
  \if@noskipsec \leavevmode \fi
  \par
  \@tempskipa #4\relax
  \@afterindentfalse
  \ifdim \@tempskipa <\z@
    \@tempskipa -\@tempskipa \@afterindentfalse
  \fi
  \if@nobreak
    \everypar{}%
  \else
    \addpenalty\@secpenalty\addvspace\@tempskipa
  \fi
  \@ifstar
    {\@ssect{#3}{#4}{#5}{#6}}%
    {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
%%
%%
%%
\def\@sect#1#2#3#4#5#6[#7]#8{%
    \ifnum #2>\c@secnumdepth
      \let\@svsec\@empty
    \else
      \refstepcounter{#1}%
      \protected@edef\@svsec{\@seccntformat{#1}\relax}%
    \fi
    \@tempskipa #5\relax
    \ifdim \@tempskipa>\z@
      \begingroup
        #6{%
          \@hangfrom{\hskip #3\relax\@svsec}%
            \interlinepenalty \@M #8\@@par}%
      \endgroup
      \csname #1mark\endcsname{#7}%
      \addcontentsline{toc}{#1}{%
        \ifnum #2>\c@secnumdepth \else
          \protect\numberline{\@seccntformat{#1}}%
        \fi
        #7}%
    \else
      \def\@svsechd{%
        #6{\hskip #3\relax
        \@svsec #8\\}%
        \csname #1mark\endcsname{#7}%
        \addcontentsline{toc}{#1}{%
          \ifnum #2>\c@secnumdepth \else
            \protect\numberline{\@seccntformat{#1}}%
          \fi
          #7}}%
    \fi
    \@xsect{#5}}
%%
%%
%%
\def\@ssect#1#2#3#4#5{%
    \@tempskipa #3\relax
    \ifdim \@tempskipa>\z@
      \begingroup
        #4{%
          \@hangfrom{\hskip #1}%
            \interlinepenalty \@M #5\@@par}%
      \endgroup
    \else
      \def\@svsechd{#4{\hskip #1\relax #5\\}}%
    \fi
    \@xsect{#3}}


\newcounter{hardsection}[chapter]
\newcounter{hardsubsection}[section]	

\renewcommand\section{\@startsection {section}{1}{\z@}
                                   {24pt}
                                   {12pt}
                                   {\centering\Large\sf\knagybetu}}

							   
\newcommand{\csillag}{\ \lower-.17em\hbox{$\bigstar$}}
\newcommand{\kiscsillag}{\ \lower-.13em\hbox{\small$\bigstar$}}
\newcommand{\picicsillag}{\lower-.13em\hbox{$\star$}}

								   
\newcommand\hardsection{\@startsection {hardsection}{1}{\z@}
                                   {24pt}
                                   {12pt}
                                   {\centering\csillag\quad\sf\Large\knagybetu}}



\renewcommand\subsection{\@startsection{subsection}{2}{-6mm}
                                    {18pt}
                                    {6pt}
                                    {\large\sf\knagybetu}}

\newcommand\hardsubsection{\@startsection{hardsubsection}{2}{\z@} 
                                    {18pt}
                                    {6pt}
                                    {\hspace{-7.5mm}\csillag\quad\large\sf\knagybetu}}
									 
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}   %%% BVIC 2006. 1. 1.
                                     {12pt}
                                     {0pt}
                                     {\normalsize\knagybetu}}

\renewcommand{\sectionmark}[1]{
	  \setcounter{examp}{0}
	  \setcounter{allcount}{0}
	  \stepcounter{hardsection}
      \markright{
        \ifnum \c@secnumdepth >\z@
           \thesection.\		   
       \fi
        #1}
}
									 
\newcommand{\hardsectionmark}[1]{
	  \setcounter{examp}{0}
	  \setcounter{allcount}{0}
	  \stepcounter{section}
      \markright{
        \ifnum \c@secnumdepth >\z@
           \thesection.\		   
       \fi
        #1}		
}

%%
%% Belényesi Viktor (2004.03.18)
%%
\newcommand{\hardsubsectionmark}[1]{  
	  \stepcounter{subsection}
}
%%
%% Belényesi Viktor (2004.03.18)
%%
\renewcommand{\subsectionmark}[1]{
	  \stepcounter{hardsubsection}
}

   
%%
%% FEJLÉC (2003.05.27.)
%%
\renewcommand{\@oddhead} {\noindent {\textit{\rightmark}} \hfill {\sf \thepage}}
\renewcommand{\@evenhead}{\noindent {\sf \thepage} \hfill {\textit{\leftmark}}}

%%
%% TÁBLA (2003.03.15.)
%%
\def\fnum@table{\thetable.~\tablename}
%%
%%
%%
\renewcommand{\thefigure}
     {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@figure}

\newenvironment{@idez}
{
\vspace{-12pt}
\begin{list}{}{\setlength{\leftmargin}{0mm}\setlength{\rightmargin}{0mm}}
\item[]
}
{
\end{list}
}

%%
%%  AZ EPSKÉP ALÁÍRÁSÁHOZ KELL
%%
\def\captionmath{%
   \ifx\@captype\@undefined
     \@latex@error{\noexpand\caption outside float}\@ehd
     \expandafter\@gobble
   \else
     \refstepcounter\@captype
     \expandafter\@firstofone
   \fi
   {\@dblarg{\@captionmath\@captype}}%  
}

\long\def\@captionmath#1[#2]#3{%
    \csname par\endcsname
    \begingroup
      \@parboxrestore
      \if@minipage
        \@setminipage
      \fi
      \normalsize
      \@makecaptionmath{\csname fnum@#1\endcsname}{\ignorespaces #3}\csname par\endcsname
    \endgroup}
	
\long\def\@makecaptionmath#1#2{%							
  \setlength\baselineskip{9pt}
  \vskip\abovecaptionskip
  \begin{@idez}
  {\footnotesize \textbf{#1.} #2}  
  \end{@idez}
  \vskip\belowcaptionskip
  \setlength\baselineskip{12pt}
}

%%
%% ÁBRA ALÁÍRÁS (2003.05.27.)
%%	 
\def\fnum@figure{\thefigure.~\figurename}

 
%%
%% IRODALOMJEGYZÉK
%%
\renewenvironment{thebibliography}[2][\bibname]
     {
	  \csapter{#1}
	  \footnotesize	
      \list{\@biblabel{\@arabic\c@enumiv}}
           {\settowidth\labelwidth{\@biblabel{#2}}
			\leftmargin\labelwidth
            \advance\leftmargin\labelsep
            \@openbib@code
            \usecounter{enumiv}
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\@arabic\c@enumiv}}
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000
      \sfcode`\.\@m
%%
%% hogy jól ugorjon a tartalomjegyzékből  (2004. március 24.)
%%
\refstepcounter{chapter}
\addcontentsline{toc}{chapter}{#1}\markboth{#1}{#1}
}
{
 \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}
 \endlist
 \usebox{\iroddoboz} 
}

\newcommand{\irodoutro}[1]{
\sbox{\iroddoboz}{
\begin{minipage}{\textwidth}
#1
\end{minipage}
}
}
\renewcommand\newblock{\hskip .11em}

%%
%% TÁRGYMUTATÓ
%%
\renewenvironment{theindex}
{
\footnotesize
\begin{multicols}{2}
\def\@idxitem{\par\hangindent 4mm} 
\def\subitem{\par\hangindent 8mm \hspace*{4mm}}
\def\subsubitem{\par\hangindent 12mm \hspace*{8mm}} 
\let\item\@idxitem

}
{
\end{multicols}
\if@restonecol\onecolumn\else\clearpage\fi
}

%%
%% TÁRGY és NÉVMUTATÓ (2003.01.10.)
%%
\def\makeindexs#1{\begingroup
  \makeatletter
  \if@filesw \expandafter\newwrite\csname #1@idxfile\endcsname
  \expandafter\immediate\openout \csname #1@idxfile\endcsname #1.idx\relax
  \typeout{Writing index file #1.idx }\fi \endgroup}
%%
%%
%%
\def\indexs#1{\@bsphack\begingroup
               \def\protect##1{\string##1\space}\@sanitize
               \@wrindexs{#1}}
%%
%%
%%
\def\@wrindexs#1#2{\let\thepage\relax
   \xdef\@gtempa{\@ifundefined{#1@idxfile}{}{\expandafter
      \write\csname #1@idxfile\endcsname{\string
      \indexentry{#2}{\thepage}}}}\endgroup\@gtempa
   \if@nobreak \ifvmode\nobreak\fi\fi\@esphack}
%%
%%
%%
\newcommand\tempviktor\indexname
\newenvironment{indexkorny}[1]
{
 \if@twocolumn
 \@restonecolfalse
 \else
 \@restonecoltrue
 \fi
 \footnotesize				
 \columnseprule \z@
 \columnsep 28\p@
 \renewcommand{\tempviktor}{#1}

%%
%% hogy jól ugorjon a tartalomjegyzékből       %%   2004. 03. 31.
%%

\csapter{#1}
\refstepcounter{chapter}
\addcontentsline{toc}{chapter}{#1}\markboth{#1}{#1} 		
}
{
 \hspace*{-\parindent}\hspace*{-0.3em}		
 \setlength{\columnwidth}{(\textwidth-\columnsep)/2}
 \renewcommand{\indexspace}{\par\vskip 4\p@\relax}
 \renewcommand\@idxitem  {\par\hangindent 0\p@}
 \ifthenelse{\equal{\tempviktor}{\indexname}}{\@input{\jobname.ind}}{\@input{\jobname_nev.ind}}
}

\renewenvironment{printindex}
{
\begin{indexkorny}{\indexname}
}
{
\end{indexkorny}
}

%%
%%  NÉVINDEX
%%
\newenvironment{printnevindex}
{
\begin{indexkorny}{\nevindexname}
}
{
\end{indexkorny}
}

%%
%%
%%
\renewcommand{\makeindex}{\makeindexs{\jobname}\makeindexs{\jobname_nev}}  %% megcsinálja a névindexeket is 2007. augusztus 19
\renewcommand{\index}[1]{\indexs{\jobname}{#1}}
\newcommand{\nevindex}[1]{\indexs{\jobname_nev}{#1}}



%%
%% TARTALOMJEGYZÉK ÁTALAKÍTÁSA, PONTOK A PART UTÁN ÉS A CHAPTER UTÁN IS
%%
\renewcommand*\l@part[2]{
  \ifnum \c@tocdepth >-2\relax
    \addpenalty{-\@highpenalty}
       \vspace{1.25em} %% ITT LEHET SZABÁLYOZNI A PART ELŐTTI KÖZT   2003. szeptember 11.
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode
       \textbf{#1}\nobreak
     \leaders\hbox{$\m@th
        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
        mu$}\hfill
     \nobreak
        \hb@xt@\@pnumwidth{\hfil\sf \normalcolor \textbf{#2}}\par  %%% 2005. május 2.
       \nobreak
         \global\@nobreaktrue
         \everypar{\global\@nobreakfalse\everypar{}}
    \endgroup
  \fi}


%%
%%
%%  
\renewcommand*\l@chapter[2]{
  \ifnum \c@tocdepth >\m@ne
    \addpenalty{-\@highpenalty}
	
       \vspace*{0.3em}  %% ITT LEHET SŰRÍTENI A TARTALOMJEGYZÉKET 2003. szeptember 11.
	     
    \setlength\@tempdima{1.5em}
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode
      \advance\leftskip\@tempdima
      \hskip -\leftskip
      \textbf{\normalcolor #1}\nobreak
     \leaders\hbox{$\m@th
        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
        mu$}\hfill
     \nobreak
      \hb@xt@\@pnumwidth{\hfil\normalcolor \textbf{\sf #2}}\par %%% 2005. május 2.
      \penalty\@highpenalty
    \endgroup
  \fi}
%%
%%
%%

\renewcommand*\l@section[2]{
\ifnum 1>\c@tocdepth \else
    \vskip \z@ \@plus.2\p@
    {\leftskip 1.5em\relax \rightskip \@tocrmarg \parfillskip -\rightskip
     \parindent 1.5em\relax\@afterindenttrue
     \interlinepenalty\@M
     \leavevmode
     \@tempdima 2.3em\relax
     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
     {\hspace{0.6em}\normalcolor\sf#1}\nobreak
     \leaders\hbox{$\m@th
        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
        mu$}\hfill
     \nobreak
     \hb@xt@\@pnumwidth{\hfil \normalcolor \sf #2}%
     \par}%
}

\newcommand*\l@hardsection[2]{
\ifnum 1>\c@tocdepth \else
    \vskip \z@ \@plus.2\p@
    {\leftskip 1.5em\relax \rightskip \@tocrmarg \parfillskip -\rightskip
     \parindent 1.5em\relax\@afterindenttrue
     \interlinepenalty\@M
     \leavevmode
     \@tempdima 2.3em\relax
     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
     {\hspace{-1.8em}\kiscsillag\hspace{0.6em}\normalcolor\sf#1}\nobreak
     \leaders\hbox{$\m@th
        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
        mu$}\hfill
     \nobreak
     \hb@xt@\@pnumwidth{\hfil \normalcolor \sf #2}%
     \par}%
}

\newcommand*\l@hardsubsection[2]{
\ifnum 2>\c@tocdepth \else
    \vskip \z@ \@plus.2\p@
    {\leftskip 3.8em\relax \rightskip \@tocrmarg \parfillskip -\rightskip
     \parindent 3.8em\relax\@afterindenttrue
     \interlinepenalty\@M
     \leavevmode
     \@tempdima 3.2em\relax
     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
     {\hspace{-4.1em}\kiscsillag\hspace{3em}\normalcolor \sf#1}\nobreak
     \leaders\hbox{$\m@th
        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
        mu$}\hfill
     \nobreak
     \hb@xt@\@pnumwidth{\hfil\sf \normalcolor #2}%
     \par}%
}

\renewcommand*\l@subsection[2]{
\ifnum 2>\c@tocdepth \else
    \vskip \z@ \@plus.2\p@
    {\leftskip 3.8em\relax \rightskip \@tocrmarg \parfillskip -\rightskip
     \parindent 3.8em\relax\@afterindenttrue
     \interlinepenalty\@M
     \leavevmode
     \@tempdima 3.2em\relax
     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
     {\hspace{3em}\normalcolor \sf#1}\nobreak
     \leaders\hbox{$\m@th
        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
        mu$}\hfill
     \nobreak
     \hb@xt@\@pnumwidth{\hfil\sf \textcolor{black} #2}%
     \par}%
}

\renewcommand*\l@subsubsection[2]{
\ifnum 2>\c@tocdepth \else
    \vskip \z@ \@plus.2\p@
    {\leftskip 5em\relax \rightskip \@tocrmarg \parfillskip -\rightskip
     \parindent 5em\relax\@afterindenttrue
     \interlinepenalty\@M
     \leavevmode
     \@tempdima 4em\relax
     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
     {\hspace{3em}\normalcolor \sf#1}\nobreak
     \leaders\hbox{$\m@th
        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
        mu$}\hfill
     \nobreak
     \hb@xt@\@pnumwidth{\hfil\sf \textcolor{black} #2}%
     \par}%
}




\renewcommand{\thehardsection}{\thechapter.\@arabic\c@hardsection} 
\renewcommand{\thehardsubsection}{\thesection.\@arabic\c@hardsubsection}

%%
%%
%% 
\renewcommand\tableofcontents{
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
	
	 \csapter{\contentsname}\markboth{\contentsname}{\contentsname}
    \sf  %%%% 2005. május 2.
    \@starttoc{toc}
    \if@restonecol\twocolumn\fi
	\rm\newpage
   }

%%
%% CÍMKÉK
%%
\long\def\@makecaption#1#2{%
							
  \setlength\baselineskip{9pt}
  \vskip\abovecaptionskip
  \sbox\@tempboxa{\footnotesize\textbf{#1.} #2}%
  \ifdim \wd\@tempboxa >\hsize
  \begin{@idez}
    {\footnotesize\textbf{#1.} #2}\par
  \end{@idez}

  \else
    \global \@minipagefalse
    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  \fi
  \vskip\belowcaptionskip
  \setlength\baselineskip{12pt}
}


\long\def\@caption#1[#2]#3{%
    \csname par\endcsname
    \begingroup
      \@parboxrestore
      \if@minipage
        \@setminipage
      \fi
      \normalsize
      \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\csname par\endcsname
    \endgroup}
   
%%
%% TÉTELEK, SORSZÁM HELYES KIÍRÁSA
%%
\renewcommand{\@begintheorem}[2]{\trivlist
   \item[\hskip \labelsep{\bfseries #2.~#1.\ }]\itshape\hspace{-0.5em}}
   
\renewcommand{\@opargbegintheorem}[3]{\trivlist
      \item[\hskip \labelsep{\textbf {#2.~#1\ }(#3).\ }]\itshape\hspace{-0.5em}}



%%
%% TÉTEL, DEFINÍCIÓ, ...
%%
\newcommand{\pref}[1]{\ref{#1}.}
\newtheorem{tetel}{tétel}[chapter]
\newtheorem{lemma}[tetel]{lemma}
\newtheorem{allit}[tetel]{állítás}
\newtheorem{defi}[tetel]{definíció}
\newtheorem{kov}[tetel]{következmény}
\newtheorem{sejtes}[tetel]{sejtés}
\newtheorem{megj}[tetel]{megjegyzés}
\newtheorem{dogma}[tetel]{dogma}   %%  Jörg Rothe (2004. március 20.)


%%
%% KOCKA   2004. augusztus 9.
%%
\newcommand{\@kocka}[1]{\mbox{\vrule height #1 width #1\relax}} 
\newcommand{\fkocka}{{\nobreak\hspace*{\fill}\nobreak$\@kocka{5pt}$\par\smallskip}}


%%
%% BIZONYÍTÁS FEKETE KOCKÁVAL A VÉGÉN
%%
\newenvironment{biz}[1][]{
\par\noindent{\textbf{Bizonyítás.}}\textbf{#1}
\normalsize\lineskip=3pt         %% 2003. augusztus 9.
}
{\fkocka
\lineskip=6pt  %% 2003. július 27.
\noindent\ignorespaces
\vspace{0mm}
}

%%
%% BIZONYÍTÁS FEKETE KOCKA NÉLKÜL  2003. augusztus 24.
%%
\newenvironment{biznel}[1][]{%
  \par\noindent{\textbf{Bizonyítás.}}\textbf{#1}
  \global\qedtrue \global\mathqedfalse
}{%
\vspace{0pt}
}


%%
%% GYAKORLATOK KÖRNYEZET
%%
\newcounter{gyakcounter}[section]
\newenvironment{gyak}
{
  \vspace{12pt}
  {\noindent\sf\large\textbf{Gyakorlatok}}%
  \setcounter{gyakcounter}{0}
}
{
}


%%
%%	ÚJ GYAKORLAT a gyakorlatok környezeten belül
%%
\newcommand{\ujgyak}{\refstepcounter{gyakcounter}
  \def\@currentlabel{\thechapter.\@arabic\c@section-\thegyakcounter.}  
  \ \newline\noindent\textbf{\thechapter.\@arabic\c@section-\thegyakcounter.}\hspace*{1mm}
}  %%% 2003. július 30.

\newcommand{\ujgyakk}{\refstepcounter{gyakcounter}
  \def\@currentlabel{\thechapter.\@arabic\c@section-\thegyakcounter.}  
  \noindent\textbf{\thechapter.\@arabic\c@section-\thegyakcounter.}\hspace*{1mm}
} 


\newcommand{\hardgyak}{\refstepcounter{gyakcounter}
  \def\@currentlabel{\thechapter.\@arabic\c@section-\thegyakcounter.}
\ \newline\noindent\textbf{\thechapter.\@arabic\c@section-\thegyakcounter.\picicsillag}\hspace*{1mm}
} %%% 2003. július 30. 

%%
%%  EGY GYAKORLAT MEGOLDÁSA
%%
\newcommand{\ujgyakmeg}[1]{%\refstepcounter{gyakcounter}
\@mywrite{\ \newline\noindent\textbf{\thechapter.\@arabic\c@section-\thegyakcounter. megoldása.}\hspace*{1mm} #1}
}  %%% 2004. 03. 30. by bvic    2004. április 10.

%%
%%  FELADATOK, GYAKORLATOK  MEGOLDÁSA 
%%
%%
%%  FÁJLBA ÍRÁS 2004.03.30. by bvic
%%
\long\def\addtocontents#1#2{%
  \protected@write\@auxout
      {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble}%
      {\string\@writefile{#1}{#2}}}
\newcommand{\@mywrite}[1]{\addtocontents{mof}{#1}}

\newcommand{\printmegoldas}{
\chapter*{Megoldások}                          %%  2004. március 31.
\addcontentsline{toc}{chapter}{Megoldások}
\@starttoc{mof}
}

		
%%
%% SZÖVEGKIEMELÉSEK
%%
\newcommand{\ki}[1]{\textbf{\textit{#1}}}
\newcommand{\key}[1]{\textbf{#1}}
\newcommand{\idez}[1]{{\ideze}#1''}
\newcommand{\ideze}{\setbox0=\hbox{\lower1.38ex\hbox{''}}\dp0=0pt\box0}

%%
%% ALÁHÚZÓS href
%%
\newcommand{\hrefun}[2]{\href{#1}{\underline{#2}}}

%%  
%% ÁLLÓ SZÖVEG ÁLLÍTÁSBAN
%%
\newcommand{\allo}[1]{\textrm{#1}}

%%
%%	SEE ÚJRA
%%
\renewcommand{\see}[2]{\emph{lásd} #1}
\newcommand{\lmeg}[2]{\emph{lásd még} #1}

%%
%% TERMÉSZETES, VALÓS ÉS MÁS SZÁMOK HALMAZA  %% 2004. október 31.
%%
\newcommand{\N}{\mathbb{N}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\C}{\mathbb{C}}
\newcommand{\K}{\mathbb{K}}
\newcommand{\F}{\mathbb{F}}

%% VÁLTOZÓ
%%
\newcommand{\var}[1]{\textit{#1}}


%%
%% DEFÍNÍCIÓ DŐLT OLDALSZÁMMAL A TÁRGYMUTATÓBAN
%%
\newcommand{\inddef}[1]{\index{#1|textit}}

%%
%% ÁBRA ELŐTTI KÖZ (2003.03.15.) 
%%
\newlength{\abraskip}
\setlength{\abraskip}{4mm}


%%
%% eps KÉP BESZÚRÁSA 
%%
\newif\iffileexists
\newcommand{\checkfile}[1]{\openin2=#1 \ifeof2 \fileexistsfalse\else\fileexiststrue\fi\closein2}
\newcommand{\epskep}[3][]{
\vspace*{\abraskip}
\begin{figure}[!t]   %%% 2003. július 25.
  \begin{center}
    \checkfile{#2_psfrag.eps}
    \iffileexists
      \epsfbox{#2_psfrag.eps}
    \else
      \checkfile{#2.psfrag}
      \iffileexists
        \typeout{Command epskep Warning: #2_psfrag.eps fajl hianyzik, ezert a PDF output hibas lesz!}
       \input{#2.psfrag}
        \epsfbox{#2.eps}
      \else
        \checkfile{#2.pstex_t}
        \iffileexists
          \input{#2.pstex_t}
        \else
          \epsfbox{#2.eps}
        \fi % #2.pstex_t
      \fi % #2.psfrag
    \fi % #2_psfrag.eps
  \end{center}
\vspace*{-4mm}

\ifthenelse{\equal{#1}{}}
{
   \ifthenelse{\equal{#2}{}}
   {} %nem csinál semmit
   {\caption{#3}} 
}
{
   \captionmath{#3}
}
\end{figure}
\vspace*{-4mm}
}

%%
%% eps KÉP BESZÚRÁSA 
%%
\newcommand{\epskepnagyfrag}[4][]{

\vspace*{\abraskip}
\begin{figure}[!t]   %%% 2003. július 25.
  \begin{center}
    \checkfile{#2.psfrag}
    \iffileexists
     \input{#2.psfrag}
	 \epsfxsize=#4
      \epsfbox{#2.eps}
    \else
      \checkfile{#2.pstex_t}
      \iffileexists
        \input{#2.pstex_t}
      \else
        \epsfbox{#2.eps}
      \fi
    \fi
  \end{center}
\vspace*{-4mm}

\ifthenelse{\equal{#1}{}}
{
   \ifthenelse{\equal{#2}{}}
   {} %nem csinál semmit
   {\caption{#3}} 
}
{
   \captionmath{#3}
}
\end{figure}
\vspace*{-4mm}

}


%%
%% NAGY eps ÁBRA BESZÚRÁSA
%%
\newcommand{\epskepnagy}[3]{
\begin{figure}[!t]
\begin{center}
	\epsfig{file=#1,#3,clip=true}
	\caption{#2}
\end{center}
\end{figure}
}

\newcommand{\epskepnagyab}[5]{
\begin{figure}[!t]
\begin{center}
	\epsfig{file=#1,#2}\qquad\epsfig{file=#3,#4}
	\caption{#5}
\end{center}
\end{figure}
}



%%
%% eps KÉP BESZÚRÁSA a 13. fejezetbe   2003. szeptember 6. 
%%
\newif\iffileexists
\newcommand{\epskeph}[3][]{
\vspace*{\abraskip}
\begin{figure}[!t]   %%% 2003. július 25.
  \begin{center}
    \checkfile{#2.psfrag}
    \iffileexists
     \input{#2.psfrag}
      \epsfbox{#2.eps}
    \else
      \checkfile{#2.pstex_t}
      \iffileexists
        \input{#2.pstex_t}
      \else
        \epsfbox{#2.eps}
      \fi
    \fi
  \end{center}
\ifthenelse{\equal{#1}{}}
{
   \ifthenelse{\equal{#2}{}}
   {} %nem csinál semmit
   {\caption{#3}} 
}
{
   \captionmath{#3}
}
\end{figure}
}


%%
%% KÉTRÉSZES eps KÉP BESZÚRÁSA (ÚJ: 2003. szeptember 7.)
%%
\newcommand{\epskepp}[1]{
\vspace*{\abraskip}
\begin{figure}[!t]   %%% 2003. július 25.
  \begin{center}
    \checkfile{#1.psfrag}
    \iffileexists
     \input{#1.psfrag}
      \epsfbox{#1.eps}
    \else
      \checkfile{#1.pstex_t}
      \iffileexists
        \input{#1.pstex_t}
      \else
        \epsfbox{#1.eps}
      \fi
    \fi
  \end{center}
\end{figure}
\vspace*{-4mm}
}

%%
%%
%%
\newcommand{\eepickep}[2]{
\vspace*{\abraskip}
\begin{figure}[!t]    %%% 2003. július 25.
 \begin{center}
    \input{#1.eepic}
  \end{center}
\vspace*{-4mm}
   \caption{#2}
\end{figure}
}

%%
%% PÁRHUZAMOS eepic KÉP BESZÚRÁSA  March 11, 2004
%%
\newcommand{\parkep}[2]{
\begin{figure}[!t]
  \vspace{1mm}
  \begin{center}
    \input{#1.eepic}
  \end{center}
  \vspace*{-4mm}
%%  \vspace*{-9mm}
  \begin{center}
    \caption{#2}
  \end{center}
  \vspace*{-8mm}
\end{figure}
}



%% LISTÁK TÖMÖRÍTÉSE                 
%%
\def\enumhook{}
\def\enumhooki{}
\def\enumhookii{}
\def\enumhookiii{}
\def\enumhookiv{}
\def\itemhook{}
\def\itemhooki{}
\def\itemhookii{}
\def\itemhookiii{}
\def\itemhookiv{}
\def\descripthook{}

%%
%% LISTÁK TÖMÖRÍTÉSE (belső köz)
%%
%% ENUMERATE belső közei
\renewcommand{\enumhook}{
\setlength{\topsep}{0pt}
\setlength{\itemsep}{0pt}
\settowidth{\labelwidth}{$1.$}
\setlength{\itemindent}{0mm}
\setlength{\labelsep}{6mm-\labelwidth}
\setlength{\leftmargin}{6mm}

}
  
%% DESCRIPTION belső közei  
\renewcommand{\descripthook}{
\setlength{\topsep}{0pt}
\setlength{\itemsep}{-1pt}
\setlength{\labelwidth}{6mm}
\setlength{\itemindent}{0mm}
\setlength{\labelsep}{\parindent-\labelwidth}
\setlength{\leftmargin}{\parindent}

}
  
%% ITEMIZE belső közei  
\renewcommand{\itemhook}{
\setlength{\topsep}{0pt}  
\setlength{\itemsep}{-1pt}
\settowidth{\labelwidth}{\textbullet}
\setlength{\labelsep}{6mm-\labelwidth}
\setlength{\leftmargin}{6mm}
}
\renewcommand{\itemhookii}{
\settowidth{\labelwidth}{$-$}
\setlength{\labelsep}{6mm-\labelwidth}
\setlength{\leftmargin}{6mm}
}



\renewenvironment{enumerate}{%
\vspace*{3pt}            %% első köz    %%% 2003. augusztus 9..              
  \ifnum \@enumdepth >\thr@@\@toodeep\else
    \advance\@enumdepth\@ne
    \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
      \expandafter
      \list
        \csname label\@enumctr\endcsname
        {\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}%
          \enumhook \csname enumhook\romannumeral\the\@enumdepth\endcsname}%
  \fi
  }
  {
  \endlist
  \vspace*{3pt} %%  hátsó köz    %%% 2003. augusztus 9.
  }

%%
%% ITEMIZE
%%
\renewenvironment{itemize}{%
\vspace*{3pt}  %% első köz      %%% 2003. augusztus 11.
  \ifnum \@itemdepth >\thr@@\@toodeep\else
    \advance\@itemdepth\@ne
    \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
    \expandafter
    \list
      \csname\@itemitem\endcsname
      {\itemhook \csname itemhook\romannumeral\the\@itemdepth\endcsname
	  \def\makelabel##1{\hss\llap{##1}}%
      }%
  \fi
  }
 {
 \endlist
 \vspace*{4pt} %hátsó köz          %%% 2003. augusztus 25.
 }
  
\renewenvironment{description}{
	 \vspace*{1mm} %első köz      %%%  2003. július 25.
	 \list{}{\labelwidth\z@ \itemindent-\leftmargin
      \let\makelabel\descriptionlabel\descripthook}
}
{
 	\endlist
	\vspace*{1.5mm} %% hátsó köz
}


%%
%%  LÁBJEGYZET (2003.04.21.)
%%
\renewcommand\footnoterule{%
  \kern-3\p@
  \vspace{5mm}
  \hrule\@width 1\columnwidth
  \kern2.6\p@}

\renewcommand\@makefntext[1]{%
    \parindent 2em%
    \noindent
    \hb@xt@0.5em{\hss\@makefnmark}#1} 

%%
%% CLRS-BŐL ÁTVETT PARANCSOK
%%

\newcommand{\twodots}{\mathinner{\ldotp\ldotp}} % KÉT PONT DEKLARÁCIÓKBAN

\newcommand{\matxspace}{\hspace*{-0.25pc}} % 3 MÁTRIXOS PARANCS (SZILI-FÉLE MÓDOSÍTÁSSAL)

\newcommand{\matx}[2]{%
  \left(\matxspace\begin{array}{*{#1}{c}}#2\end{array}\matxspace\right)%
}
\newcommand{\matxx}[2]{%
  \left(\matxspace\begin{captionarray}{*{#1}{c}}#2\end{captionarray}\matxspace\right)%
}
\newcommand{\rmatxx}[2]{%
  \left(\matxspace\begin{captionarray}{*{#1}{r}}#2\end{captionarray}\matxspace\right)%
} 

\newcommand{\rmatx}[2]{%
  \left(\matxspace\begin{array}{*{#1}{r}}#2\end{array}\matxspace\right)%
} 


%%
%%	PÉLDA FEKETE KOCKÁVAL A VÉGÉN A VÉGÉN
%%  behűzás és fekete kocka nem kell (2004.03.31 by bvic)
%%
\newenvironment{pelda}{
\stepcounter{peldacount} %% 2004. Junius 30.
\def\@currentlabel{\thechapter.\thepeldacount.}   %% 2004. Junius 30.
\vspace{4mm}\small           %% 2004. április 2.
\noindent{\bf{\thechapter.\thepeldacount. példa. }}\rm%% 2004. Junius 30.
}
{
\par\normalsize
\vspace{4mm}                 %% 2004. április 4.
}

%%
%% EGY SZÁMOZOTT SORT ELŐÁLLÍTÓ PARANCS
%%
\newcommand{\itelj}{ 
	\stepcounter{eljcount}
	\ifthenelse{\value{eljcount}<10}{\textrm{0\theeljcount\ }}{\textrm{\theeljcount\ }}
}



%%
%% Irodalomjegyzék oldalszáma kattintós (2004.02.09.)
%%
\long\def\hyper@page@backref#1#2#3{\hyperlink{page.#1}{\underline{#1}}}
\def\backref{}\let\backrefxxx\hyper@page@backref



%%
%% SZINEK DEFINIALASA																 
%%
\definecolor{A}{rgb}{0.3,0.8,1} %% kék
\definecolor{C}{named}{Yellow}  %% sárga
\definecolor{H}{rgb}{1,0.7,0} %% %%okker
\definecolor{I}{rgb}{0.8,0.5,0.5} %%téglavörös
\definecolor{N}{named}{Green} %%világoszöld
\definecolor{S}{rgb}{0.3,0.7,0.4}  %%sötétzöld
\definecolor{R}{rgb}{0.5,0.65,0.55} 
\definecolor{W}{rgb}{0.2,0.8,0.9} 
\definecolor{B}{rgb}{0.2,0.5,0.5}
\definecolor{E}{rgb}{0.5,0.5,0}
\definecolor{V}{rgb}{0,0.5,0.5}
\definecolor{Z}{rgb}{0.3,1,0.55} %%világoszöld
\definecolor{D}{cmyk}{0,1,0,0}
\definecolor{O}{named}{Cyan}
\definecolor{M}{rgb}{0.5,0.5,0}
\definecolor{F}{rgb}{0.5,0,0.5}
\definecolor{G}{rgb}{0.2,0.3,0.5}
\definecolor{J}{rgb}{0.5,0.3,0.2}
\definecolor{K}{cmyk}{0.5,0.5,0,0}
\definecolor{Q}{rgb}{0.305,0.367,0.786}
\definecolor{S}{rgb}{0.3,0.7,0.4}
\definecolor{T}{rgb}{0.4,0.3,0.1}
\definecolor{U}{rgb}{0.3,0.4,0.2}


%%%
%%%  KNUTH
%%%

%%%  AAA
\newdimen\algindent  %% 2005. 12. 24.
\def\algindentset#1{\setbox0\hbox{{\bf #1.\kern.25em}}\algindent=\wd0\relax}
\def\algbegin #1 #2{\algindentset{#21}\alg #1 #2} % when steps all have 1 digit
\def\aalgbegin #1 #2{\algindentset{#211}\alg #1 #2} % when 10 or more steps
\def\alg#1(#2). {\medbreak % Usage: \algbegin Algorithm A (algname). This...
  \noindent{\bf#1}({\it#2\/}).\xskip\ignorespaces}
\def\algstep#1.{\ifitempar\smallskip\noindent\else\itempartrue 
 \hskip-\parindent\fi
 \hbox to\algindent{\bf\hfil #1.\kern.25em}%
 \hangindent=\algindent\hangafter=1\ignorespaces} 
\newif\ifitempar \itempartrue % normally true unless briefly set false
%%%\def\algindentset#1{\setbox0\hbox{{\bf #1.\kern.25em}}\algindent=\wd0\relax}  %%% 2005. 12. 24.
%%%\def\algbegin #1 #2{\algindentset{#21}\alg #1 #2} % when steps all have 1 digit
%%%\def\aalgbegin #1 #2{\algindentset{#211}\alg #1 #2} % when 10 or more steps
%%%\def\alg#1(#2). {\medbreak % Usage: \algbegin Algorithm A (algname). This...
%%%  \noindent{\bf#1}({\it#2\/}).\xskip\ignorespaces}
%%%\def\algstep#1.{\ifitempar\smallskip\noindent\else\itempartrue
%%%  \hskip-\parindent\fi
%%%  \hbox to\algindent{\bf\hfil #1.\kern.25em}%
%%%  \hangindent=\algindent\hangafter=1\ignorespaces}
\def\also{\kern.05em{\it see also}\ } %% also 2005. 12. 30. 
\def\author#1(#2){\par\nobreak\smallskip\noindent\rm--- #1\unskip\enspace(#2)} %% author 2005.12.29.

\def\ansmmixthree{\begingroup\let\ttt=\tt\ninepoint \underspecial  
  \def\\{\noalign{\penalty-200}}
  \halign\bgroup\hskip\parindent
          \ttt##\enspace\hfil&         % label
          \ttt\hbox to 3.5em{##\hfil}\sdol& % op
          \ttt##\hfil\quad\ndol&            % expr
          \rm##\hfil\cr}               % comment 
% the ``primed'' commands expect frequency count but no location 

%%% BBB
\def\breathe{\vskip1pt} %% 2005. 12. 24.

%%% DDD
\def\dash---{\thinspace---\hskip.16667em\relax} %% dash 2005. 12. 23. 

\let\del=\partial \newbox\ush \def\led{{\copy\ush}} % shadow and upper shadow 2005. 12. 25.

\def\dotminus{\mathbin{\buildrel{\hbox{.}}\over{\smash-\vphantom{_2}}}} %% dotminus 2005. 12. 29.

\def\dts{\mathinner{\ldotp\ldotp}} %% 2006. 1. 7.
%%% EEE
\def\endmix{\egroup\endgroup} %% endmix 2006. 1. 3.

\def\endmmix{\egroup\endgroup}  %% endmmix 2006. 1. 3.
% in answers, replace line numbers by 1\parindent of space 

\def\eq(#1){\hbox{\rm({\oldstyle#1})}} %% 2005. 12. 23.

\let\EQNO=\eqno \def\eqno(#1){\EQNO\eq(#1)} %% EQNO = eqno 2005. 12. 23.

\def\eqalignbot#1{\null\,\vbox{\openup\jot\m@th % useful for placing \eqno's 2005. 12. 24.
  \ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil
      \crcr#1\crcr}}\,}
\def\eqaligntop#1{\null\,\vtop{\openup\jot\m@th
  \ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil
      \crcr#1\crcr}}\,}
\def\eqalignalignno#1{\displ@y \tabskip\centering % two alignments plus eqno
  \halign to\displaywidth{\hfil$\@lign\displaystyle{##}$\tabskip\z@skip
    &$\@lign\displaystyle{{}##}$\hfil % this is what I added to \eqalignno
    &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering
    &\llap{$\@lign##$}\tabskip\z@skip\crcr
    #1\crcr}}

%%% FFF
\def\fig#1/{#1} % provisional figure number, to be changed later 2005. 12. 24.

\def\flexninepoint{\normalninepoint
  \advance\baselineskip 0pt plus .2pt minus .25pt} %% flexninepoint 2006. 1. 3.

\font\ninerm=cmr9  %% 2005. 12. 24.
\font\eightrm=cmr8
\font\sixrm=cmr6

\font\ninei=cmmi9  \skewchar\ninei='177
\font\eighti=cmmi8  \skewchar\eighti='177
\font\sixi=cmmi6  \skewchar\sixi='177

\font\tenbi=cmmib10  \skewchar\tenbi='177
\font\ninebi=cmmib9  \skewchar\ninebi='177

\font\ninesy=cmsy9  \skewchar\ninesy='60
\font\eightsy=cmsy8  \skewchar\eightsy='60
\font\sixsy=cmsy6  \skewchar\sixsy='60

\font\tenbsy=cmbsy10  \skewchar\tenbsy='60
\font\sevenbsy=cmbsy7  \skewchar\sevenbsy='60
\font\fivebsy=cmbsy5  \skewchar\fivebsy='60

\font\elevenex=cmex10 scaled\magstephalf
\font\nineex=cmex9
\font\eightex=cmex8
\font\sevenex=cmex7

\font\ninebf=cmbx9
\font\eightbf=cmbx8
\font\sixbf=cmbx6

\font\tenthinbf=cmb10
\font\ninethinbf=cmb10 at 9.25pt
\font\eightthinbf=cmb10 at 8.5pt

\font\twelvett=cmtt12  \hyphenchar\twelvett=-1  % inhibit hyphenation in tt
\font\tensltt=cmsltt10  \hyphenchar\tensltt=-1
\font\ninett=cmtt9  \hyphenchar\ninett=-1
\font\ninesltt=cmsltt10 at 9pt  \hyphenchar\ninesltt=-1
\font\eighttt=cmtt8  \hyphenchar\eighttt=-1
\font\eightsltt=cmsltt10 at 8pt  \hyphenchar\eightsltt=-1
\font\seventt=cmtt8 scaled 875  \hyphenchar\seventt=-1

\font\ninesl=cmsl9
\font\eightsl=cmsl8

\font\nineit=cmti9
\font\eightit=cmti8

\font\eightss=cmssq8
\font\eightssi=cmssqi8
\font\sixss=cmssq8 scaled 800
\font\tenssbx=cmssbx10
\font\twelvess=cmss12
\font\titlefont=cmssbx10 scaled\magstep2

\font\tencsc=cmcsc10

\font\manfnt=manfnt % special symbols from the TeX project

%%% HHH
\def\hair{\kern.05em\relax} % teeny tiny space %% 2005. 12. 23.

\def\half{{1\over2}} %% half 2005. 12. 24.

\def\Hex#1{\hbox{$^{\scriptscriptstyle\#}\tt#1$\hair}} %% Hex: hexadecimal constant 2005. 12. 23.

%%% III
\def\iter#1{^{[#1]}} % iteration of functions %%% iter 2006. 1. 1.


%%% LLL
\def\lasd{\kern.05em{\it lásd}\kern-.1em\ } %%% lásd 2005. 12. 25.

\def\losub#1{^{\vphantom\prime}_{#1}} % for contexts like $x'_n+x\losub n$ 2005. 12. 24.

\def\losup#1{\raise.6ex\hbox{$\scriptstyle#1$}} %%% 2005. 12. 24.

%%% MMM
\let\mc=\ninerm % for slightly smaller caps %% 2005. 12. 23.

\def\mm{\kern-.2em\'{}\kern-.1em} % modifies a section number, for MMIX changes 2006. 1. 3.

\def\MMIX{{\tt MMIX\spacefactor1000}} %% MMIX 2005. 12. 23.

\def\MIX{{\tt MIX\spacefactor1000}} %% MIX 2005. 12. 29.

%%% NNN
\def\ninepoint{\def\rm{\fam0\ninerm}%
  \clearance=3.9125 pt
  \textfont0=\ninerm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm
  \textfont1=\ninei \scriptfont1=\sixi \scriptscriptfont1=\fivei
  \textfont2=\ninesy \scriptfont2=\sixsy \scriptscriptfont2=\fivesy
  \textfont3=\nineex \scriptfont3=\sevenex \scriptscriptfont3=\sevenex
  \def\it{\fam\itfam\nineit}%
  \textfont\itfam=\nineit
  \def\sl{\fam\slfam\let\ninett=\ninesltt\ninesl}%
  \textfont\slfam=\ninesl
  \def\bf{\fam\bffam\ninebf}%
  \textfont\bffam=\ninebf \scriptfont\bffam=\sixbf
   \scriptscriptfont\bffam=\fivebf
  \def\tt{\fam\ttfam\ninett}%
  \let\sltt=\error
  \textfont\ttfam=\ninett
  \def\oldstyle{\fam\@ne\ninei}%
  \normalbaselineskip=11pt
  \def\bigfences{\textfont3=\tenex}%
  \let\big=\ninebig
  \let\Big=\nineBig
  \let\bigg=\ninebigg
  \let\Bigg=\nineBigg
  \setbox\strutbox=\hbox{\vrule height8pt depth3pt width\z@}%
  \setbox\ush=\hbox{$\partial$}\setbox\ush=\hbox{\lower.6ex\hbox{\rotu\ush}}%
  \bitmapsize=9pt \def\normalepsfsize##1##2{.9##1}%
  \def\cnj{\mathbin{\vcenter{\hbox to.7777em{\let\epsfsize=\normalepsfsize
              \hfil\epsfbox{\figdir/ch7a.0}\hfil}}}}%
  \def\scnj{\mathbin{\vcenter{\hbox to.7777em{\let\epsfsize=\normalepsfsize
              \hfil\epsfbox{\figdir/ch7a.1}\hfil}}}}%
  \let\adbcfont=\sevenrm
  \let\mc=\eightrm % for slightly smaller caps
  \let\boldit=\ninebi
  \let\ii=\error
  \def\MF{{\manfnt hijk}\-{\manfnt lmnj}}%
  \normalbaselines\rm}

\let\normalninepoint=\ninepoint

%%% OOO
\def\oldstyle{\fam\@ne\teni} % oldstyle 2005. 12. 24.

%%%PPP
\def\Piit{{\mit\Pi}} %%% Piit 2005. 12. 25.

\def\proof.{\medbreak\noindent{\it Bizonyítás.}\xskip\ignorespaces} %%% proof 2006. 1.1.

%%% QQQ
\newenvironment{quoteformat}{  %%% quoteformat BVIC 2006. 1. 1.
  \baselineskip 10pt
  \parfillskip \z@
  \interlinepenalty 10000
  \leftskip \z@ plus 40pc minus \parindent
  \let\rm=\sf \let\sl=\sf \let\adbcfont=\sixss 
  \everypar{\sl}
  \def\\{\hskip.05em} 
  \obeylines
{\vspace{6mm}}
} 

 

\def\quoteshift{\kern-.3em} % for commas, periods, partway inside quotes %% quoteshift 2005. 12. 29.

%%% SSS
\def\see{\kern.05em{\it see}\kern-.1em\ } %%% see 2005. 12. 25. 

\def\sic/{\relax} % use this when it looks like I made a booboo but I didn't %% 2006. 1. 1.

%%%\def\slug{\hbox{\kern1.5pt\vrule width2.5pt height6pt depth1.5pt\kern1.5pt}}  %% slug 2006. 1.1.
%%%\def\slug{\hfill $\Box$} %%% KÁSA ZOLTÁN, 2007. szeptember 15.
\def\slug{\hfill $\blacksquare$} %%% KÁSA ZOLTÁN, 2007. szeptember 15.

\def\solution.{\medbreak\noindent{\it Solution.}\xskip\ignorespaces} %%% solution 2006. 1.1.

%%% TTT
\font\tencsc=cmcsc10 %% tencsc 2005. 12. 23.

\def\tenpoint{\def\rm{\fam0\let\tentt=\realtentt\tenrm}%
  \clearance=4.175 pt
  \textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm
  \textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei
  \textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy
  \textfont3=\tenex \scriptfont3=\eightex \scriptscriptfont3=\sevenex
  \def\it{\fam\itfam\tenit}%
  \textfont\itfam=\tenit
  \def\sl{\fam\slfam\let\tentt=\tensltt\tensl}%
  \textfont\slfam=\tensl
  \def\bf{\fam\bffam\tenbf}%
  \textfont\bffam=\tenbf \scriptfont\bffam=\sevenbf
   \scriptscriptfont\bffam=\fivebf
  \def\tt{\fam\ttfam\tentt}%
  \let\sltt=\tensltt
  \textfont\ttfam=\tentt
  \scriptfont\ttfam=\seventt
  \def\oldstyle{\fam\@ne\teni}%
  \normalbaselineskip=12pt
  \def\bigfences{\textfont3=\elevenex}%
  \let\big=\tenbig
  \let\Big=\tenBig
  \let\bigg=\tenbigg
  \let\Bigg=\tenBigg
  \setbox\strutbox=\hbox{\vrule height8.5pt depth3.5pt width\z@}%
  \setbox\ush=\hbox{$\partial$}\setbox\ush=\hbox{\lower.6ex\hbox{\rotu\ush}}%
  \bitmapsize=10pt \def\normalepsfsize##1##2{##1}%
  \def\cnj{\mathbin{\vcenter{\hbox to.7777em{%
              \hfil\epsfbox{\figdir/ch7a.0}\hfil}}}}%
  \def\scnj{\mathbin{\vcenter{\hbox to.7777em{%
              \hfil\epsfbox{\figdir/ch7a.1}\hfil}}}}%
  \let\adbcfont=\eightrm
  \let\mc=\ninerm % for slightly smaller caps
  \let\boldit=\tenbi
  \let\ii=\tenii
  \def\MF{{\manfnt META}\-{\manfnt FONT}}%
  \normalbaselines\rm} 

\def\thbegin#1. {\medbreak\noindent {\bf#1.}\xskip\ignorespaces} %%% thbegin 2006. 1.1.

%%%\numberwithin{equation}{subsubsection}  %%% 2006. 1. 10. 
\renewcommand\theequation{\@arabic\c@equation}  %%% 2006. 1. 7. BVIC
%\numberwithin{equation}{subsubsection}  %%% 2006. 1. 10.

\font\twelvett=cmtt12  \hyphenchar\twelvett=-1  %% inhibit hyphenation in tt 2005. 12. 23.

%%% XXX
\def\xskip{\hskip 7pt plus 3pt minus 4pt} %%% xskip 2006. 1. 1.

%% Vesszo section by BVIC: 2006.01.02.
\newcommand{\@mmsectionformat}[2] {
\let\@tempseccntformat\@seccntformat
\let\@seccntformat\@modsectionformat
\csname #1\endcsname{#2}
\let\@seccntformat\@tempseccntformat
}

\newcommand{\mmsection}[1] {
\@mmsectionformat{section}{#1}
}

\newcommand{\mmsubsection}[1] {
\@mmsectionformat{subsection}{#1}
}


%%%
%%% CSZ ASSEMBLY PROGRAMJAI  2006. január 3.
%%%
\newcounter{assprnum}[subsection]
\setcounter{assprnum}{1}

\newcommand{\komment}[1]{\multicolumn{4}{@{}l}{\texttt{#1}}}
\newcommand{\cimkeutop}[1]{\multicolumn{3}{@{}l}{\texttt{#1}}}
\newcommand{\cimkeut}[1]{\multicolumn{2}{@{}l}{\texttt{#1}}}
\newcommand{\opkomm}[2]{\multicolumn{2}{l}{\texttt{#1}\qquad\textnormal{#2}}}
\newcommand{\assembly}[1]{\assass{#1}}
\newcommand{\assemblynum}[1]{%
\assass{#1} \hfill (\theassprnum)\stepcounter{assprnum}}
\newcommand{\assass}[1]{%
\vspace*{2mm}\indent
$\begin{array}[c]{@{}>{\ttfamily}p{1.25cm}>{\ttfamily}p{.8cm}>{\ttfamily}p{2cm}%
p{6cm}}
#1 \ \slug
\end{array}$}

\newcommand{\sorkomment}[1]{\multicolumn{4}{l}{\texttt{#1}}}
\newcommand{\sorcimkeutop}[1]{\multicolumn{3}{l}{\texttt{#1}}}
\newcommand{\sorcimkeut}[1]{\multicolumn{2}{l}{\texttt{#1}}}
\newcommand{\soropkomm}[2]{\multicolumn{2}{l}{\texttt{#1}\qquad\textnormal{#2}}}
\newcommand{\sorassembly}[1]{%
\vspace*{2mm}\noindent
$\begin{array}[c]{@{}>{\itshape}p{2.7mm}>{\ttfamily}p{1.22cm}>{\ttfamily}p{.8cm}%
>{\ttfamily}p{2cm}p{6cm}}
#1 \ \slug
\end{array}$}

%%%
%%%  KÁSA ZOLI JELE A BIZONYÍTÁS VÉGÉN   2007. szeptember 15.
%%%
%%%\renewcommand{\slug}{\hfill \Box}
%%%\renewcommand{\slug}{\hfill \blacksquare}
