summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-04-28 20:06:19 +0000
committerKarl Berry <karl@freefriends.org>2024-04-28 20:06:19 +0000
commitc0d30cb2ee79016673b2d4621587146f65a5cb63 (patch)
treed0af4af6b7e12ad1a04c2719170f27e74e4d9d12 /Master/texmf-dist/doc/latex
parent7ad18b307895db5a96d3a35150c5d92314231f60 (diff)
huaz (28apr24)
git-svn-id: svn://tug.org/texlive/trunk@71112 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex')
-rw-r--r--Master/texmf-dist/doc/latex/huaz/README2
-rw-r--r--Master/texmf-dist/doc/latex/huaz/huaz.pdfbin323827 -> 358059 bytes
-rw-r--r--Master/texmf-dist/doc/latex/huaz/huaz.tex709
3 files changed, 607 insertions, 104 deletions
diff --git a/Master/texmf-dist/doc/latex/huaz/README b/Master/texmf-dist/doc/latex/huaz/README
index b37490a04a4..4e8306629f1 100644
--- a/Master/texmf-dist/doc/latex/huaz/README
+++ b/Master/texmf-dist/doc/latex/huaz/README
@@ -14,7 +14,7 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is Tibor Tomacs.
+The Current Maintainer of this work is Tibor Tómács.
This work consists of the files
diff --git a/Master/texmf-dist/doc/latex/huaz/huaz.pdf b/Master/texmf-dist/doc/latex/huaz/huaz.pdf
index fe31b1cfad3..9a7ee91180a 100644
--- a/Master/texmf-dist/doc/latex/huaz/huaz.pdf
+++ b/Master/texmf-dist/doc/latex/huaz/huaz.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/huaz/huaz.tex b/Master/texmf-dist/doc/latex/huaz/huaz.tex
index a9bb258ad64..4c539cbdd45 100644
--- a/Master/texmf-dist/doc/latex/huaz/huaz.tex
+++ b/Master/texmf-dist/doc/latex/huaz/huaz.tex
@@ -1,7 +1,7 @@
%%
%% `huaz.tex' documentation of the huaz package
%%
-%% Copyright 2022 by Tibor Tomacs
+%% Copyright 2022-2024 by Tibor Tómács
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -13,24 +13,30 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Tibor Tomacs.
+%% The Current Maintainer of this work is Tibor Tómács.
%%
\documentclass[12pt]{article}
-\usepackage{listings,xcolor,lmodern,xurl}
-\usepackage[pdfstartview=FitH,colorlinks,allcolors=teal,bookmarksnumbered]{hyperref}
-\usepackage[a4paper,top=1in,bottom=1.2in]{geometry}
+\usepackage[a4paper,top=1in,bottom=1in]{geometry}
+\usepackage{listings,xcolor,lmodern,xurl,multicol}
+\usepackage[
+ pdfstartview=FitH,
+ colorlinks,
+ allcolors=teal,
+ bookmarksnumbered,
+ bookmarksopen,
+ ]{hyperref}
\usepackage[T1]{fontenc}
-\PassOptionsToPackage{defaults=hu-min}{magyar.ldf}
+\PassOptionsToPackage{defaults=hu-min,labelitems=unchanged}{magyar.ldf}
\usepackage[english,magyar]{babel}
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt}
\lstset{literate={<}{{$\langle$}}1{>}{{$\rangle$}}1
- {ö}{{\"o}}1{ü}{{\"u}}1{ó}{{\'o}}1{é}{{\'e}}1{á}{{\'a}}1{í}{{\'i}}1}
+ {ö}{{\"o}}1{ő}{{\H o}}1{ü}{{\"u}}1{ó}{{\'o}}1{é}{{\'e}}1{á}{{\'a}}1{í}{{\'i}}1}
\lstnewenvironment{examplelst}{\lstset{
aboveskip=\bigskipamount,
-basicstyle=\footnotesize\color{blue!70!black}\ttfamily,
+basicstyle=\color{blue!70!black}\ttfamily,
backgroundcolor=\color{black!3},
rulecolor=\color{black!15},
frame=trbl,
@@ -60,83 +66,121 @@ keepspaces]}
\def\huaz{\textbf{\sffamily hu\color{gray}az}}
+\def\labelenumi{\textbf{\theenumi.}}
+
\begin{document}
-\title{The \huaz\ package\\
- {\large v1.2 (2024/04/20)}}
+\title{The \huaz\ package\\{\large v2.0 (2024/04/28)}}
\author{Tibor Tómács\\
- {\normalsize\href{email:tomacs.tibor@gmail.com}{\nolinkurl{tomacs.tibor@gmail.com}}}}
+ {\normalsize\href{email:tomacs.tibor@gmail.com}{\nolinkurl{tomacs.tibor@gmail.com}}}}
\date{}
\maketitle
\begin{otherlanguage}{english}
\begin{abstract}
-In Hungarian there are two definite articles, \emph{``a''} and \emph{``az''}, which are determined by the pronunciation of the subsequent word. The definite article is \emph{``az''}, if the first phoneme of the pronounced word is a vowel, otherwise it is \emph{``a''}.
-The \huaz\ package helps the user to insert automatically the correct definite article for cross-references and other commands containing text. Thus, if these change, the definite articles will also change accordingly.
+In Hungarian there are two definite articles, \emph{``a''} and \emph{``az''}, which are determined by the pronunciation of the subsequent word.
+The definite article is \emph{``az''}, if the first phoneme of the pronounced word is a vowel, otherwise it is \emph{``a''}.
+
+The \huaz\ package helps the user to insert automatically the correct definite article for cross-references and other commands containing text.
+Thus, if these change, the definite articles will also change accordingly.
-\medskip
-\emph{The documentation is in Hungarian, because only Hungarian-speaking users are interested.}
+{The documentation is in Hungarian, because only Hungarian-speaking users are interested.}
\end{abstract}
\end{otherlanguage}
\section{Bevezetés}
-A magyar nyelvben a határozott névelő egy szó előtt aszerint \emph{,,a''} vagy \emph{,,az''}, hogy a szó kiejtve mássalhangzóval vagy magánhangzóval kezdődik. Például \emph{,,a szék''} vagy \emph{,,az asztal''}. Ez egyszerűnek tűnik, de gondoljon a következő esetekre:
+A magyar nyelvben a határozott névelő egy szó előtt aszerint \emph{,,a''} vagy \emph{,,az''}, hogy a szó kiejtve mássalhangzóval vagy magánhangzóval kezdődik.
+Például \emph{,,a szék''} vagy \emph{,,az asztal''}.
+Ez egyszerű szabály, de írásban összetett vizsgálatot igényel.
+Itt felsorolunk néhány nehézséget:
\begin{itemize}
-\item Például ha oldalszámra akar hivatkozni, akkor a \verb|\pageref| parancsot szoktuk használni. Ha ez elé akar határozott névelőt rakni, akkor nem mindegy, hogy mi az oldalszám. Például \emph{,,az~1.~oldal''}, \emph{,,a~2.~oldal''}, \emph{,,az~5.~oldal''}, \emph{,,a~10.~oldal''}. Így egyáltalán nem biztos, hogy az ,,\verbinline|a \pageref{!<kulcs>!}|'' kód megfelelő eredményt ad. Hasonló a probléma minden kereszthivatkozás esetén (\verb|\ref|, \verb|\pageref|, \verb|\eqref|, \verb|\cite|).
-
-\item Az is fontos, hogy egy kifejezés római szám vagy sem. Például \emph{,,az~V.~fejezet''}, ha \emph{V} római szám, azaz 5 a jelentése. Ugyanakkor \emph{,,a~V.~fejezet''}, ha \emph{V} betűt jelöl vagy alfanumerikus szám esetén a 22 értéket (\emph{V} az angol ábécében a 22.~betű).
-
-\item Néhány mássalhangzó speciális tulajdonságú. Például \emph{,,az M betű''}, de \emph{,,a Magyar Közlöny''}; \emph{,,az Ny betű''}, de \emph{,,a Nyugdíjfolyósító Igazgatóság''}; stb.
+\item
+Ha oldalszámra akarunk hivatkozni, akkor a \verb|\pageref| parancsot szoktuk használni.
+Ha ez elé kell határozott névelőt rakni, akkor nem mindegy, hogy mi az oldalszám.
+Például \emph{,,az~1.~oldal''}, \emph{,,a~2.~oldal''}, \emph{,,az~5.~oldal''}, \emph{,,a~10.~oldal''}.
+Így egyáltalán nem biztos, hogy az ,,\verbinline|a \pageref{!<kulcs>!}|'' kód megfelelő eredményt ad.
+Hasonló a probléma minden kereszthivatkozás esetén (\verb|\ref|, \verb|\pageref|, \verb|\eqref|, \verb|\cite|).
+
+\item
+Az is fontos, hogy egy kifejezés római szám vagy sem.
+Például \emph{,,az~V.~fejezet''}, ha \emph{V} római szám, azaz 5 a jelentése.
+Ugyanakkor \emph{,,a~V.~fejezet''}, ha \emph{V} betűt jelöl vagy alfanumerikus szám esetén a 22 értéket (\emph{V} az angol ábécében a 22.~betű).
+
+\item
+Néhány mássalhangzó speciális tulajdonságú.
+Például \emph{,,az M betű''}, de \emph{,,a Magyar Közlöny''}; \emph{,,az Ny betű''}, de \emph{,,a Nyugdíjfolyósító Igazgatóság''}; stb.
\end{itemize}
Először megemlítünk két eddigi megoldást a határozott névelők automatikus kezelésére, kiemelve azok hibáit és hiányosságait.
\subsection{A magyar.ldf}
-Egyik lehetőség a \texttt{babel} csomag \texttt{magyar} opcióját beállító \texttt{magyar.ldf} fájl használata. Ennek teljes dokumentációja elérhető innen: \url{https://math.bme.hu/latex/magyarldf-doc.pdf}.
+Egyik lehetőség a \texttt{babel} csomag \texttt{magyar} opcióját beállító \texttt{magyar.ldf} fájl használata.
+Ennek teljes dokumentációja elérhető innen: \url{https://math.bme.hu/latex/magyarldf-doc.pdf}.
-Az ebben definiált \verb|\az|, \verb|\aref|, \verb|\apageref|, \verb|\acite|, stb. parancsok alapvetően jól használhatóak, de van néhány fontos hiba, melyek a \huaz\ csomag megírását motiválták:
+Az ebben definiált \verb|\az|, \verb|\aref|, \verb|\apageref|, \verb|\acite|, stb.~parancsok alapvetően jól használhatóak, de van néhány fontos hiba, melyek a \huaz\ csomag megírását motiválták:
\begin{itemize}
-\item Az \verb|\eqref| parancsnak nincs névelős verziója. Helyette az \verbinline|\aref({!<kulcs>!})| használható, de ez dőlt betűs környezetben nem álló betűs eredményt ad, mint az \verb|\eqref| esetében. Másik lehetőség, ami ezt a problémát megoldja, az \verbinline|\az{\eqref{!<kulcs>!}}| parancs. Ugyanakkor egyik megoldás sem kezeli a római számozású vagy a \verb|\tag| paranccsal címkézett egyenleteket.
-
-\item Az \verbinline|\az{\ref{!<kulcs>!}}| és \verbinline|\az{\pageref{!<kulcs>!}}| nem kezeli a római számozású hivatkozásokat.
-
-\item Az előző hiba akkor is fennáll, amikor az \verb|\az| parancsban egy római számmal kezdődő szöveg van. Például \verb|\az{V.~osztály}| eredménye \emph{,,a V.~osztály''}.
-
-\item Amennyiben nem kereszthivatkozáshoz, hanem egy szöveghez, vagy valamilyen szöveget tároló parancshoz kell automatikus névelő, akkor az ékezetes betűket UTF-8 kódolás esetén rosszul detektálja. A hiba alapvető oka, hogy az UTF-8 kódolású karakterek nem egy, hanem több bájton vannak kódolva, amit a \texttt{magyar.ldf} nem vesz figyelembe. Ezért például \verb|\az{ágy}| eredménye \emph{,,a ágy''}, mert nem betűként érzékeli az \emph{,,á''} betűt, így azt sem tudja, hogy ez magánhangzó. Meglepő módon \verb|\az{száz}| eredménye \emph{,,az száz''} is rossz. Ennek az az oka, hogy mivel számára az \emph{,,á''} nem betű, ezért az \emph{,,sz''} betűt különállónak tekinti, ami elé valóban \emph{,,az''} kell.
-
-\item Hibának ugyan nem tekinthető, de mindenesetre kényelmetlen, hogy például \verb|\az{\textbf{N betű}}| esetén a \verb|\textbf| parancs megzavarja a szó betűinek detektálását, így a névelő helytelenül \emph{,,a''} lesz.
+\item
+Az \verb|\eqref| parancsnak nincs névelős verziója.
+Helyette az \verbinline|\aref({!<kulcs>!})| használható, de ez dőlt betűs környezetben nem álló betűs eredményt ad, mint az \verb|\eqref| esetében.
+Másik lehetőség, ami ezt a problémát megoldja, az \verbinline|\az{\eqref{!<kulcs>!}}| parancs.
+Ugyanakkor egyik megoldás sem kezeli a római számozású vagy a \verb|\tag| paranccsal címkézett egyenleteket.
+
+\item
+Az \verbinline|\az{\ref{!<kulcs>!}}| és \verbinline|\az{\pageref{!<kulcs>!}}| nem kezeli a római számozású hivatkozásokat.
+
+\item
+Az előző hiba akkor is fennáll, amikor az \verb|\az| parancsban egy római számmal kezdődő szöveg van.
+Például \verb|\az{V.~osztály}| eredménye \emph{,,a V.~osztály''}.
+
+\item
+Amennyiben nem kereszthivatkozáshoz, hanem egy szöveghez, vagy valamilyen szöveget tároló parancshoz kell automatikus névelő, akkor az ékezetes betűket UTF-8 kódolás esetén rosszul detektálja.
+A hiba alapvető oka, hogy az UTF-8 kódolású karakterek nem egy, hanem több bájton vannak kódolva, amit a \texttt{magyar.ldf} nem vesz figyelembe.
+Ezért például \verb|\az{ágy}| eredménye \emph{,,a ágy''}, mert nem betűként érzékeli az \emph{,,á''} betűt, így azt sem tudja, hogy ez magánhangzó.
+Meglepő módon \verb|\az{száz}| eredménye \emph{,,az száz''} is rossz.
+Ennek az az oka, hogy mivel számára az \emph{,,á''} nem betű, ezért az \emph{,,sz''} betűt különállónak tekinti, ami elé valóban \emph{,,az''} kell.
+
+\item
+Például \verb|\az{\textbf{N betű}}| esetén a \verb|\textbf| parancs megzavarja a szó betűinek detektálását, így a névelő helytelenül \emph{,,a''} lesz.
\end{itemize}
\subsection{A nevelok csomag}
-2015-ben készült a \texttt{nevelok} csomag, ami szintén az automatikus határozott névelők kezelésére készült. A szerzője valószínűleg nem ismerte a \texttt{magyar.ldf} már akkor létező lehetőségeit, ezért készíthette ezt a jóval kevesebbet tudó csomagot.
-
-2022-ben telepített \TeX-rendszeren tesztelve azt tapasztaltam, hogy nem kezeli az ékezetes betűk semmilyen formáját és sok esetben ad kereszthivatkozásoknál is rossz névelőt. Az utóbbinak az az oka, hogy közvetlenül a \verb|\ref| parancsot vizsgálja, ami nem kifejthető parancs.
-
-Ezen dokumentáció elkészültéig semmilyen fejlesztése nem történt. Jelen állapotában nem javasolt ennek a csomagnak a használata.
+A \texttt{nevelok} csomag szintén az automatikus határozott névelők kezelésére készült.
+Nem kezeli az ékezetes betűk semmilyen formáját és sok esetben ad kereszthivatkozásoknál rossz névelőt.
+Az utóbbinak az az oka, hogy közvetlenül a \verb|\ref| és \verb|\pageref| parancsokat vizsgálja, amelyek nem kifejthetőek.
+Jelenlegi állapotában nem ajánlott használni ezt a csomagot.
\subsection{A \texorpdfstring{\huaz}{huaz} csomag célja és működése}
-A \huaz\ csomag célja segíteni a felhasználót abban, hogy a kereszthivatkozásokhoz és szöveget tartalmazó parancsokhoz automatikusan beszúrja a megfelelő határozott névelőt. Így ha ezek változnak, akkor a határozott névelők is megfelelően változnak.
+A \huaz\ csomag célja segíteni a felhasználót abban, hogy a kereszthivatkozásokhoz és szöveget tartalmazó parancsokhoz automatikusan beszúrja a megfelelő határozott névelőt.
+Így ha ezek változnak, akkor a határozott névelők is megfelelően változnak.
A másik cél ezt úgy megtenni, hogy a \texttt{magyar.ldf} és a \texttt{nevelok.sty} hibáit és hiányosságait korrigálja illetve pótolja.
A \huaz\ csomag a következő esetekben illeszt az adott szöveg elé ,,az'' névelőt:
\begin{enumerate}
-\item Az első betű magánhangzó (legyen az kis- vagy nagybetű, ékezetes vagy sem, magyar vagy sem, UTF-8, ISO-8859-2 karakterrel vagy repülő ékezettel megadva).
+\item
+Az első betű magánhangzó (legyen az kis- vagy nagybetű, ékezetes vagy sem, magyar vagy sem, UTF-8, ISO-8859-2 karakterrel vagy repülő ékezettel megadva).
-\item Az első betű olyan kis vagy nagy mássalhangzó, amit önmagában kiejtve magánhangzóval kezdünk (például F, L, M, stb.) míg a második karakter (ha van) nem betű, hanem szám, írásjel vagy szóköz. Például ,,M-10''. Ide soroltunk néhány nem magyar ékezetes mássalhangzót is. Például ,,Ň.1''.
+\item
+Az első betű olyan kis vagy nagy mássalhangzó, amit önmagában kiejtve magánhangzóval kezdünk (például F, L, M, stb.) míg a második karakter (ha van) nem betű, hanem szám, írásjel vagy szóköz.
+Például ,,M-10''.
+Ide soroltunk néhány nem magyar ékezetes mássalhangzót is. Például ,,Ň.1''.
-\item Az első két karakter egy olyan kis vagy nagy kétjegyű mássalhangzó, amit önmagában kiejtve magánhangzóval kezdünk (például Ny, Ly, Sz, stb.) míg a harmadik karakter (ha van) nem betű, hanem szám, írásjel vagy szóköz. Például ,,NY betű''.
+\item
+Az első két karakter egy olyan kis vagy nagy kétjegyű mássalhangzó, amit önmagában kiejtve magánhangzóval kezdünk (például Ny, Ly, Sz, stb.) míg a harmadik karakter (ha van) nem betű, hanem szám, írásjel vagy szóköz.
+Például ,,NY betű''.
-\item Az első karakter 5.
+\item
+Az első karakter 5.
-\item 1, 4, 7 vagy 10 jegyű számmal kezdődik és az első számjegy 1 (egy, ezer, egymillió, egymilliárd).
+\item
+1, 4, 7 vagy 10 jegyű számmal kezdődik és az első számjegy 1 (egy, ezer, egymillió, egymilliárd).
\end{enumerate}
Ha a szó elején található karakterek római számként is értelmezhetőek, akkor megválasztható, hogy azt konvertálja arab számra és a névelőt ahhoz határozza meg vagy sem. Például ,,XII/A'' esetén.
@@ -147,21 +191,26 @@ A \huaz\ csomagot a szokott módon kell betölteni:
\commandinline|\usepackage{huaz}|
-Csomagopciók nincsenek. UTF-8 (\texttt{utf8}) és ISO-8859-2 (\texttt{latin2}) kódolású forrásfájl esetén működik, de a repülő ékezeteket is jól kezeli. Kompatibilis a \texttt{pdflatex}, \texttt{xelatex} és \texttt{lualatex} fordítókkal is. Például \texttt{pdflatex} fordítóval a következő betöltés megfelelő:
+Csomagopciók nincsenek.
+UTF-8 (\texttt{utf8}) és ISO-8859-2 (\texttt{latin2}) kódolású forrásfájl esetén működik, de a repülő ékezeteket is jól kezeli.
+Kompatibilis a \texttt{pdflatex}, \texttt{xelatex} és \texttt{lualatex} fordítókkal is.
+Például \texttt{pdflatex} fordítóval a következő betöltés megfelelő:
\begin{examplelst}
\documentclass{article}
\usepackage[T1]{fontenc}
-\usepackage{huaz}
\PassOptionsToPackage{defaults=hu-min}{magyar.ldf}
\usepackage[magyar]{babel}
+\usepackage{huaz}
\begin{document}
...
\end{document}
\end{examplelst}
A \texttt{hyperref} csomaggal is kompatibilis, így az is betölthető a \huaz\ mellé.
-A \texttt{magyar.ldf} \texttt{defaults=hu-min} opciója bekapcsol néhány olyan opciót is, amely elérhetővé teszi a saját automatikus névelőparancsait. Ezt ugyan nem kötelező, de hasznos a \huaz\ csomag használata esetén kikapcsolni. Ehhez a
+A \texttt{magyar.ldf} \texttt{defaults=hu-min} opciója bekapcsol néhány olyan opciót is, amely elérhetővé teszi a saját automatikus névelőparancsait.
+Ezeket nem kötelező, de hasznos a \huaz\ csomag használata esetén kikapcsolni.
+Ehhez a
\begin{examplelst}
\PassOptionsToPackage{defaults=hu-min}{magyar.ldf}
\end{examplelst}
@@ -171,74 +220,114 @@ sor helyett használja a következőt:
shortrefcmds=no,hunnewlabel=no}{magyar.ldf}
\end{examplelst}
-A \texttt{xelatex} és \texttt{lualatex} fordítók esetén \texttt{babel} helyett a
+A \texttt{xelatex} és \texttt{lualatex} fordítók esetén \texttt{babel} helyett a
\begin{examplelst}
\usepackage{polyglossia}
\setdefaultlanguage{hungarian}
\end{examplelst}
is használható.
-A \huaz\ csomag felhasználja az \texttt{xstring}, \texttt{refcount} és \texttt{iftex} csomagok szolgáltatásait, így ezek is betöltődnek. Másrészt felhasználásra kerül néhány 2021. október 10-én bevezetett változás a \LaTeX\ kerneljében, így csak az ezután telepített rendszereken működik megfelelően a csomag.
+A \huaz\ csomag felhasználja az \texttt{xstring}, \texttt{refcount} és \texttt{iftex} csomagok szolgáltatásait, így ezek is betöltődnek.
+Másrészt felhasználásra kerül néhány 2021. október 10-én bevezetett változás a \LaTeX\ kerneljében, így csak az ezután telepített rendszereken működik megfelelően a csomag.
\subsection{Parancsok}
\commandinline|\az{!<szöveg>!}|
-A \verbinline|!<szöveg>!| elé a megfelelő határozott névelő kerül kisbetűs alakban. Ha a \verbinline|!<szöveg>!| elején római számként értelmezhető karakterek vannak, akkor a névelő az arab megfelelőjéhez igazodik. Például
+A \verbinline|!<szöveg>!| elé a megfelelő határozott névelő kerül kisbetűs alakban.
+Ha a \verbinline|!<szöveg>!| római számként is értelmezhető (pl.~,,XII''), esetleg azt írásjel vagy szóköz követi (pl.~,,XII.A''), akkor a névelő az arab megfelelőjéhez igazodik.
+Például
\begin{examplelst}
Idén \az{V.B}~osztály rendezi a farsangot.
\end{examplelst}
eredménye ,,Idén az V.B~osztály rendezi a farsangot.''.
+De
+\begin{examplelst}
+\az{VB} \az{V6}
+\end{examplelst}
+eredménye ,,a VB a V6'' lesz, mert a ,,V'' után betű illetve szám következik, ezért nem 5-nek értelmezi, hanem V betűnek.
-A \verbinline|!<szöveg>!| lehet szöveget tároló parancs is. Például
+A \verbinline|!<szöveg>!| lehet szöveget tároló parancs is.
+Például
\begin{examplelst}
\newcommand{\osztaly}{V.B}
Idén \az{\osztaly}~osztály rendezi a farsangot.
\end{examplelst}
eredménye ,,Idén az V.B~osztály rendezi a farsangot.''.
-A \verbinline|!<szöveg>!| tartalmazhat szövegformázó parancsokat is (bővebben lásd \az{\ref{subsec-kapocs}}.~alszakaszban). Például
+A \verbinline|!<szöveg>!| tartalmazhat szövegformázó parancsokat is (bővebben lásd \az{\ref{subsec-ignoralt-parancsok}}.~alszakaszban).
+Például
\begin{examplelst}
\newcommand{\osztaly}{V.B}
Idén \az{\textbf{\osztaly}}~osztály rendezi a farsangot.
\end{examplelst}
eredménye ,,Idén az \textbf{V.B}~osztály rendezi a farsangot.''.
-A \verbinline|!<szöveg>!| lehet standard kereszthivatkozás is (\verb|\ref|, \verb|\pageref|, \verb|\eqref|, \verb|\cite|). Például
+A \verbinline|!<szöveg>!| lehet standard kereszthivatkozás is (\verb|\ref|, \verb|\ref*|, \verb|\pageref|, \verb|\pageref*|, \verb|\eqref|, \verb|\refeq|, \verb|\cite|).
+Például
\begin{examplelst}
\section{Cím}\label{seca}
\section{Cím}\label{secb}
-\az{\ref{seca}}.~szakaszban, \az{\textbf{\ref{secb}}}.~szakaszban
+\az{\ref{seca}}.~szakaszban,
+\az{\textbf{\ref{secb}}}.~szakaszban
\end{examplelst}
-eredménye ,,az 1. szakaszban, a \textbf{2}. szakaszban''. Ha a \texttt{section} számláló kiírása római számozásra van állítva a \verb|\renewcommand{\thesection}{\Roman{section}}| paranccsal, akkor az előző kód eredménye ,,az I. szakaszban, a \textbf{II}. szakaszban''.
+eredménye ,,az 1. szakaszban, a \textbf{2}. szakaszban''.
+Ha a \texttt{section} számláló kiírása római számozásra van állítva a \verb|\renewcommand{\thesection}{\Roman{section}}| paranccsal, akkor az előző kód eredménye ,,az I. szakaszban, a \textbf{II}. szakaszban''.
\subsubsection*{Korlátozások}
-\begin{enumerate}
-\item A \verbinline|!<szöveg>!| elején csak a \verb|\ref|, \verb|\ref*|, \verb|\pageref|, \verb|\pageref*|, \verb|\eqref|, \verb|\cite| kereszthivatkozásokkal működik helyesen.
-\item A \verbinline|!<szöveg>!| elején a \verb|\cite| parancs jól működik a \texttt{natbib} csomaggal és \texttt{bibtex} esetében is. A \texttt{biblatex} csomag használata esetén akkor működik jól, ha a \texttt{style} vagy \texttt{citestyle} opciók értéke \texttt{numeric}, \texttt{numeric-verb}, \texttt{alphabetic}, \texttt{alphabetic-verb} vagy \texttt{authoryear}. Akkor is jól működik, ha nem adjuk meg a \texttt{style} illetve \texttt{citestyle} opciók egyikét sem.
-
-\item A pdf vázlatfájába nem lehet \verb|\az| paranccsal szöveget beilleszteni. Tehát például a következő kód nem ad helyes vázlatfát, ha \texttt{hyperref} vagy \texttt{bookmark} csomagot használ:
+\begin{enumerate}
+\item
+A \verbinline|!<szöveg>!| elején csak a \verb|\ref|, \verb|\ref*|, \verb|\pageref|, \verb|\pageref*|, \verb|\eqref|, \verb|\refeq|, \verb|\cite| kereszthivatkozásokkal működik helyesen.
+(Az \verb|\eqref| az \texttt{amsmath}, a \verb|\refeq| pedig a \texttt{mathtools} csomaggal van definiálva.)
+
+\item
+A \verbinline|!<szöveg>!| elején a \verb|\cite| parancs jól működik a \texttt{natbib} csomaggal és \texttt{bibtex} esetében is.
+A \texttt{biblatex} csomag használata esetén akkor működik jól, ha a \texttt{style} vagy \texttt{citestyle} opciók értéke \texttt{numeric}, \texttt{numeric-verb}, \texttt{alphabetic}, \texttt{alphabetic-verb} vagy \texttt{authoryear}.
+Akkor is jól működik, ha nem adjuk meg a \texttt{style} illetve \texttt{citestyle} opciók egyikét sem.
+
+\item
+A pdf vázlatfájába nem lehet \verb|\az| paranccsal szöveget beilleszteni.
+Tehát például a következő kód nem ad helyes vázlatfát, ha \texttt{hyperref} vagy \texttt{bookmark} csomagot használ (bár a cím a szövegben, fejlécben és a tartalomjegyzékben jól fog megjelenni).
\begin{examplelst}
\section{...\az{\ref{sec}}...}
\end{examplelst}
-Viszont a cím a szövegben, fejlécben és a tartalomjegyzékben jól fog megjelenni. A problémát a később ismertetett \verb|\azsaved| paranccsal lehet megoldani.
+A problémát a később ismertetett \verb|\azsaved| illetve \verb|\aznotshow| parancsokkal lehet megoldani.
\end{enumerate}
\commandinline|\az*{!<szöveg>!}|
Ugyanaz mint a \verb|*| nélküli esetben, de ekkor csak a névelő kerül kiírásra.
+Például, ha az \texttt{amsmath} és \texttt{hyperref} csomagok használata mellett szeretnénk egy link nélküli egyenlethivatkozást, akkor ezt (mivel nincs \verb|\eqref*| definiálva) például így tehetjük meg:
+\begin{examplelst}
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \textup{(\ref*{eq})} egyenletet!}
+\end{examplelst}
+Szebb lenne a mondat határozott névelővel a képlet száma előtt, de most nem ad feltétlenül helyes eredményt az
+\begin{examplelst}
+\az{\textup{(\ref*{eq})}}
+\end{examplelst}
+kód, mert az első karakter a \texttt{(} jel lesz, és nem a képlet száma.
+Így minden esetben ,,a'' lesz a névelő.
+Ezt a következő módon javíthatjuk:
+\begin{examplelst}
+\az*{\ref{eq}} \textup{(\ref*{eq})}
+\end{examplelst}
\commandinline|\azv{!<szöveg>!}|
-Ugyanaz mint \verbinline|\az{!<szöveg>!}|, de ha a \verbinline|!<szöveg>!| elején római számként értelmezhető karakterek vannak, akkor a névelő nem az arab megfelelőjéhez igazodik, hanem mint egyszerű karakterekhez. Például
+Ugyanaz mint \verbinline|\az{!<szöveg>!}|, de ha a \verbinline|!<szöveg>!| elején római számként értelmezhető karakterek vannak, akkor a névelő nem az arab megfelelőjéhez igazodik, hanem mint egyszerű karakterekhez.
+Például
\begin{examplelst}
\renewcommand{\thesection}{\Alph{section}}
\setcounter{section}{21}
\section{Cím}\label{sec}
\az{\ref{sec}}.~szakaszban, \azv{\ref{sec}}.~szakaszban
\end{examplelst}
-eredménye ,,az V.~szakaszban, a V.~szakaszban'', mert az első esetben a V betűt római számként értelmezte, a második esetben pedig nem. Mivel most alfanumerikus számra van beállítva a \texttt{section} számláló, ezért a második eset a jó.
+eredménye ,,az V.~szakaszban, a V.~szakaszban'', mert az első esetben a V betűt római számként értelmezte, a második esetben pedig nem.
+Mivel most alfanumerikus számra van beállítva a \texttt{section} számláló, ezért a második eset a jó.
\commandinline|\azv*{!<szöveg>!}|
@@ -249,7 +338,8 @@ Ugyanaz mint a \verb|*| nélküli esetben, de ekkor csak a névelő kerül kiír
\commandinline|\Azv{!<szöveg>!}|\\
\commandinline|\Azv*{!<szöveg>!}|
-Ugyanaz, mint a kis ,,\texttt{a}'' betűvel kezdődő parancsok, de ekkor a határozott névelő nagybetűvel fog kezdődni, ami mondatok elején szükséges. Például
+Ugyanaz, mint a kis ,,\texttt{a}'' betűvel kezdődő parancsok, de ekkor a határozott névelő nagybetűvel kezdődik, ami mondatok elején szükséges.
+Például
\begin{examplelst}
\section{Cím}\label{sec}
\Az{\ref{sec}}.~szakaszban áttekintjük a téma rövid történetét.
@@ -258,15 +348,17 @@ eredménye {,,Az 1.~szakaszban áttekintjük a téma rövid történetét.''}.
\commandinline|\azsaved|
-Amikor kiadja az előző parancsok bármelyikét, akkor generálódik egy kifejthető \verb|\azsaved| parancs is. Ennek eredménye az a határozott névelő amelyik a szó elé kell.
+Az előző parancsok bármelyikét használva, generálódik egy kifejthető \verb|\azsaved| parancs.
+Ennek eredménye az a határozott névelő amelyik a szó elé kell.
-Amikor \texttt{hyperref} vagy \texttt{bookmark} csomagot használ, akkor ahogyan azt korábban említettük, a következő kód esetén a cím, fejléc, tartalomjegyzék rendben lesz, de a pdf vázlatfája nem:
+Amikor \texttt{hyperref} vagy \texttt{bookmark} csomagot használ, akkor (ahogyan azt korábban említettük) a következő kód esetén a cím, fejléc, tartalomjegyzék rendben lesz, de a pdf vázlatfája nem:
\begin{examplelst}
\section{\Az{\ref{sec}}...}
\end{examplelst}
Ez az \verb|\azsaved| paranccsal a következő módon oldható meg:
\begin{examplelst}
-\section{\texorpdfstring{\Az{\ref{sec}}...}{\azsaved~\ref{sec}...}}
+\section{%
+ \texorpdfstring{\Az{\ref{sec}}...}{\azsaved~\ref{sec}...}}
\end{examplelst}
Ekkor a vázlatfába az
\begin{examplelst}
@@ -276,52 +368,136 @@ kód kerül, ami már helyes eredményt ad.
\commandinline|\aznotshow|
-Az előző probléma a \verb|\texorpdfstring| helyett ezzel a paranccsal egyszerűbben is megoldható. Ugyanis ezt helyezve az \verb|\az| (vagy bármelyik verziója) elé, az eredmény nem jelenik meg, csak az \verb|\azsaved| generálódik le a megfelelő határozott névelővel. Így
+Az előző probléma a \verb|\texorpdfstring| helyett ezzel a paranccsal egyszerűbben is megoldható.
+Ugyanis ezt helyezve az \verb|\az| (vagy bármelyik verziója) elé, az eredmény nem jelenik meg, csak az \verb|\azsaved| generálódik le a megfelelő határozott névelővel.
+Így
\begin{examplelst}
\aznotshow\Az{\ref{sec}}
\section{\azsaved~\ref{sec}...}
\end{examplelst}
szintén helyes eredményt ad a vázlatfában is.
+\commandinline|\azseparator{!<kód>!}|
+
+Ezzel lehet megadni, hogy a határozott névelő és a \verbinline|!<szöveg>!| mivel legyen elválasztva.
+Alapértelmezetten ez a törhetetlen normál méretű szóköz, ami
+\begin{examplelst}
+\azseparator{~}
+\end{examplelst}
+módon lett beállítva.
+Ha át akarjuk állítani például törhető szóközre akkor ez
+\begin{examplelst}
+\azseparator{ }
+\end{examplelst}
+módon tehető meg.
+
\subsection{Rövidítések}
-A \verb|\ref|, \verb|\pageref|, \verb|\eqref|, \verb|\cite| kereszthivatkozások (csak a \verb|*| nélküli verziók) elé nem csak az előbbi parancsokkal tehetünk határozott névelőt, mert mindegyiknek van egy rövidített egyparancsos verziója is:
+A \verb|\ref|, \verb|\ref*|, \verb|\eqref|, \verb|\refeq|, \verb|\pageref|, \verb|\pageref*|, \verb|\cite| kereszthivatkozások elé nem csak az előbbi parancsokkal tehetünk határozott névelőt, ugyanis mindegyiknek van egy rövidített egyparancsos verziója is:
\commandinline|\aref{!<kulcs>!} | $\equiv$ \verbinline|\az{\ref{!<kulcs>!}}|\\
-\commandinline|\aref*{!<kulcs>!} | $\equiv$ \verbinline|\az*{\ref{!<kulcs>!}}|\\
+\commandinline|\aref*{!<kulcs>!} | $\equiv$ \verbinline|\az{\ref*{!<kulcs>!}}|\\
\commandinline|\avref{!<kulcs>!} | $\equiv$ \verbinline|\azv{\ref{!<kulcs>!}}|\\
-\commandinline|\avref*{!<kulcs>!}| $\equiv$ \verbinline|\azv*{\ref{!<kulcs>!}}|
+\commandinline|\avref*{!<kulcs>!}| $\equiv$ \verbinline|\azv{\ref*{!<kulcs>!}}|
\commandinline|\aeqref{!<kulcs>!} | $\equiv$ \verbinline|\az{\eqref{!<kulcs>!}}|\\
-\commandinline|\aeqref*{!<kulcs>!} | $\equiv$ \verbinline|\az*{\eqref{!<kulcs>!}}|\\
-\commandinline|\aveqref{!<kulcs>!} | $\equiv$ \verbinline|\azv{\eqref{!<kulcs>!}}|\\
-\commandinline|\aveqref*{!<kulcs>!}| $\equiv$ \verbinline|\azv*{\eqref{!<kulcs>!}}|
+\commandinline|\aveqref{!<kulcs>!} | $\equiv$ \verbinline|\azv{\eqref{!<kulcs>!}}|
+
+\commandinline|\arefeq{!<kulcs>!} | $\equiv$ \verbinline|\az{\refeq{!<kulcs>!}}|\\
+\commandinline|\avrefeq{!<kulcs>!} | $\equiv$ \verbinline|\azv{\refeq{!<kulcs>!}}|
\commandinline|\apageref{!<kulcs>!} | $\equiv$ \verbinline|\az{\pageref{!<kulcs>!}}|\\
-\commandinline|\apageref*{!<kulcs>!} | $\equiv$ \verbinline|\az*{\pageref{!<kulcs>!}}|\\
+\commandinline|\apageref*{!<kulcs>!} | $\equiv$ \verbinline|\az{\pageref*{!<kulcs>!}}|\\
\commandinline|\avpageref{!<kulcs>!} | $\equiv$ \verbinline|\azv{\pageref{!<kulcs>!}}|\\
-\commandinline|\avpageref*{!<kulcs>!}| $\equiv$ \verbinline|\azv*{\pageref{!<kulcs>!}}|
+\commandinline|\avpageref*{!<kulcs>!}| $\equiv$ \verbinline|\azv{\pageref*{!<kulcs>!}}|
\commandinline|\acite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!} | $\equiv$ \verbinline|\az{\cite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!}}|\\
-\commandinline|\acite*[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!} | $\equiv$ \verbinline|\az*{\cite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!}}|\\
-\commandinline|\avcite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!} | $\equiv$ \verbinline|\azv{\cite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!}}|\\
-\commandinline|\avcite*[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!}| $\equiv$ \verbinline|\azv*{\cite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!}}|
+\commandinline|\avcite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!} | $\equiv$ \verbinline|\azv{\cite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!}}|
-A parancsok nevében az első ,,\texttt{a}'' betű kicserélhető ,,\texttt{A}'' betűre. Ekkor a határozott névelő nagybetűvel fog kezdődni, ami mondatok elején szükséges:
+A parancsok nevében az első ,,\texttt{a}'' betű kicserélhető ,,\texttt{A}'' betűre.
+Ekkor a határozott névelő nagybetűvel kezdődik, ami mondatok elején szükséges:
-\commandinline|\Aref \Avref \Aeqref \Aveqref \Apageref \Avpageref \Acite \Avcite|
+\commandinline|\Aref \Aref* \Avref \Avref*|\\
+\commandinline|\Aeqref \Aveqref|\\
+\commandinline|\Arefeq \Avrefeq|\\
+\commandinline|\Apageref \Apageref* \Avpageref \Avpageref*|\\
+\commandinline|\Acite \Avcite|
Például
\begin{examplelst}
\section{Cím}\label{seca}
\section{Cím}\label{secb}
-\Aref{seca}.~és \aref{secb}.~szakaszban
+\Aref{seca}.~és \aref{secb}.~szakaszokban
\end{examplelst}
-eredménye ,,Az 1. és a 2. szakaszban''.
-
-\subsection{A huaz kapocs}\label{subsec-kapocs}
-
-Amikor a \huaz\ csomag megkeresi a megfelelő határozott névelőt, akkor a szövegben található \verb|\ref|, \verb|\ref*|, \verb|\pageref|, \verb|\pageref*|, \verb|\eqref|, \verb|\cite| kereszthivatkozásokat lecseréli a kifejthető verziójukra, továbbá a kifejtés során egy adott listában található formázó parancsokat (\verb|\emph|, \verb|\textbf|, \verb|\small|, stb.) figyelmen kívül hagyja. Emiatt lehetséges, hogy például a következő kódok működnek:
+eredménye ,,Az 1. és a 2. szakaszokban''.
+
+\subsection{Ignorált parancsok}\label{subsec-ignoralt-parancsok}
+
+Amikor a \huaz\ csomag megkeresi a megfelelő határozott névelőt, akkor a szövegben a következő parancsokat figyelmen kívül hagyja:
+
+\begin{multicols}{4}
+\verb|\bfseries|\\
+\verb|\color|\\
+\verb|\emph|\\
+\verb|\em|\\
+\verb|\enquote|\\
+\verb|\fbox|\\
+\verb|\fontencoding|\\
+\verb|\fontfamily|\\
+\verb|\fontseries|\\
+\verb|\fontshape|\\
+\verb|\fontsize|\\
+\verb|\footnotesize|\\
+\verb|\framebox|\\
+\verb|\Huge|\\
+\verb|\huge|\\
+\verb|\itshape|\\
+\verb|\LARGE|\\
+\verb|\Large|\\
+\verb|\large|\\
+\verb|\lowercase|\\
+\verb|\makebox|\\
+\verb|\MakeLowercase|\\
+\verb|\MakeUppercase|\\
+\verb|\mbox|\\
+\verb|\mdseries|\\
+\verb|\normalfont|\\
+\verb|\normalsize|\\
+\verb|\rmfamily|\\
+\verb|\scriptsize|\\
+\verb|\scshape|\\
+\verb|\selectfont|\\
+\verb|\sffamily|\\
+\verb|\slshape|\\
+\verb|\small|\\
+\verb|\sscshape|\\
+\verb|\swshape|\\
+\verb|\textbf|\\
+\verb|\textcolor|\\
+\verb|\textit|\\
+\verb|\textmd|\\
+\verb|\textnormal|\\
+\verb|\textqq|\\
+\verb|\textrm|\\
+\verb|\textsc|\\
+\verb|\textsf|\\
+\verb|\textsl|\\
+\verb|\textssc|\\
+\verb|\textsw|\\
+\verb|\texttt|\\
+\verb|\textulc|\\
+\verb|\textup|\\
+\verb|\tiny|\\
+\verb|\told|\\
+\verb|\ttfamily|\\
+\verb|\ulcshape|\\
+\verb|\underline|\\
+\verb|\uppercase|\\
+\verb|\upshape|\\
+\verb|\usefont|
+\end{multicols}
+
+Emiatt lehetséges, hogy a következő kódok jól működnek:
\begin{examplelst}
\newcommand{\osztaly}{V.B}
Idén \az{\textbf{\osztaly}}~osztály rendezi a farsangot.
@@ -329,52 +505,379 @@ Idén \az{\textbf{\osztaly}}~osztály rendezi a farsangot.
\begin{examplelst}
\section{Cím}\label{sec}
-\az{\textbf{\ref{sec}}}
+\az{\footnotesize\ref{sec}}
\end{examplelst}
-De a következő kód is jól fog működni:
+De ez is helyes eredményt ad:
\begin{examplelst}
\newcommand{\myfont}[1]{{\usefont{T1}{yv1d}{m}{n}#1}}
-\newcommand{\osztaly}{X.A~osztály}
+\newcommand{\osztaly}{V.A~osztály}
\az{\myfont{\osztaly}}
\end{examplelst}
-Ez nem azért van, mert a \verb|\myfont| is szerepel ebben az adott listában, hanem azért, mert a \verb|\myfont| kifejtésében található \verb|\usefont| benne van.
+Azért kapunk helyes eredményt, mert a \verb|\myfont| kifejtésében található \verb|\usefont| szerepel az előző listában. Ha a \verb|\myfont| erős parancsként lett volna definiálva, akkor már nem működne megfelelően az előző kód (lásd később). Ebben az esetben a \verb|\myfont| parancsot is fel kell venni a listára.
+
+\commandinline|\huazignorecmd[!<opció>!]{!<parancs>!}|
+
+Az ignoráló listát ezzel lehet bővíteni.
+A \verbinline|!<parancs>!| helyére az ignorálandó parancsot kell írni az argumentumai és \texttt{*} nélkül.
+Az \verbinline|!<opció>!| \texttt{0} és \texttt{9} közötti egész szám lehet.
+Amennyiben ezektől eltérő a beírt \verbinline|!<opció>!|, akkor erre figyelmeztet a fordító.
-\commandinline|\AddToHook{huaz}{!<kód>!}|
+A használata három esetre bontható.
+
+\paragraph{1. eset}
+%
+Opció nélkül használva, a \verbinline|!<parancs>!| a névelő megállapításakor törlődik, de az utána írt \texttt{*}, opció vagy argumentum nem.
+Deklarációs parancsok esetén jól használható.
+Például a \verb|\tiny| parancs így lett besorolva a listába:
+\begin{examplelst}
+\huazignorecmd{\tiny}
+\end{examplelst}
+Ugyanez alkalmazható abban az esetben is, ha a \verbinline|!<parancs>!|-nak nincs csillagos verziója sem opciója, továbbá az első \verb|{ }| jelek közé írt argumentuma a figyelembe vett szöveg. Például a \verb|\textrm| ilyen, ezért így lett besorolva:
+\begin{examplelst}
+\huazignorecmd{\textrm}
+\end{examplelst}
-Amennyiben olyan formázó parancsot használ, ami még ezen a listán nem található, akkor az a felhasználó által is bővíthető. Például a \texttt{shadowtext} csomag \verb|\shadowtext| parancsa nincs a listában, ezért a következő kód eredménye hibás lesz:
+A \texttt{shadowtext} csomag \verb|\shadowtext| parancsa nincs a listában, ezért a következő kód eredménye hibás lesz:
\begin{examplelst}
\newcommand{\osztaly}{X.A~osztály}
\az{\shadowtext{\osztaly}}
\end{examplelst}
-A listára az
+A listára
\begin{examplelst}
-\AddToHook{huaz}{\def\shadowtext{}}
+\huazignorecmd{\shadowtext}
\end{examplelst}
-módon vehető fel. Ezzel a névelő megállapítása során a \verb|\shadowtext| parancs nem jelent semmit. Tehát a következő kód már megfelelően működik:
+módon vehető fel, mert a \verb|\shadowtext| parancsnak sem opciója sem csillagos verziója nincs, továbbá egyetlen argumentuma a szöveg.
+Tehát a következő kód már megfelelően működik:
\begin{examplelst}
-\AddToHook{huaz}{\def\shadowtext{}}
+\huazignorecmd{\shadowtext}
\newcommand{\osztaly}{X.A~osztály}
\az{\shadowtext{\osztaly}}
\end{examplelst}
-Az előző eset a \texttt{huaz} kapocs nélkül így is megoldható:
+Megjegyezzük, hogy az előző eset így is megoldható:
\begin{examplelst}
\newcommand{\osztaly}{X.A~osztály}
\az*{\osztaly}~\shadowtext{\osztaly}
\end{examplelst}
-Ha a \verb|\shadowtext| az \verb|\osztaly| definíciójában szerepel, akkor a \texttt{huaz} kapocs használata nem kerülhető meg:
+Ha a \verb|\shadowtext| az \verb|\osztaly| definíciójában szerepel, akkor nem tudjuk megkerülni a \verb|\huazignorecmd| használatát az előző módon:
\begin{examplelst}
-\AddToHook{huaz}{\def\shadowtext{}}
+\huazignorecmd{\shadowtext}
\newcommand{\osztaly}{\shadowtext{X.A~osztály}}
\az{\osztaly}
\end{examplelst}
-Ha a formázó parancs erős, akkor a \texttt{huaz} kapocs használata szintén nem kerülhető meg. Például
+
+\paragraph{2. eset}
+%
+Ha az \verbinline|!<opció>!| \texttt{0}, akkor a \verbinline|!<parancs>!| és az utána található első \verb|{| jelig található kódok mindegyike ignorálódik a névelő megállapításakor.
+Tehát például
+\begin{examplelst}
+\huazignorecmd[0]{\foo}
+\end{examplelst}
+esetén a
+\begin{examplelst}
+\foo{...} \foo*{...} \foo[...]{...} \foo*[...]{...}
+\end{examplelst}
+kódokban a
+\begin{examplelst}
+\foo \foo* \foo[...] \foo*[...]
+\end{examplelst}
+mindegyike figyelmen kívül lesz hagyva a névelő megállapításakor.
+A \verb|\makebox| például
+\begin{examplelst}
+\huazignorecmd[0]{\makebox}
+\end{examplelst}
+módon lett besorolva, ezért például
+\begin{examplelst}
+\makebox[2cm][s]{szöveg}
+\end{examplelst}
+esetén a \verb|\makebox[2cm][s]| rész törlődik és csak a ,,szöveg'' lesz figyelembe véve.
+
+
+Ha a formázó parancs erős, akkor a \verb|\huazignorecmd| használata nem kerülhető meg még akkor sem, ha a listán szereplő parancsokkal épül fel.
+Például
\begin{examplelst}
-\AddToHook{huaz}{\def\myfont{}}
-\DeclareRobustCommand{\myfont}[1]{{\usefont{T1}{yv1d}{m}{n}#1}}
-\renewcommand{\thesection}{\myfont{\arabic{section}}}
+\huazignorecmd[0]{\myfont}
+\DeclareRobustCommand{\myfont}[2][cmr]{{\usefont{T1}{#1}{m}{n}#2}}
+\renewcommand{\thesection}{\myfont[yv1d]{\arabic{section}}}
\section{Cím}\label{sec}
\aref{sec}
\end{examplelst}
+Ebben a példában nem hagyható el a \texttt{[0]}, mert a \verb|\myfont|-nak van opciója.
+
+\paragraph{3. eset}
+%
+Ha az \verbinline|!<opció>!| \texttt{1} és \texttt{9} közötti egész szám, akkor a \verb|\huazignorecmd| parancs a névelő megállapítása során a \verbinline|!<parancs>!|-ot és az utána következő első \verb|{| jelig tartó kódokat ignorálja, továbbá ezután az első \verbinline|!<opció>!| darab \verb|{ }| jelek közé írt részeket szintén figyelmen kívül hagyja.
+Tehát például
+\begin{examplelst}
+\huazignorecmd[1]{\foo}
+\end{examplelst}
+esetén a
+\begin{examplelst}
+\foo{...} \foo*{...} \foo[...]{...} \foo*[...]{...}
+\end{examplelst}
+kódok mindegyike figyelmen kívül lesz hagyva a névelő megállapításakor.
+Például a \verb|\textcolor| parancs
+\begin{examplelst}
+\huazignorecmd[1]{\textcolor}
+\end{examplelst}
+módon lett a listába sorolva, így a
+\begin{examplelst}
+\textcolor[RGB]{20,30,40}{szöveg}
+\end{examplelst}
+parancsban a
+\begin{examplelst}
+\textcolor[RGB]{20,30,40}
+\end{examplelst}
+kódrész ignorálva lesz, és csak a ,,\texttt{szöveg}'' kerül vizsgálatra a névelő megállapításakor.
+Ha a
+\begin{examplelst}
+\huazignorecmd[2]{\foo}
+\end{examplelst}
+parancsot használjuk, akkor a
+\begin{examplelst}
+\foo{...}{...} \foo*{...}{...}
+\foo[...]{...}{...} \foo*[...]{...}{...}
+\end{examplelst}
+kódok mindegyike figyelmen kívül lesz hagyva a névelő megállapításakor.
+Például a \verb|\fontsize| parancs
+\begin{examplelst}
+\huazignorecmd[2]{\fontsize}
+\end{examplelst}
+módon lett a listába sorolva, így a
+\begin{examplelst}
+\fontsize{14pt}{14pt}
+\end{examplelst}
+parancs figyelmen kívül lesz hagyva a névelő megállapításakor.
+
+
+
+
+\subsection{A kereszthivatkozások kifejthető verziói}
+
+Ha a szöveg elején kereszthivatkozás van, akkor a határozott névelő megállapítása előtt a kereszthivatkozás parancsát le kell cserélni annak kifejthető verziójára.
+A \texttt{refcount} csomag két ilyen parancsot definiál:
+A \verb|\getrefnumber| a \verb|\ref|, \verb|\ref*|, \verb|\eqref|, \verb|\refeq| esetén
+használható, a \verb|\getpagerefnumber| pedig a \verb|\pageref| és \verb|\pageref*| esetén.
+
+\commandinline|\huazrefcmd{!<parancs>!}|
+
+Ezzel a paranccsal elérhető, hogy a \verbinline|!<parancs>!| helyére beírt parancsot és annak csillagos verzióját a határozott névelő megállapítása során a \verb|\getrefnumber| paranccsal helyettesítse.
+
+A \verb|\ref|, \verb|\ref*|, \verb|\eqref|, \verb|\refeq| parancsok így lettek besorolva a \huaz\ csomagban:
+\begin{examplelst}
+\huazrefcmd{\ref}
+\huazrefcmd{\eqref}
+\huazrefcmd{\refeq}
+\end{examplelst}
+Ezzel már az \verb|\eqref*| és \verb|\refeq*| is működne, de ezek a csillagos verziók nincsenek definiálva a csillag nélküli verziókat definiáló \texttt{amsmath} illetve \texttt{mathtools} csomagokban. Ezt mi is pótolhatjuk, amire \aref{subsec-eqref}.~alszakaszban láthatunk megoldást.
+
+\commandinline|\huazpagerefcmd{!<parancs>!}|
+
+Ezzel a paranccsal elérhető, hogy a \verbinline|!<parancs>!| helyére beírt parancsot és annak csillagos verzióját a határozott névelő megállapítása során a \verb|\getpagerefnumber| paranccsal helyettesítse.
+
+A \verb|\pageref| és \verb|\pageref*| parancsok így lettek besorolva a \huaz\ csomagban:
+\begin{examplelst}
+\huazrefcmd{\pageref}
+\end{examplelst}
+
+Ezekre láthatunk egy alkalmazást \aref{subsec-autoref}.~alszakaszban.
+
+\subsection{Az \texttt{\textbackslash autoref} és \texttt{\textbackslash autopageref} parancsok}\label{subsec-autoref}
+
+Ezeket a parancsokat a \texttt{hyperref} csomag definiálja.
+Ezekkel hivatkozva egy címkére, nem csak a sorszám, hanem a sorszámozott egység neve (szakasz, alszakasz, oldal, stb.) is megjelenik link formájában.
+Ezeknek léteznek csillagos verzióik is, melyeknek ugyanaz a hatásuk, de nem generálnak linket.
+
+Magyar nyelvű dokumentumokban nem lehet közvetlenül alkalmazni, mert az angol szabály szerint ,,1.~szakasz'' helyett ,,szakasz~1'' lesz az eredménye a következőnek:
+\begin{examplelst}
+\section{Cím}\label{sec}
+\autoref*{sec}
+\end{examplelst}
+Ezért a használatához először ,,magyarosítani kell'' a következő kóddal a \texttt{hyperref} betöltése után a preambulumban:
+\begin{examplelst}
+\usepackage{regexpatch}
+\makeatletter
+\xpatchcmd{\HyRef@autosetref}{\HyRef@currentHtag}{}{}{}
+\xpatchcmd{\HyRef@autosetref}{\null}
+ {\null.~\HyRef@currentHtag}{}{}
+\xpatchcmd*{\HyRef@testreftype}{~}{}{}{}
+\makeatother
+\RenewDocumentCommand{\autopageref}{sm}{%
+ \IfBooleanTF{#1}
+ {\pageref*{#2}.~oldal}
+ {\hyperref[{#2}]{\pageref*{#2}.~oldal}}}
+\end{examplelst}
+Ezután már ,,1.~szakasz'' lesz az eredmény.
+
+Ha az így módosított \verb|\autoref|, \verb|\autoref*|, \verb|\autopageref|, \verb|\autopageref*| parancsokhoz automatikus határozott névelőt szeretnénk, akkor írjuk be a következőket a \huaz\ betöltése után:
+\begin{examplelst}
+\huazrefcmd{\autoref}
+\huazpagerefcmd{\autopageref}
+\end{examplelst}
+Ezután a következő kód eredménye ,,Az 1. szakasz az 1. oldalon kezdődik.'' lesz:
+\begin{examplelst}
+\section{Cím}\label{sec}
+\Az{\autoref*{sec}} \az{\autopageref*{sec}on} kezdődik.
+\end{examplelst}
+
+\subsection{Az \texttt{\textbackslash eqref*} és \texttt{\textbackslash refeq*} parancsok}\label{subsec-eqref}
+
+A \verb|\ref| és \verb|\pageref| parancsoknak definiált a csillagos verziójuk is, amely alapesetben nem különbözik a normál verziótól, de a \texttt{hyperref} csomaggal használva a csillag nélküli verzió linket generál, míg a csillagos nem.
+
+Az \texttt{amsmath} csomag által definiált \verb|\eqref| a \texttt{hyperref} csomaggal együtt használva szintén generál linket, de ennek nincs definiálva csillagos verziója, így ekkor a link nélküli verzió nem érhető el közvetlenül.
+További gond az ilyen link nélküli egyenlethivatkozás előtti automatikus névelő megadása.
+
+Négy lehetséges megoldást mutatunk.
+
+\begin{enumerate}
+\item
+A \texttt{NoHyper} környezet használatával:
+\begin{examplelst}
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \begin{NoHyper}\aeqref{eq}\end{NoHyper}
+ egyenletet!}
+\end{examplelst}
+
+\item
+Az \verb|\az*| parancs használatával:
+\begin{examplelst}
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \az*{\ref{eq}} \textup{(\ref*{eq})} egyenletet!}
+\end{examplelst}
+
+\item
+Az \verb|\eqrefstyle| parancs definiálásával és a \verb|\huazignorecmd| paranccsal, amely az előzőnek egy kényelmesebben használható verziója:
+\begin{examplelst}
+\makeatletter
+\newcommand{\eqrefstyle}[1]{\textup{\tagform@{#1}}}
+\makeatother
+\huazignorecmd{\eqrefstyle}
+
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \az{\eqrefstyle{\ref*{eq}}} egyenletet!}
+\end{examplelst}
+
+\item
+Ebben az esetben definiáljuk az \verb|\eqref| csillagos verzióját (az \texttt{amsmath} betöltése után), amely nem generál linket a \texttt{hyperref} csomaggal együtt használva:
+\begin{examplelst}
+\makeatletter
+\DeclareDocumentCommand{\eqref}{ s m }{%
+ \textup{\tagform@{%
+ \IfBooleanTF{#1}{\ref*{#2}}{\ref{#2}}%
+ }}%
+}
+\makeatother
+\end{examplelst}
+Ezután a
+\begin{examplelst}
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \az{\eqref*{eq}} egyenletet!}
+\end{examplelst}
+kód helyes eredményt ad, mert a \huaz\ csomagban nem csak az \verb|\eqref|, hanem az \verb|\eqref*| is a kifejthető \verb|\getrefnumber| parancsra lesz kicserélve a határozott névelő meghatározásánál.
+\end{enumerate}
+
+Ugyanez a probléma a \texttt{mathtools} csomag által definiált \verb|\refeq| és a \texttt{hyperref} csomag együttes használata esetében.
+
+Az előző négy megoldás mindegyikét lehet alkalmazni megfelelő módosításokkal:
+\begin{enumerate}
+\item
+A \texttt{NoHyper} környezet használatával:
+\begin{examplelst}
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \begin{NoHyper}\arefeq{eq}\end{NoHyper}
+ egyenletet!}
+\end{examplelst}
+
+\item
+Az \verb|\az*| parancs használatával:
+\begin{examplelst}
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \az*{\ref{eq}} \textup{\ref*{eq}} egyenletet!}
+\end{examplelst}
+
+\item
+A \verb|\refeqstyle| parancs definiálásával:
+\begin{examplelst}
+\newcommand{\refeqstyle}[1]{\textup{#1}}
+
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \az{\refeqstyle{\ref*{eq}}} egyenletet!}
+\end{examplelst}
+Itt nincs szükség a \verb|\huazignorecmd{\refeqstyle}| használatára.
+
+\item
+A \verb|\refeq*| parancs definiálásával:
+\begin{examplelst}
+\DeclareDocumentCommand{\refeq}{ s m }{%
+ \textup{%
+ \IfBooleanTF{#1}{\ref*{#2}}{\ref{#2}}%
+ }%
+}
+\end{examplelst}
+Ezután a
+\begin{examplelst}
+\begin{equation}\label{eq}
+a=b
+\end{equation}
+\emph{Lásd \az{\refeq*{eq}} egyenletet!}
+\end{examplelst}
+kód helyes eredményt ad, mert a \huaz\ csomagban nem csak a \verb|\refeq|, hanem a \verb|\refeq*| is a kifejthető \verb|\getrefnumber| parancsra lesz kicserélve a határozott névelő meghatározásánál.
+\end{enumerate}
+
+\subsection{Parancsok átdefiniálása a határozott névelő megállapításakor}
+
+A \verb|\huazignorecmd|, \verb|\huazrefcmd| és \verb|\huazpagerefcmd| parancsok is a címben szereplő funkciót látják el, de speciális esetekben.
+Ezek általánosított verziója a következő parancs:
+
+\commandinline|\huazdefcmd{!<átdefiniáló kód>!}|
+
+Az \verbinline|!<átdefiniáló kód>!| helyére egy parancsnak azt a definícióját kell írni, amelynek a határozott névelő megállapítása során kell érvényesülnie.
+Például a következő kódokban az egymást követő sorok ekvivalensek:
+\begin{examplelst}
+\huazignorecmd{\tiny}
+\huazdefcmd{\def\tiny{}}
+\end{examplelst}
+
+\begin{examplelst}
+\huazignorecmd[0]{\makebox}
+\huazdefcmd{\def\makebox#1#{}}
+\end{examplelst}
+
+\begin{examplelst}
+\huazignorecmd[1]{\textcolor}
+\huazdefcmd{\def\textcolor#1#{\@gobble}}
+\end{examplelst}
+
+\begin{examplelst}
+\huazrefcmd{\ref}
+\huazdefcmd{\def\ref#1#{\getrefnumber}}
+\end{examplelst}
+
+Alkalmazásként tekintsük a következő kódot, amely hibával fog fordulni:
+\begin{examplelst}
+\newcommand{\tananyag}{\LaTeX\ alapjai}
+A mai óra anyaga \az{\tananyag}.
+\end{examplelst}
+A megfelelő eredményhez a \verb|\LaTeX| parancsot át kell definiálni a névelő megállapításakor:
+\begin{examplelst}
+\huazdefcmd{\def\LaTeX{latex}}
+\newcommand{\tananyag}{\LaTeX\ alapjai}
+
+A mai óra anyaga \az{\tananyag}.
+\end{examplelst}
\end{document} \ No newline at end of file