texlive[71180] Master/texmf-dist: huaz (5may24)

commits+karl at tug.org commits+karl at tug.org
Sun May 5 21:42:43 CEST 2024


Revision: 71180
          https://tug.org/svn/texlive?view=revision&revision=71180
Author:   karl
Date:     2024-05-05 21:42:43 +0200 (Sun, 05 May 2024)
Log Message:
-----------
huaz (5may24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/huaz/huaz.pdf
    trunk/Master/texmf-dist/doc/latex/huaz/huaz.tex
    trunk/Master/texmf-dist/tex/latex/huaz/huaz.sty

Modified: trunk/Master/texmf-dist/doc/latex/huaz/huaz.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/huaz/huaz.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/huaz/huaz.tex	2024-05-05 19:42:36 UTC (rev 71179)
+++ trunk/Master/texmf-dist/doc/latex/huaz/huaz.tex	2024-05-05 19:42:43 UTC (rev 71180)
@@ -18,45 +18,56 @@
 \documentclass[12pt]{article}
 \usepackage[a4paper,top=1in,bottom=1in]{geometry}
 \usepackage{listings,xcolor,lmodern,xurl,multicol}
+\usepackage[T1]{fontenc}
+\PassOptionsToPackage{
+  defaults=hu-min,
+  labelitems=unchanged,
+  }{magyar.ldf}
+\usepackage[english,magyar]{babel}
 \usepackage[
   pdfstartview=FitH,
   colorlinks,
-  allcolors=teal,
+  allcolors=purple,
   bookmarksnumbered,
   bookmarksopen,
   ]{hyperref}
-\usepackage[T1]{fontenc}
-\PassOptionsToPackage{defaults=hu-min,labelitems=unchanged}{magyar.ldf}
-\usepackage[english,magyar]{babel}
+\usepackage{upquote}
+
 \setlength{\parindent}{0pt}
 \setlength{\parskip}{6pt}
 
+\def\codefont{\usefont{T1}{pcrs}{m}{n}}
+
 \lstset{literate={<}{{$\langle$}}1{>}{{$\rangle$}}1
-  {ö}{{\"o}}1{ő}{{\H o}}1{ü}{{\"u}}1{ó}{{\'o}}1{é}{{\'e}}1{á}{{\'a}}1{í}{{\'i}}1}
+  {ű}{{\H u}}1{ö}{{\"o}}1{ő}{{\H o}}1{ü}{{\"u}}1
+  {ó}{{\'o}}1{é}{{\'e}}1{á}{{\'a}}1{í}{{\'i}}1}
 
-\lstnewenvironment{examplelst}{\lstset{
-aboveskip=\bigskipamount,
-basicstyle=\color{blue!70!black}\ttfamily,
-backgroundcolor=\color{black!3},
-rulecolor=\color{black!15},
-frame=trbl,
-framesep=5pt,
-columns=fullflexible,
-xleftmargin=5.4pt,
-xrightmargin=5.4pt, 
-keepspaces}}{}
+\lstnewenvironment{examplelst}{%
+  \lstset{
+    aboveskip=\bigskipamount,
+    basicstyle=\color{blue!70!black}\small\codefont,
+    backgroundcolor=\color{black!3},
+    rulecolor=\color{black!15},
+    frame=trbl,
+    framesep=5pt,
+    columns=fullflexible,
+    xleftmargin=5.4pt,
+    xrightmargin=5.4pt, 
+    keepspaces}}{}
 
-\newcommand{\commandinline}{\hspace*{-15mm}\lstinline[
-delim={[is][\color{green!50!black}\normalfont\small\sffamily]{!}{!}},
-basicstyle=\color{red!70!black}\normalfont\normalsize\ttfamily,
-columns=fullflexible,
-keepspaces]}
+\newcommand{\huazcmd}{\hspace*{-15mm}%
+  \lstinline[
+    delim={[is][\color{teal}\normalfont\small\sffamily]{!}{!}},
+    basicstyle=\color{magenta}\normalfont\small\codefont,
+    columns=fullflexible,
+    keepspaces]}
 
-\newcommand{\verbinline}{\lstinline[
-delim={[is][\color{green!50!black}\normalfont\small\sffamily]{!}{!}},
-basicstyle=\normalfont\normalsize\ttfamily,
-columns=fullflexible,
-keepspaces]}
+\newcommand{\code}{%
+  \lstinline[
+    delim={[is][\color{teal}\normalfont\small\sffamily]{!}{!}},
+    basicstyle=\normalfont\small\codefont,
+    columns=fullflexible,
+    keepspaces]}
 
 \makeatletter
 \def\@oddfoot{\hfill\textsf{\color{gray}\thepage}\hfill}
@@ -64,13 +75,29 @@
 \def\ps at plain{\def\@oddfoot{\hfill\textsf{\color{gray}\thepage}\hfill}}
 \makeatother
 
-\def\huaz{\textbf{\sffamily hu\color{gray}az}}
+\definecolor{hured}{RGB}{207,36,54}
+\definecolor{hugreen}{RGB}{69,113,79}
+\usepackage{contour}
+\def\huazlogo{%
+  {\contourlength{.8pt}\Huge
+  \sbox0{\contour{black!30}{\Huge\bfseries\sffamily\color{white}HUAZ}}%
+  \mbox{}%
+  \lower-\dimeval{2\ht0/3}%
+  \rlap{{\color{hured}\rule{\wd0}{\dimeval{\ht0/3}}}}%
+  {\color{hugreen}\rule{\wd0}{\dimeval{\ht0/3}}}%
+  \llap{\usebox0}}}
 
+\def\huaz{\textbf{\sffamily hu\itshape\color{gray}az}}
+
 \def\labelenumi{\textbf{\theenumi.}}
 
+\def\huqq#1{,,{\color{gray}#1}''}
+
+\def\paragraph#1{\par\bigskip\textbf{#1.}}
+
 \begin{document}
 
-\title{The \huaz\ package\\{\large v2.0 (2024/04/28)}}
+\title{\huazlogo\\ The \huaz\ package\\{\large v2.1 (2024/05/05)}}
 \author{Tibor Tómács\\
   {\normalsize\href{email:tomacs.tibor at gmail.com}{\nolinkurl{tomacs.tibor at gmail.com}}}}
 \date{}
@@ -78,103 +105,101 @@
 
 \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''}.
+There are two definite articles in Hungarian, ``a'' and ``az'', depending on the first sound of the word that follows. If the word begins with a vowel sound, the definite article is ``az'', otherwise it is ``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.
+The \huaz\ package helps the user to automatically insert the correct definite article for cross-references and other commands containing text.
+This way, if the number or text changes, the definite articles will change accordingly.
 
-{The documentation is in Hungarian, because only Hungarian-speaking users are interested.}
+The documentation of the \huaz\ package is in Hungarian, as it is assumed that 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''}.
+A magyar nyelvben a határozott névelő egy szó előtt aszerint \huqq{a} vagy \huqq{az}, hogy a szó kiejtve mássalhangzóval vagy magánhangzóval kezdődik.
+Például \huqq{a szék} vagy \huqq{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
-Ha oldalszámra akarunk hivatkozni, akkor a \verb|\pageref| parancsot szoktuk használni.
+Ha oldalszámra akarunk hivatkozni, akkor a \code|\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|).
+Például \huqq{az~1.~oldal}, \huqq{a~2.~oldal}, \huqq{az~5.~oldal}, \huqq{a~10.~oldal}.
+Így egyáltalán nem biztos, hogy az ,,\code|a \pageref{!<kulcs>!}|'' kód megfelelő eredményt ad.
+Hasonló a probléma minden kereszthivatkozás esetén (\code|\ref|, \code|\pageref|, \code|\eqref|, \code|\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ű).
+Például \huqq{az~V.~fejezet}, ha V római szám, azaz 5 a jelentése.
+Ugyanakkor \huqq{a~V.~fejezet}, ha V betűt jelöl vagy alfanumerikus szám esetén a 22 értéket (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.
+Például \huqq{a Magyar Közlöny} de \huqq{az M betű}; \huqq{a Nyugdíjfolyósító Igazgatóság} de \huqq{az Ny betű}; 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}
+\subsection{A \texttt{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.
+Egyik lehetőség a \code{babel} csomag \code{magyar} opcióját beállító \code{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 \code|\az|, \code|\aref|, \code|\apageref|, \code|\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.
+Az \code|\eqref| parancsnak nincs névelős verziója.
+Helyette az \code|\aref({!<kulcs>!})| használható, de ez dőlt betűs környezetben nem álló betűs eredményt ad, mint az \code|\eqref| esetében.
+Másik lehetőség, ami ezt a problémát megoldja, az \code|\az{\eqref{!<kulcs>!}}| parancs.
+Ugyanakkor egyik megoldás sem kezeli a római számozású vagy a \code|\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. 
+Az \code|\az{\ref{!<kulcs>!}}| és \code|\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''}.
+Az előző hiba akkor is fennáll, amikor az \code|\az| parancsban egy római számmal kezdődő szöveg van.
+Például \code|\az{V.~osztály}| eredménye \huqq{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.
+Amennyiben nem kereszthivatkozáshoz, hanem egy szöveghez, vagy valamilyen szöveget tároló parancshoz kell automatikus névelő, akkor az ékezetes betűket \texttt{UTF-8} kódolás esetén rosszul detektálja, mivel azok nem egy, hanem több bájton vannak kódolva, amit a \code{magyar.ldf} nem vesz figyelembe.
+Ezért például \code|\az{ágy}| eredménye \huqq{a ágy}, mert nem betűként érzékeli az \huqq{á} betűt, így azt sem tudja, hogy ez magánhangzó.
+Meglepő módon \code|\az{száz}| eredménye \huqq{az száz} is rossz.
+Ennek oka, hogy számára az \huqq{á} nem betű, ezért az \huqq{sz} betűt különállónak tekinti, ami elé valóban \huqq{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.
+Például \code|\az{\textbf{N betű}}| esetén a \code|\textbf| parancs megzavarja a szó betűinek detektálását, így a névelő helytelenül \huqq{a} lesz.
 \end{itemize}
 
-\subsection{A nevelok csomag}
+\subsection{A \texttt{nevelok} csomag}
 
-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.
+A \code{nevelok} csomag szintén a határozott névelők automatikus beillesztéséhez készült.
+Nem kezeli az ékezetes betűk semmilyen formáját és sok esetben ad kereszthivatkozásoknál rossz névelőt, ugyanis közvetlenül a \code|\ref| és \code|\pageref| parancsokat vizsgálja, amelyek nem kifejthetőek. 
+Ezért ennek a csomagnak a jelenlegi verzióját nem szabad használni!
 
 \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.
+A \huaz\ csomag segíti 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.
+Fontos cél volt ezt úgy megtenni, hogy a \code{magyar.ldf} és a \code{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:
+A \huaz\ csomag a következő esetekben illeszt az adott szöveg elé \huqq{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).
+Az első betű magánhangzó (legyen az kis- vagy nagybetű, ékezetes vagy sem, magyar vagy sem, \texttt{UTF-8}, \texttt{ISO-8859-2} karakterrel vagy ékezet paranccsal 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''.
+Például \huqq{M-10}.
+Ide soroltunk néhány nem magyar ékezetes mássalhangzót is.
+Például \huqq{Ň.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ű''.
+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 \huqq{SZ betű}.
 
 \item
 Az első karakter 5.
@@ -183,18 +208,16 @@
 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.
+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 \huqq{V. emelet} esetén.
 
 \section{A \texorpdfstring{\huaz}{huaz} csomag használata}
 
 A \huaz\ csomagot a szokott módon kell betölteni:
 
-\commandinline|\usepackage{huaz}|
+\huazcmd|\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ő:
+Kompatibilis a \code{latex}, \code{pdflatex}, \code{xelatex} és \code{lualatex} fordítókkal is.
+A \code{latex} és \code{pdflatex} fordítóval a következő betöltés megfelelő:
 
 \begin{examplelst}
 \documentclass{article}
@@ -206,21 +229,28 @@
  ...
 \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.
-Ezeket nem kötelező, de hasznos a \huaz\ csomag használata esetén kikapcsolni.
-Ehhez a
+Az ékezetes betűket \texttt{UTF-8} (\code{utf8}) és \texttt{ISO-8859-2} (\code{latin2}) kódolású forrásfájl esetén, illetve ékezet parancsokkal (\code|\'|, \code|\"|, \code|\H|, stb.) is jól kezeli.
+
+A \code{hyperref} csomaggal is kompatibilis, így az is betölthető a \huaz\ mellé.
+
+A \code{magyar.ldf} \code{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.
+Ha ezeket a \huaz\ csomag használata esetén ki akarja kapcsolni, akkor a
 \begin{examplelst}
 \PassOptionsToPackage{defaults=hu-min}{magyar.ldf}
 \end{examplelst}
 sor helyett használja a következőt:
 \begin{examplelst}
-\PassOptionsToPackage{defaults=hu-min,az=no,
-                      shortrefcmds=no,hunnewlabel=no}{magyar.ldf}
+\PassOptionsToPackage{
+  defaults=hu-min,
+  az=no,
+  shortrefcmds=no,
+  hunnewlabel=no
+  }{magyar.ldf}
 \end{examplelst}
+Ezt nem kell feltétlenül megtenni, mert a \huaz\ csomag átdefiniálja a \code{magyar.ldf} névelőparancsait függetlenül attól, hogy a \code{babel} előtt vagy után töltötte be.
 
-A \texttt{xelatex} és \texttt{lualatex} fordítók esetén \texttt{babel} helyett a
+A \code{xelatex} és \code{lualatex} fordítók esetén \code{babel} helyett a
 \begin{examplelst}
 \usepackage{polyglossia}
 \setdefaultlanguage{hungarian}
@@ -227,43 +257,43 @@
 \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 \code{xstring}, \code{refcount} és \code{iftex} csomagok szolgáltatásait, így ezek is betöltődnek.
+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>!}|
+\huazcmd|\az{!<szöveg>!}|
 
-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.
+A \code|!<szöveg>!| elé a megfelelő határozott névelő kerül kisbetűs alakban.
+Ha a \code|!<szöveg>!| római számként is értelmezhető (pl.~\huqq{XII}), esetleg azt írásjel vagy szóköz követi (pl.~\huqq{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.''.
+eredménye \huqq{Idén az~V.B~osztály rendezi a farsangot.}.
 De
 \begin{examplelst}
-\az{VB} \az{V6}
+\az{VB}, \az{V4}
 \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.
+eredménye \huqq{a~VB, a~V4} lesz, mert V után betű illetve szám következik, ezért nem 5-nek, hanem V betűnek értelmezi mindkét esetben.
 
-A \verbinline|!<szöveg>!| lehet szöveget tároló parancs is.
+A \code|!<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.''.
+eredménye \huqq{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-ignoralt-parancsok}}.~alszakaszban).
+A \code|!<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.''.
+eredménye \huqq{Idén az~\textbf{V.B}~osztály rendezi a farsangot.}.
 
-A \verbinline|!<szöveg>!| lehet standard kereszthivatkozás is (\verb|\ref|, \verb|\ref*|, \verb|\pageref|, \verb|\pageref*|, \verb|\eqref|, \verb|\refeq|, \verb|\cite|).
+A \code|!<szöveg>!| lehet kereszthivatkozás is.
 Például
 \begin{examplelst}
 \section{Cím}\label{seca}
@@ -271,34 +301,47 @@
 \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 \huqq{az~1.~szakaszban, a~\textbf{2}.~szakaszban}.
 
+Ha a \code{section} számláló kiírása római számozásra van állítva a
+\begin{examplelst}
+\renewcommand{\thesection}{\Roman{section}} 
+\end{examplelst}
+paranccsal, akkor az előző kód eredménye \huqq{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|\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.)
+A \code|!<szöveg>!| elején a \code|\ref|, \code|\ref*|, \code|\pageref|, \code|\pageref*|, \code|\eqref|, \code|\refeq| kereszthivatkozásokkal működik helyesen.
+Az \code|\eqref| az \code{amsmath}, a \code|\refeq| pedig a \code{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.
+A \code|!<szöveg>!| elején a \code|\cite| jól működik a  \code{natbib} csomaggal és \code{bibtex} esetében is.
 
+A \code{biblatex} csomaggal a \code|\cite|, \code|\citeauthor|, \code|\textcite|, \code|\citeyear| akkor működik jól, ha a \code{style} vagy \code{citestyle} opciók értéke:
+
+\code{numeric}\\
+\code{numeric-verb}\\
+\code{alphabetic}\\
+\code{alphabetic-verb}\\
+\code{authoryear}
+
+Akkor is jól működik, ha nem adjuk meg a \code{style} illetve \code{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).
+A pdf vázlatfájába nem lehet \code|\az| paranccsal szöveget beilleszteni.
+Tehát például a következő kód nem ad helyes vázlatfát, ha \code{hyperref} vagy \code{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}
-A problémát a később ismertetett \verb|\azsaved| illetve \verb|\aznotshow| parancsokkal lehet megoldani.
+A problémát a később ismertetett \code|\azsaved| illetve \code|\aznotshow| parancsokkal lehet megoldani.
 \end{enumerate}
 
-\commandinline|\az*{!<szöveg>!}|
+\huazcmd|\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:
+Ugyanaz mint a \code|*| nélküli esetben, de ekkor csak a névelő kerül kiírásra.
+Például, ha az \code{amsmath} és \code{hyperref} csomagok használata mellett szeretnénk egy link nélküli egyenlethivatkozást, akkor ezt (mivel nincs \code|\eqref*| definiálva) például így tehetjük meg:
 \begin{examplelst}
 \begin{equation}\label{eq}
 a=b
@@ -309,16 +352,16 @@
 \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ő.
+kód, mert az első karakter a \code{(} jel lesz, és nem a képlet száma.
+Így minden esetben \huqq{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>!}|
+\huazcmd|\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.
+Ugyanaz mint az \code|\az{!<szöveg>!}|, de ha a \code|!<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}}
@@ -326,60 +369,60 @@
 \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 \huqq{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 \code{section} számláló, ezért a második eset a jó.
 
-\commandinline|\azv*{!<szöveg>!}|
+\huazcmd|\azv*{!<szöveg>!}|
 
-Ugyanaz mint a \verb|*| nélküli esetben, de ekkor csak a névelő kerül kiírásra.
+Ugyanaz mint a \code|*| nélküli esetben, de ekkor csak a névelő kerül kiírásra.
 
-\commandinline|\Az{!<szöveg>!}|\\
-\commandinline|\Az*{!<szöveg>!}|\\
-\commandinline|\Azv{!<szöveg>!}|\\
-\commandinline|\Azv*{!<szöveg>!}|
+\huazcmd|\Az{!<szöveg>!}|\\
+\huazcmd|\Az*{!<szöveg>!}|\\
+\huazcmd|\Azv{!<szöveg>!}|\\
+\huazcmd|\Azv*{!<szöveg>!}|
 
-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.
+Ugyanaz, mint a kis \code{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.
+\Az{\ref{sec}}.~szakaszban \dots
 \end{examplelst}
-eredménye {,,Az 1.~szakaszban áttekintjük a téma rövid történetét.''}.
+eredménye \huqq{Az 1.~szakaszban \dots}.
 
-\commandinline|\azsaved|
+\huazcmd|\azsaved|
 
-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. 
+Az előző parancsok bármelyikét használva, generálódik egy kifejthető \code|\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 \code{hyperref} vagy \code{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:
+Ez az \code|\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}
-\azsaved~\ref{sec}...
+\azsaved \ref{sec}...
 \end{examplelst}
-kód kerül, ami már helyes eredményt ad. 
+kód kerül, ami már helyes eredményt ad.
 
-\commandinline|\aznotshow|
+\huazcmd|\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.
+Az előző probléma a \code|\texorpdfstring| helyett ezzel a paranccsal egyszerűbben is megoldható.
+Ugyanis ezt helyezve az \code|\az| (vagy bármelyik verziója) elé, az eredmény nem jelenik meg, csak az \code|\azsaved| generálódik le a megfelelő határozott névelővel.
 Így
 \begin{examplelst}
 \aznotshow\Az{\ref{sec}}
-\section{\azsaved~\ref{sec}...}
+\section{\azsaved \ref{sec}...}
 \end{examplelst}
 szintén helyes eredményt ad a vázlatfában is.
 
-\commandinline|\azseparator{!<kód>!}|
+\huazcmd|\azseparator{!<kód>!}|
 
-Ezzel lehet megadni, hogy a határozott névelő és a \verbinline|!<szöveg>!| mivel legyen elválasztva.
+Ezzel lehet megadni, hogy a határozott névelő és a \code|!<szöveg>!| mivel legyen elválasztva.
 Alapértelmezetten ez a törhetetlen normál méretű szóköz, ami 
 \begin{examplelst}
 \azseparator{~}
@@ -393,35 +436,35 @@
 
 \subsection{Rövidítések}
 
-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:
+A \code|\ref|, \code|\ref*|, \code|\eqref|, \code|\refeq|, \code|\pageref|, \code|\pageref*|, \code|\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|\avref{!<kulcs>!} | $\equiv$ \verbinline|\azv{\ref{!<kulcs>!}}|\\
-\commandinline|\avref*{!<kulcs>!}| $\equiv$ \verbinline|\azv{\ref*{!<kulcs>!}}|
+\huazcmd|\aref{!<kulcs>!}  | $\equiv$ \code|\az{\ref{!<kulcs>!}}|\\
+\huazcmd|\aref*{!<kulcs>!} | $\equiv$ \code|\az{\ref*{!<kulcs>!}}|\\
+\huazcmd|\avref{!<kulcs>!} | $\equiv$ \code|\azv{\ref{!<kulcs>!}}|\\
+\huazcmd|\avref*{!<kulcs>!}| $\equiv$ \code|\azv{\ref*{!<kulcs>!}}|
 
-\commandinline|\aeqref{!<kulcs>!}  | $\equiv$ \verbinline|\az{\eqref{!<kulcs>!}}|\\
-\commandinline|\aveqref{!<kulcs>!} | $\equiv$ \verbinline|\azv{\eqref{!<kulcs>!}}|
+\huazcmd|\aeqref{!<kulcs>!}  | $\equiv$ \code|\az{\eqref{!<kulcs>!}}|\\
+\huazcmd|\aveqref{!<kulcs>!} | $\equiv$ \code|\azv{\eqref{!<kulcs>!}}|
 
-\commandinline|\arefeq{!<kulcs>!}  | $\equiv$ \verbinline|\az{\refeq{!<kulcs>!}}|\\
-\commandinline|\avrefeq{!<kulcs>!} | $\equiv$ \verbinline|\azv{\refeq{!<kulcs>!}}|
+\huazcmd|\arefeq{!<kulcs>!}  | $\equiv$ \code|\az{\refeq{!<kulcs>!}}|\\
+\huazcmd|\avrefeq{!<kulcs>!} | $\equiv$ \code|\azv{\refeq{!<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>!}}|
+\huazcmd|\apageref{!<kulcs>!}  | $\equiv$ \code|\az{\pageref{!<kulcs>!}}|\\
+\huazcmd|\apageref*{!<kulcs>!} | $\equiv$ \code|\az{\pageref*{!<kulcs>!}}|\\
+\huazcmd|\avpageref{!<kulcs>!} | $\equiv$ \code|\azv{\pageref{!<kulcs>!}}|\\
+\huazcmd|\avpageref*{!<kulcs>!}| $\equiv$ \code|\azv{\pageref*{!<kulcs>!}}|
 
-\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>!,!...!}}|
+\huazcmd|\acite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!}  | $\equiv$ \code|\az{\cite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!}}|\\
+\huazcmd|\avcite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!} | $\equiv$ \code|\azv{\cite[!<szöveg>!]{!<kulcs1>!,!<kulcs2>!,!...!}}|
 
-A parancsok nevében az első ,,\texttt{a}'' betű kicserélhető ,,\texttt{A}'' betűre.
+A parancsok nevében az első \code{a} betű kicserélhető \code{A} betűre.
 Ekkor a határozott névelő nagybetűvel kezdődik, ami mondatok elején szükséges:
 
-\commandinline|\Aref \Aref* \Avref \Avref*|\\
-\commandinline|\Aeqref \Aveqref|\\
-\commandinline|\Arefeq \Avrefeq|\\
-\commandinline|\Apageref \Apageref* \Avpageref \Avpageref*|\\
-\commandinline|\Acite \Avcite|
+\huazcmd|\Aref \Aref* \Avref \Avref*|\\
+\huazcmd|\Aeqref \Aveqref|\\
+\huazcmd|\Arefeq \Avrefeq|\\
+\huazcmd|\Apageref \Apageref* \Avpageref \Avpageref*|\\
+\huazcmd|\Acite \Avcite|
 
 Például
 \begin{examplelst}
@@ -429,72 +472,76 @@
 \section{Cím}\label{secb}
 \Aref{seca}.~és \aref{secb}.~szakaszokban
 \end{examplelst}
-eredménye ,,Az 1. és a 2. szakaszokban''.
+eredménye \huqq{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:
+Amikor a \huaz\ csomag megkeresi a megfelelő határozott névelőt, akkor a szövegben a következő parancsokat a nem szöveget tároló argumentumaikkal együtt (ha van) 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|
+\code|\bfseries|\\
+\code|\color|\\
+\code|\emph|\\
+\code|\em|\\
+\code|\enquote|\\
+\code|\fbox|\\
+\code|\fontencoding|\\
+\code|\fontfamily|\\
+\code|\fontseries|\\
+\code|\fontshape|\\
+\code|\fontsize|\\
+\code|\footnotesize|\\
+\code|\framebox|\\
+\code|\hbox|\\
+\code|\href|\\
+\code|\huge|\\
+\code|\Huge|\\
+\code|\itshape|\\
+\code|\large|\\
+\code|\Large|\\
+\code|\LARGE|\\
+\code|\lowercase|\\
+\code|\makebox|\\
+\code|\MakeLowercase|\\
+\code|\MakeUppercase|\\
+\code|\mbox|\\
+\code|\mdseries|\\
+\code|\negthinspace|\\
+\code|\normalfont|\\
+\code|\normalsize|\\
+\code|\num|\\
+\code|\rmfamily|\\
+\code|\scriptsize|\\
+\code|\scshape|\\
+\code|\selectfont|\\
+\code|\sffamily|\\
+\code|\slshape|\\
+\code|\small|\\
+\code|\sscshape|\\
+\code|\swshape|\\
+\code|\textbf|\\
+\code|\textcolor|\\
+\code|\textit|\\
+\code|\textmd|\\
+\code|\textnormal|\\
+\code|\textqq|\\
+\code|\textrm|\\
+\code|\textsc|\\
+\code|\textsf|\\
+\code|\textsl|\\
+\code|\textssc|\\
+\code|\textsw|\\
+\code|\texttt|\\
+\code|\textulc|\\
+\code|\textup|\\
+\code|\tiny|\\
+\code|\told|\\
+\code|\ttfamily|\\
+\code|\ulcshape|\\
+\code|\underline|\\
+\code|\uppercase|\\
+\code|\upshape|\\
+\code|\usefont|
 \end{multicols}
 
 Emiatt lehetséges, hogy a következő kódok jól működnek:
@@ -514,31 +561,30 @@
 \newcommand{\osztaly}{V.A~osztály}
 \az{\myfont{\osztaly}}
 \end{examplelst}
-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.
+Azért kapunk helyes eredményt, mert a \code|\myfont| kifejtésében található \code|\usefont| szerepel az előző listában. Ha a \code|\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 \code|\myfont| parancsot is fel kell venni a listára.
 
-\commandinline|\huazignorecmd[!<opció>!]{!<parancs>!}|
+\huazcmd|\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ó.
-
+A \code|!<parancs>!| helyére az ignorálandó parancsot kell írni az argumentumai és \code{*} nélkül.
+Az \code|!<opció>!| \code{0} és \code{9} közötti egész szám lehet.
+Amennyiben ezektől eltérő a beírt \code|!<opció>!|, akkor erre figyelmeztet a fordító.
 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.
+Opció nélkül használva, a \code|!<parancs>!| a névelő megállapításakor törlődik, de az utána írt \code{*}, 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:
+Például a \code|\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:
+Ugyanez alkalmazható abban az esetben is, ha a \code|!<parancs>!|-nak nincs csillagos verziója sem opciója, továbbá az első \code|{ }| jelek közé írt argumentuma a figyelembe vett szöveg. Például a \code|\textrm| ilyen, ezért így lett besorolva:
 \begin{examplelst}
 \huazignorecmd{\textrm}
 \end{examplelst}
 
-A \texttt{shadowtext} csomag \verb|\shadowtext| parancsa nincs a listában, ezért a következő kód eredménye hibás lesz:
+A \code{shadowtext} csomag \code|\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}}
@@ -547,7 +593,7 @@
 \begin{examplelst}
 \huazignorecmd{\shadowtext}
 \end{examplelst}
-módon vehető fel, mert a \verb|\shadowtext| parancsnak sem opciója sem csillagos verziója nincs, továbbá egyetlen argumentuma a szöveg.
+módon vehető fel, mert a \code|\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}
 \huazignorecmd{\shadowtext}
@@ -559,7 +605,7 @@
 \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 nem tudjuk megkerülni a \verb|\huazignorecmd| használatát az előző módon:
+Ha a \code|\shadowtext| az \code|\osztaly| definíciójában szerepel, akkor nem tudjuk megkerülni a \code|\huazignorecmd| használatát az előző módon:
 \begin{examplelst}
 \huazignorecmd{\shadowtext}
 \newcommand{\osztaly}{\shadowtext{X.A~osztály}}
@@ -568,7 +614,7 @@
 
 \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.
+Ha az \code|!<opció>!| \code{0}, akkor a \code|!<parancs>!| és az utána található első \code|{| 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}
@@ -582,7 +628,7 @@
 \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
+A \code|\makebox| például
 \begin{examplelst}
 \huazignorecmd[0]{\makebox}
 \end{examplelst}
@@ -590,23 +636,24 @@
 \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.
+esetén a \code|\makebox[2cm][s]| rész törlődik és csak a \huqq{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.
+Ha a formázó parancs erős, akkor a \code|\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}
 \huazignorecmd[0]{\myfont}
-\DeclareRobustCommand{\myfont}[2][cmr]{{\usefont{T1}{#1}{m}{n}#2}}
+\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.
+Ebben a példában nem hagyható el a \code{[0]}, mert a \code|\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.
+Ha az \code|!<opció>!| \code{1} és \code{9} közötti egész szám, akkor a \code|\huazignorecmd| parancs a névelő megállapítása során  a \code|!<parancs>!|-ot és az utána következő első \code|{| jelig tartó kódokat ignorálja, továbbá ezután az első \code|!<opció>!| darab \code|{ }| jelek közé írt részeket szintén figyelmen kívül hagyja.
 Tehát például
 \begin{examplelst}
 \huazignorecmd[1]{\foo}
@@ -616,7 +663,7 @@
 \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
+Például a \code|\textcolor| parancs
 \begin{examplelst}
 \huazignorecmd[1]{\textcolor}
 \end{examplelst}
@@ -628,7 +675,7 @@
 \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.
+kódrész ignorálva lesz, és csak a ,,\code{szöveg}'' kerül vizsgálatra a névelő megállapításakor.
 Ha a
 \begin{examplelst}
 \huazignorecmd[2]{\foo}
@@ -639,7 +686,7 @@
 \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
+Például a \code|\fontsize| parancs
 \begin{examplelst}
 \huazignorecmd[2]{\fontsize}
 \end{examplelst}
@@ -649,33 +696,30 @@
 \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.
+A \code{refcount} csomag két ilyen parancsot definiál:
+A \code|\getrefnumber| a \code|\ref|, \code|\ref*|, \code|\eqref|, \code|\refeq| esetén
+használható, a \code|\getpagerefnumber| pedig a \code|\pageref| és \code|\pageref*| esetén.
 
-\commandinline|\huazrefcmd{!<parancs>!}|
+\huazcmd|\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.
+Ezzel a paranccsal elérhető, hogy a \code|!<parancs>!| helyére beírt parancsot és annak csillagos verzióját a határozott névelő megállapítása során a \code|\getrefnumber| paranccsal helyettesítse.
 
-A \verb|\ref|, \verb|\ref*|, \verb|\eqref|, \verb|\refeq| parancsok így lettek besorolva a \huaz\ csomagban:
+A \code|\ref|, \code|\ref*|, \code|\eqref|, \code|\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.
+Ezzel már az \code|\eqref*| és \code|\refeq*| is működne, de ezek a csillagos verziók nincsenek definiálva a csillag nélküli verziókat definiáló \code{amsmath} illetve \code{mathtools} csomagokban. Ezt mi is pótolhatjuk, amire \aref{subsec-eqref}.~alszakaszban láthatunk megoldást.
 
-\commandinline|\huazpagerefcmd{!<parancs>!}|
+\huazcmd|\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.
+Ezzel a paranccsal elérhető, hogy a \code|!<parancs>!| helyére beírt parancsot és annak csillagos verzióját a határozott névelő megállapítása során a \code|\getpagerefnumber| paranccsal helyettesítse.
 
-A \verb|\pageref| és \verb|\pageref*| parancsok így lettek besorolva a \huaz\ csomagban:
+A \code|\pageref| és \code|\pageref*| parancsok így lettek besorolva a \huaz\ csomagban:
 \begin{examplelst}
 \huazrefcmd{\pageref}
 \end{examplelst}
@@ -684,16 +728,16 @@
 
 \subsection{Az \texttt{\textbackslash autoref} és \texttt{\textbackslash autopageref} parancsok}\label{subsec-autoref}
 
-Ezeket a parancsokat a \texttt{hyperref} csomag definiálja.
+Ezeket a parancsokat a \code{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:
+Magyar nyelvű dokumentumokban nem lehet közvetlenül alkalmazni, mert az angol szabály szerint \huqq{1.~szakasz} helyett \huqq{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:
+A használatához először magyarosítani kell a következő kóddal a \code{hyperref} betöltése után a preambulumban:
 \begin{examplelst}
 \usepackage{regexpatch}
 \makeatletter
@@ -707,14 +751,14 @@
     {\pageref*{#2}.~oldal}
     {\hyperref[{#2}]{\pageref*{#2}.~oldal}}}
 \end{examplelst}
-Ezután már ,,1.~szakasz'' lesz az eredmény.
+Ezután már \huqq{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:
+Ha az így módosított \code|\autoref|, \code|\autoref*|, \code|\autopageref|, \code|\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:
+Ezután a következő kód eredménye \huqq{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.
@@ -722,9 +766,9 @@
 
 \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.
+A \code|\ref| és \code|\pageref| parancsoknak definiált a csillagos verziójuk is, amely alapesetben nem különbözik a normál verziótól, de a \code{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.
+Az \code{amsmath} csomag által definiált \code|\eqref| a \code{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.
@@ -731,7 +775,7 @@
 
 \begin{enumerate}
 \item
-A \texttt{NoHyper} környezet használatával:
+A \code{NoHyper} környezet használatával:
 \begin{examplelst}
 \begin{equation}\label{eq}
 a=b
@@ -741,16 +785,17 @@
 \end{examplelst}
 
 \item
-Az \verb|\az*| parancs használatával:
+Az \code|\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!}
+\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:
+Az \code|\eqrefstyle| parancs definiálásával és a \code|\huazignorecmd| paranccsal, amely az előzőnek egy kényelmesebben használható verziója:
 \begin{examplelst}
 \makeatletter
 \newcommand{\eqrefstyle}[1]{\textup{\tagform@{#1}}}
@@ -764,7 +809,7 @@
 \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:
+Ebben az esetben definiáljuk az \code|\eqref| csillagos verzióját (az \code{amsmath} betöltése után), amely nem generál linket a \code{hyperref} csomaggal együtt használva:
 \begin{examplelst}
 \makeatletter
 \DeclareDocumentCommand{\eqref}{ s m }{%
@@ -781,15 +826,15 @@
 \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.
+kód helyes eredményt ad, mert a \huaz\ csomagban nem csak az \code|\eqref|, hanem az \code|\eqref*| is a kifejthető \code|\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.
+Ugyanez a probléma a \code{mathtools} csomag által definiált \code|\refeq| és a \code{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:
+A \code{NoHyper} környezet használatával:
 \begin{examplelst}
 \begin{equation}\label{eq}
 a=b
@@ -799,7 +844,7 @@
 \end{examplelst}
 
 \item
-Az \verb|\az*| parancs használatával:
+Az \code|\az*| parancs használatával:
 \begin{examplelst}
 \begin{equation}\label{eq}
 a=b
@@ -808,7 +853,7 @@
 \end{examplelst}
 
 \item
-A \verb|\refeqstyle| parancs definiálásával:
+A \code|\refeqstyle| parancs definiálásával:
 \begin{examplelst}
 \newcommand{\refeqstyle}[1]{\textup{#1}}
 
@@ -817,10 +862,10 @@
 \end{equation}
 \emph{Lásd \az{\refeqstyle{\ref*{eq}}} egyenletet!}
 \end{examplelst}
-Itt nincs szükség a \verb|\huazignorecmd{\refeqstyle}| használatára.
+Itt nincs szükség a \code|\huazignorecmd{\refeqstyle}| használatára.
 
 \item
-A \verb|\refeq*| parancs definiálásával:
+A \code|\refeq*| parancs definiálásával:
 \begin{examplelst}
 \DeclareDocumentCommand{\refeq}{ s m }{%
   \textup{%
@@ -835,18 +880,18 @@
 \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.
+kód helyes eredményt ad, mert a \huaz\ csomagban nem csak a \code|\refeq|, hanem a \code|\refeq*| is a kifejthető \code|\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.
+A \code|\huazignorecmd|, \code|\huazrefcmd| és \code|\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>!}|
+\huazcmd|\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:
+Az \code|!<á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.
+Felsorolunk néhány kódpárt, melyek ekvivalensek egymással:
 \begin{examplelst}
 \huazignorecmd{\tiny}
 \huazdefcmd{\def\tiny{}}
@@ -872,12 +917,11 @@
 \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:
+A megfelelő eredményhez a \code|\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}
-
+Az eredmény \huqq{A mai óra anyaga a \LaTeX.} lesz.
 \end{document}
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/latex/huaz/huaz.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/huaz/huaz.sty	2024-05-05 19:42:36 UTC (rev 71179)
+++ trunk/Master/texmf-dist/tex/latex/huaz/huaz.sty	2024-05-05 19:42:43 UTC (rev 71180)
@@ -18,7 +18,7 @@
 %% The Current Maintainer of this work is Tibor Tómács.
 %% 
 \NeedsTeXFormat{LaTeX2e}[2021/10/10]
-\ProvidesPackage{huaz}[2024/04/28 v2.0 Automatic Hungarian definite articles]
+\ProvidesPackage{huaz}[2024/05/05 v2.1 Automatic Hungarian definite articles]
 
 \RequirePackage{xstring,refcount,iftex}
 
@@ -33,36 +33,62 @@
 %=================================================
 %
 % utf8:
-% \huaz at list@A = ö,ü,ó,ő,ú,é,á,ű,í,Ö,Ü,Ó,Ő,Ú,É,Á,Ű,Í,Ä,À,Ã,Â,Ă,Å,Ą,Æ,ä,à,ã,â,ă,å,ą,æ,Ë,È,Ê,Ě,Ę,ë,è,ê,ě,ę,Ï,Í,Ì,Î,ï,ì,î,Ò,Õ,Ô,Ø,OE,ò,õ,ô,ø,Ù,Û,Ů,ù,û,ů
-% \huaz at list@X = Ĺ,Ł,ļ,ĺ,ł,Ņ,Ń,Ñ,Ň,Ŋ,ń,ñ,ň,ŋ,Ŗ,Ŕ,Ř,ŗ,ŕ,ř,Ş,Ș,Ś,Š,ş,ș,ś,š,Ÿ,Ý,ÿ,ý
+% \huaz at list@A = ö,ü,ó,ő,ú,é,á,ű,í,Ö,Ü,Ó,Ő,Ú,É,Á,Ű,Í,Ä,À,Ã,Â,Ă,Å,Ą,Æ,ä,à,ã,â,ă,å,ą,æ,
+%                Ë,È,Ê,Ě,Ę,ë,è,ê,ě,ę,Ï,Í,Ì,Î,ï,ì,î,Ò,Õ,Ô,Ø,OE,ò,õ,ô,ø,Ù,Û,Ů,ù,û,ů
+% \huaz at list@S = Ĺ,Ł,ļ,ĺ,ł,Ņ,Ń,Ñ,Ň,Ŋ,ń,ñ,ň,ŋ,Ŗ,Ŕ,Ř,ŗ,ŕ,ř,Ş,Ș,Ś,Š,ş,ș,ś,š,Ÿ,Ý,ÿ,ý
 %
 % latin2:
 % \huaz at list@A = Ą,ą,Á,Â,Ă,Ä,É,Ę,Ë,Ě,Í,Î,Ó,Ô,Ő,Ö,Ů,Ú,Ű,Ü,á,â,ă,ä,é,ę,ë,ě,í
-% \huaz at list@X = Ľ,Ś,Š,Ş,ś,š,ş,Ŕ,Ĺ,Ń,Ň,Ř,Ý,ĺ
+% \huaz at list@S = Ľ,Ś,Š,Ş,ś,š,ş,Ŕ,Ĺ,Ń,Ň,Ř,Ý,ĺ
 %
 %=================================================
 
-\ifpdftex
+\ifpdftex% latex, pdflatex
   \def\huaz at utfviii{utf8}
   \ifx\inputencodingname\huaz at utfviii
-    \def\huaz at list@A{^^c3^^b6,^^c3^^bc,^^c3^^b3,^^c5^^91,^^c3^^ba,^^c3^^a9,^^c3^^a1,^^c5^^b1,^^c3^^ad,^^c3^^96,^^c3^^9c,^^c3^^93,^^c5^^90,^^c3^^9a,^^c3^^89,^^c3^^81,^^c5^^b0,^^c3^^8d,^^c3^^84,^^c3^^80,^^c3^^83,^^c3^^82,^^c4^^82,^^c3^^85,^^c4^^84,^^c3^^86,^^c3^^a4,^^c3^^a0,^^c3^^a3,^^c3^^a2,^^c4^^83,^^c3^^a5,^^c4^^85,^^c3^^a6,^^c3^^8b,^^c3^^88,^^c3^^8a,^^c4^^9a,^^c4^^98,^^c3^^ab,^^c3^^a8,^^c3^^aa,^^c4^^9b,^^c4^^99,^^c3^^8f,^^c3^^8d,^^c3^^8c,^^c3^^8e,^^c3^^af,^^c3^^ac,^^c3^^ae,^^c3^^92,^^c3^^95,^^c3^^94,^^c3^^98,^^4f^^45,^^c3^^b2,^^c3^^b5,^^c3^^b4,^^c3^^b8,^^c3^^99,^^c3^^9b,^^c5^^ae,^^c3^^b9,^^c3^^bb,^^c5^^af}
-    \def\huaz at list@X{^^c4^^b9,^^c5^^81,^^c4^^bc,^^c4^^ba,^^c5^^82,^^c5^^85,^^c5^^83,^^c3^^91,^^c5^^87,^^c5^^8a,^^c5^^84,^^c3^^b1,^^c5^^88,^^c5^^8b,^^c5^^96,^^c5^^94,^^c5^^98,^^c5^^97,^^c5^^95,^^c5^^99,^^c5^^9e,^^c8^^98,^^c5^^9a,^^c5^^a0,^^c5^^9f,^^c8^^99,^^c5^^9b,^^c5^^a1,^^c5^^b8,^^c3^^9d,^^c3^^bf,^^c3^^bd}
+    \def\huaz at list@A{%
+      ^^c3^^b6,^^c3^^bc,^^c3^^b3,^^c5^^91,^^c3^^ba,^^c3^^a9,^^c3^^a1,^^c5^^b1,^^c3^^ad,%
+      ^^c3^^96,^^c3^^9c,^^c3^^93,^^c5^^90,^^c3^^9a,^^c3^^89,^^c3^^81,^^c5^^b0,^^c3^^8d,%
+      ^^c3^^84,^^c3^^80,^^c3^^83,^^c3^^82,^^c4^^82,^^c3^^85,^^c4^^84,^^c3^^86,^^c3^^a4,%
+      ^^c3^^a0,^^c3^^a3,^^c3^^a2,^^c4^^83,^^c3^^a5,^^c4^^85,^^c3^^a6,^^c3^^8b,^^c3^^88,%
+      ^^c3^^8a,^^c4^^9a,^^c4^^98,^^c3^^ab,^^c3^^a8,^^c3^^aa,^^c4^^9b,^^c4^^99,^^c3^^8f,%
+      ^^c3^^8d,^^c3^^8c,^^c3^^8e,^^c3^^af,^^c3^^ac,^^c3^^ae,^^c3^^92,^^c3^^95,^^c3^^94,%
+      ^^c3^^98,^^4f^^45,^^c3^^b2,^^c3^^b5,^^c3^^b4,^^c3^^b8,^^c3^^99,^^c3^^9b,^^c5^^ae,%
+      ^^c3^^b9,^^c3^^bb,^^c5^^af}
+    \def\huaz at list@S{%
+      ^^c4^^b9,^^c5^^81,^^c4^^bc,^^c4^^ba,^^c5^^82,^^c5^^85,^^c5^^83,^^c3^^91,^^c5^^87,%
+      ^^c5^^8a,^^c5^^84,^^c3^^b1,^^c5^^88,^^c5^^8b,^^c5^^96,^^c5^^94,^^c5^^98,^^c5^^97,%
+      ^^c5^^95,^^c5^^99,^^c5^^9e,^^c8^^98,^^c5^^9a,^^c5^^a0,^^c5^^9f,^^c8^^99,^^c5^^9b,%
+      ^^c5^^a1,^^c5^^b8,^^c3^^9d,^^c3^^bf,^^c3^^bd}
     \huaz at must@oneunit at false
   \fi
   \def\huaz at latinii{latin2}
   \ifx\inputencodingname\huaz at latinii
-    \def\huaz at list@A{^^a1,^^b1,^^c1,^^c2,^^c3,^^c4,^^c9,^^ca,^^cb,^^cc,^^cd,^^ce,^^d3,^^d4,^^d5,^^d6,^^d9,^^da,^^db,^^dc,^^e1,^^e2,^^e3,^^e4,^^e5,^^e9,^^ea,^^eb,^^ec,^^ed,^^ee,^^f3,^^f4,^^f5,^^f6,^^f9,^^fa,^^fb,^^fc}
-    \def\huaz at list@X{^^a3,^^a5,^^a6,^^a9,^^aa,^^b3,^^b6,^^b9,^^ba,^^c0,^^c5,^^d1,^^d2,^^d8,^^dd,^^df,^^e0,^^f1,^^f2,^^f8,^^fd}
+    \def\huaz at list@A{%
+      ^^a1,^^b1,^^c1,^^c2,^^c3,^^c4,^^c9,^^ca,^^cb,^^cc,^^cd,^^ce,^^d3,^^d4,^^d5,^^d6,%
+      ^^d9,^^da,^^db,^^dc,^^e1,^^e2,^^e3,^^e4,^^e5,^^e9,^^ea,^^eb,^^ec,^^ed,^^ee,^^f3,%
+      ^^f4,^^f5,^^f6,^^f9,^^fa,^^fb,^^fc}
+    \def\huaz at list@S{%
+      ^^a3,^^a5,^^a6,^^a9,^^aa,^^b3,^^b6,^^b9,^^ba,^^c0,^^c5,^^d1,^^d2,^^d8,^^dd,^^df,%
+      ^^e0,^^f1,^^f2,^^f8,^^fd}
     \huaz at must@oneunit at true
   \fi
-  \ifx\inputencodingname\huaz at utfviii\else
-    \ifx\inputencodingname\huaz at latinii\else
-      \PackageError{huaz}{You should use utf8 or latin2 inputenc}{}
-    \fi
-  \fi
-\else
-  \def\huaz at list@A{^^^^00f6,^^^^00fc,^^^^00f3,^^^^0151,^^^^00fa,^^^^00e9,^^^^00e1,^^^^0171,^^^^00ed,^^^^00d6,^^^^00dc,^^^^00d3,^^^^0150,^^^^00da,^^^^00c9,^^^^00c1,^^^^0170,^^^^00cd,^^^^00c4,^^^^00c0,^^^^00c3,^^^^00c2,^^^^0102,^^^^00c5,^^^^0104,^^^^00c6,^^^^00e4,^^^^00e0,^^^^00e3,^^^^00e2,^^^^0103,^^^^00e5,^^^^0105,^^^^00e6,^^^^00cb,^^^^00c8,^^^^00ca,^^^^011a,^^^^0118,^^^^00eb,^^^^00e8,^^^^00ea,^^^^011b,^^^^0119,^^^^00cf,^^^^00cd,^^^^00cc,^^^^00ce,^^^^00ef,^^^^00ec,^^^^00ee,^^^^00d2,^^^^00d5,^^^^00d4,^^^^00d8,^^^^004f,^^^^0045,^^^^00f2,^^^^00f5,^^^^00f4,^^^^00f8,^^^^00d9,^^^^00db,^^^^016e,^^^^00f9,^^^^00fb,^^^^016f}
-  \def\huaz at list@X{^^^^0139,^^^^0141,^^^^013c,^^^^013a,^^^^0142,^^^^0145,^^^^0143,^^^^00d1,^^^^0147,^^^^014a,^^^^0144,^^^^00f1,^^^^0148,^^^^014b,^^^^0156,^^^^0154,^^^^0158,^^^^0157,^^^^0155,^^^^0159,^^^^015e,^^^^0218,^^^^015a,^^^^0160,^^^^015f,^^^^0219,^^^^015b,^^^^0161,^^^^0178,^^^^00dd,^^^^00ff,^^^^00fd}
+  \ifdefined\huaz at list@A\else\PackageError{huaz}{You should use utf8 or latin2 inputenc}{}\fi
+\else% xelatex lualatex
+  \def\huaz at list@A{%
+    ^^^^00f6,^^^^00fc,^^^^00f3,^^^^0151,^^^^00fa,^^^^00e9,^^^^00e1,^^^^0171,^^^^00ed,%
+    ^^^^00d6,^^^^00dc,^^^^00d3,^^^^0150,^^^^00da,^^^^00c9,^^^^00c1,^^^^0170,^^^^00cd,%
+    ^^^^00c4,^^^^00c0,^^^^00c3,^^^^00c2,^^^^0102,^^^^00c5,^^^^0104,^^^^00c6,^^^^00e4,%
+    ^^^^00e0,^^^^00e3,^^^^00e2,^^^^0103,^^^^00e5,^^^^0105,^^^^00e6,^^^^00cb,^^^^00c8,%
+    ^^^^00ca,^^^^011a,^^^^0118,^^^^00eb,^^^^00e8,^^^^00ea,^^^^011b,^^^^0119,^^^^00cf,%
+    ^^^^00cd,^^^^00cc,^^^^00ce,^^^^00ef,^^^^00ec,^^^^00ee,^^^^00d2,^^^^00d5,^^^^00d4,%
+    ^^^^00d8,^^^^004f,^^^^0045,^^^^00f2,^^^^00f5,^^^^00f4,^^^^00f8,^^^^00d9,^^^^00db,%
+    ^^^^016e,^^^^00f9,^^^^00fb,^^^^016f}
+  \def\huaz at list@S{%
+    ^^^^0139,^^^^0141,^^^^013c,^^^^013a,^^^^0142,^^^^0145,^^^^0143,^^^^00d1,^^^^0147,%
+    ^^^^014a,^^^^0144,^^^^00f1,^^^^0148,^^^^014b,^^^^0156,^^^^0154,^^^^0158,^^^^0157,%
+    ^^^^0155,^^^^0159,^^^^015e,^^^^0218,^^^^015a,^^^^0160,^^^^015f,^^^^0219,^^^^015b,%
+    ^^^^0161,^^^^0178,^^^^00dd,^^^^00ff,^^^^00fd}
   \huaz at must@oneunit at true
 \fi
 
@@ -76,19 +102,24 @@
 
 \AddToHook{huaz}{%
   %
-  % Accent commands will be considered as one syntax unit
-  \let\"\relax\let\'\relax\let\`\relax\let\~\relax\let\^\relax\let\=\relax\let\.\relax%
-  \let\b\relax\let\B\relax\let\c\relax\let\d\relax\let\H\relax\let\k\relax\let\r\relax\let\u\relax\let\v\relax%
+  % Accent commands are considered as one unit
+  \let\"\relax\let\'\relax\let\`\relax\let\~\relax% \def\'{} ==> \az*{\'{X}}=\az*{X}=\az*{10}=a is not correct
+  \let\^\relax\let\=\relax\let\.\relax%
+  \let\b\relax\let\B\relax\let\c\relax\let\d\relax%
+  \let\H\relax\let\k\relax\let\r\relax\let\u\relax\let\v\relax%
   %
-  % Change letter commands
-  \def\AA{a}\def\aa{a}\def\AE{a}\def\ae{a}\def\IJ{ij}\def\ij{ij}%
-  \def\l{l}\def\NG{N}\def\ng{n}\def\O{o}\def\o{o}\def\OE{oe}\def\oe{oe}%
-  \def\SS{s}\def\ss{s}\def\TH{th}\def\th{th}%
-  \def\DJ{dj}\def\dj{dj}\def\DH{dh}\def\dh{dh}%
+  % Redefining letter commands
+  \def\AA{a}\def\aa{a}\def\AE{a}\def\ae{a}%
+  \def\IJ{a}\def\ij{a}\def\i{a}% \def\i{i} ==> \az*{\i x}=\az*{ix}=\az*{9}=a is not correct
+  \def\O{a}\def\o{a}\def\OE{a}\def\oe{a}%
+  \def\l{s}\def\NG{s}\def\ng{s}\def\SS{s}\def\ss{s}%
   %
-  % Change sign commands to period
+  % Redefinition of punctuation commands to period
   \def\&{.}\def\#{.}\def\%{.}\def\_{.}%
   %
+  % Redefinition of space commands to normal space
+  \def\,{ }\def\:{ }\def\;{ }\def\enspace{ }\def\enskip{ }\def\quad{ }\def\qquad{ }%
+  %
   % Ignore commands
   \def\usefont#1#2#3#4{}%
   \def\fontsize#1#2{}%
@@ -117,12 +148,15 @@
   \def\uppercase{}\def\lowercase{}\def\MakeUppercase{}\def\MakeLowercase{}%
   \def\textcolor#1#{\@gobble}% \textcolor[...]{...}{text} and \textcolor{...}{text} --> text
   \def\color#1#{\@gobble}% \color[...]{...}text and \color{...}text --> text
-  \def\mbox{}\def\fbox{}%
+  \def\href#1#{\@gobble}% \href{URL}{text} --> text
+  \def\mbox{}\def\fbox{}\def\hbox{}%
   \def\makebox#1#{}% \makebox{text} and \makebox[opt]{text} --> text
   \def\framebox#1#{}% \framebox{text} and \framebox[opt]{text} --> text
   \def\textqq{}%
   \def\enquote#1#{}% \enquote{text} and \enquote*{text} --> text
   \def\told{}%
+  \def\num#1#{}% (siunitx package) \num[...]{1000000} --> 1000000
+  \def\negthinspace{}\def\!{}%
   %
   % Expandable cross-references commands
   \def\ref#1#{\getrefnumber}% \ref{...} and \ref*{...} --> \getrefnumber{...}
@@ -130,6 +164,9 @@
   \def\eqref#1#{\getrefnumber}% \eqref{...} (amsmath) and \eqref*{...} (!!) --> \getrefnumber{...}
   \def\refeq#1#{\getrefnumber}% \refeq{...} (mathtools) and \refeq*{...} (!!) --> \getrefnumber{...}
   \def\cite{\huaz at cite}%
+  \def\citeauthor{\huaz at citeauthor}%
+  \def\textcite{\huaz at citeauthor}%
+  \def\citeyear{\huaz at citeyear}%
   }
 
 %=================================================
@@ -224,12 +261,16 @@
   \UseHook{huaz}%
   \huaz at must@z at false%
   %
-  % 1. syntax unit e,u,i,o,a,E,U,I,O,A,5
+  % 1. unit: e,u,i,o,a,E,U,I,O,A,5
+  %
   \StrChar{#1}{1}[\huaz at temp]%
   \@for\huaz at list:={e,u,i,o,a,E,U,I,O,A,5}%
   \do{\IfStrEq{\huaz at temp}{\huaz at list}{\huaz at must@z at true}{}}%
   %
-  % 1. syntax unit accent command and 2. character e,u,i,o,a,E,U,I,O,A (e.g. "\'A")
+  % 1. unit: accent command
+  % 2. unit: e,u,i,o,a,E,U,I,O,A
+  % "\'A" "\'{A}"
+  %
   \ifhuaz at must@z@\else%
     \huaz at temp@if at false%
     \StrChar{#1}{1}[\huaz at temp]%
@@ -242,15 +283,41 @@
     \fi%
   \fi%
   %
-  % 1. character in \huaz at list@A
+  % 1. unit: \",\',\`,\~,\^,\=,\.
+  % 2. unit: space(s)
+  % 3. unit: e,u,i,o,a,E,U,I,O,A
+  % "\' A", "\'  A", "\' {A}"
+  %
   \ifhuaz at must@z@\else%
-    \ifhuaz at must@oneunit@\StrLeft{#1}{1}[\huaz at tempa]\else\StrLeft{#1}{2}[\huaz at tempa]\fi% in pdflatex(utf8) Ő is two syntax units; in pdflatex(latin2)/xelatex/lualatex Ő is one syntax unit
+    \huaz at temp@if at false%
+    \StrChar{#1}{1}[\huaz at temp]%
+    \@for\huaz at list:={\",\',\`,\~,\^,\=,\.}%
+    \do{\IfStrEq{\huaz at temp}{\huaz at list}{\huaz at temp@if at true}{}}%
+    \ifhuaz at temp@if@%
+      \huaz at temp@if at false%
+      \StrChar{#1}{2}[\huaz at temp]%
+      \IfStrEq{\huaz at temp}{ }{\huaz at temp@if at true}{}%
+    \fi%
+    \ifhuaz at temp@if@%
+      \StrChar{#1}{3}[\huaz at temp]%
+      \@for\huaz at list:={e,u,i,o,a,E,U,I,O,A}%
+      \do{\IfStrEq{\huaz at temp}{\huaz at list}{\huaz at must@z at true}{}}%
+    \fi%
+  \fi%
+  %
+  % 1. unit: \huaz at list@A
+  %
+  \ifhuaz at must@z@\else%
+    \ifhuaz at must@oneunit@\StrLeft{#1}{1}[\huaz at tempa]\else\StrLeft{#1}{2}[\huaz at tempa]\fi% in pdflatex(utf8) Ő is two units; in pdflatex(latin2)/xelatex/lualatex Ő is one unit
     \@for\huaz at list:=\huaz at list@A%
     \do{\StrLeft{\huaz at list}{2}[\huaz at tempb]%
         \IfStrEq{\huaz at tempa}{\huaz at tempb}{\huaz at must@z at true}{}}%
   \fi%
   %
-  % 1. character f,l,m,n,s,r,x,y,F,L,M,N,S,R,X,Y,\huaz at list@X and the 2. character is not letter (e.g. "M-10")
+  % 1. unit: f,l,m,n,s,r,x,y,F,L,M,N,S,R,X,Y,\huaz at list@S(one unit)
+  % 2. unit: punctuation
+  % "M-10"
+  %
   \ifhuaz at must@z@\else%
     \huaz at temp@if at false%
     \StrChar{#1}{2}[\huaz at temp]%
@@ -262,7 +329,7 @@
       \do{\IfStrEq{\huaz at temp}{\huaz at list}{\huaz at must@z at true}{}}%
       \ifhuaz at must@oneunit@%
         \ifhuaz at must@z@\else%
-          \@for\huaz at list:=\huaz at list@X% in pdflatex(latin2)/xelatex/lualatex Š is one syntax unit
+          \@for\huaz at list:=\huaz at list@S% in pdflatex(latin2)/xelatex/lualatex Š is one unit
           \do{\IfStrEq{\huaz at temp}{\huaz at list}{\huaz at must@z at true}{}}%
         \fi%
       \fi%
@@ -269,7 +336,11 @@
     \fi%
   \fi%
   %
-  % 1. syntax unit accent command, 2. character f,l,m,n,r,x,y,F,L,M,N,S,R,X,Y and the 3. character is not letter (e.g. "\^Y.")
+  % 1. unit: accent command
+  % 2. unit: f,l,m,n,r,x,y,F,L,M,N,S,R,X,Y
+  % 3. unit: punctuation
+  % "\^Y."
+  %
   \ifhuaz at must@z@\else%
     \huaz at temp@if at false%
     \StrChar{#1}{3}[\huaz at temp]%
@@ -280,17 +351,49 @@
       \StrChar{#1}{2}[\huaz at temp]%
       \@for\huaz at list:={f,l,m,n,s,r,x,y,F,L,M,N,S,R,X,Y}%
       \do{\IfStrEq{\huaz at temp}{\huaz at list}{\huaz at temp@if at true}{}}%
-      \ifhuaz at temp@if@%
-        \StrChar{#1}{1}[\huaz at temp]%
-        \@for\huaz at list:={\",\',\`,\~,\^,\=,\.,\b,\B,\c,\d,\H,\k,\r,\u,\v}%
-        \do{\IfStrEq{\huaz at temp}{\huaz at list}{\huaz at must@z at true}{}}%
-      \fi%
     \fi%
+    \ifhuaz at temp@if@%
+      \StrChar{#1}{1}[\huaz at temp]%
+      \@for\huaz at list:={\",\',\`,\~,\^,\=,\.,\b,\B,\c,\d,\H,\k,\r,\u,\v}%
+      \do{\IfStrEq{\huaz at temp}{\huaz at list}{\huaz at must@z at true}{}}%
+    \fi%
   \fi%
   %
-  % first two characters ly,Ly,LY,ny,Ny,NY,sz,Sz,SZ,\huaz at list@X and the 3. character is not letter (e.g. "NY" or "SZ-2")
+  % 1. unit: \",\',\`,\~,\^,\=,\.
+  % 2. unit: space(s)
+  % 3. unit: f,l,m,n,r,x,y,F,L,M,N,S,R,X,Y
+  % 4. unit: punctuation
+  % "\^ Y."
+  %
   \ifhuaz at must@z@\else%
     \huaz at temp@if at false%
+    \StrChar{#1}{4}[\huaz at temp]%
+    \@for\huaz at list:={;,`,',",+,!,/,=,(,),<,>,@,.,?,:,-,*,0,1,2,3,4,5,6,7,8,9,{,},{ },{},\unskip,\kern}% \kern, \unskip for active characters
+    \do{\IfStrEq{\huaz at temp}{\huaz at list}{\huaz at temp@if at true}{}}%
+    \ifhuaz at temp@if@%
+      \huaz at temp@if at false%
+      \StrChar{#1}{3}[\huaz at temp]%
+      \@for\huaz at list:={f,l,m,n,s,r,x,y,F,L,M,N,S,R,X,Y}%
+      \do{\IfStrEq{\huaz at temp}{\huaz at list}{\huaz at temp@if at true}{}}%
+    \fi%
+    \ifhuaz at temp@if@%
+      \huaz at temp@if at false%
+      \StrChar{#1}{2}[\huaz at temp]%
+      \IfStrEq{\huaz at temp}{ }{\huaz at temp@if at true}{}%
+    \fi%
+    \ifhuaz at temp@if@%
+      \StrChar{#1}{1}[\huaz at temp]%
+      \@for\huaz at list:={\",\',\`,\~,\^,\=,\.}%
+      \do{\IfStrEq{\huaz at temp}{\huaz at list}{\huaz at must@z at true}{}}%
+    \fi%
+  \fi%
+  %
+  % 1-2. units: ly,Ly,LY,ny,Ny,NY,sz,Sz,SZ,\huaz at list@S(two units)
+  % 3. unit: punctuation
+  % "NY" "SZ-2"
+  %
+  \ifhuaz at must@z@\else%
+    \huaz at temp@if at false%
     \StrChar{#1}{3}[\huaz at temp]%
     \@for\huaz at list:={;,`,',",+,!,/,=,(,),<,>,@,.,?,:,-,*,0,1,2,3,4,5,6,7,8,9,{,},{ },{},\unskip,\kern}% \kern, \unskip for active characters
     \do{\IfStrEq{\huaz at temp}{\huaz at list}{\huaz at temp@if at true}{}}%
@@ -300,7 +403,7 @@
       \do{\IfStrEq{\huaz at temp}{\huaz at list}{\huaz at must@z at true}{}}%
       \ifhuaz at must@oneunit@\else%
         \ifhuaz at must@z@\else%
-          \@for\huaz at list:=\huaz at list@X% in pdflatex(utf8) Š is two syntax units
+          \@for\huaz at list:=\huaz at list@S% in pdflatex(utf8) Š is two units
           \do{\IfStrEq{\huaz at temp}{\huaz at list}{\huaz at must@z at true}{}}%
         \fi%
       \fi%
@@ -307,7 +410,10 @@
     \fi%
   \fi%
   %
-  % 1. character 1 and the 2. character is not number (e.g. "1H")
+  % 1. unit: 1
+  % 2. unit: not digit
+  % "1H"
+  %
   \ifhuaz at must@z@\else%
     \StrChar{#1}{1}[\huaz at temp]%
     \IfStrEq{\huaz at temp}{1}{%
@@ -316,7 +422,10 @@
     }{}%
   \fi%
   %
-  % 1000,...,1999 and the 5. character is not number ("ezer...")
+  % 1000,...,1999
+  % 5. unit: not digit
+  % "1000. sor" --> ezredik sor
+  %
   \ifhuaz at must@z@\else%
     \StrLen{#1}[\huaz at temp]%
     \setcounter{huaz at temp@count}{\huaz at temp}%
@@ -323,7 +432,7 @@
     \ifnum\value{huaz at temp@count}>3%
       \StrChar{#1}{1}[\huaz at temp]%
       \IfStrEq{\huaz at temp}{1}{%
-        \StrMid{#1}{2}{4}[\huaz at temp]%
+        \StrLeft{#1}{4}[\huaz at temp]%
         \IfInteger{\huaz at temp}{%
           \StrChar{#1}{5}[\huaz at temp]%
           \IfInteger{\huaz at temp}{}{\huaz at must@z at true}%
@@ -332,7 +441,10 @@
     \fi%
   \fi%
   %
-  % 1000000,...,1999999 and the 8. character is not number ("egymillió...")
+  % 1000000,...,1999999
+  % 8. unit: not digit
+  % "1000000 ember" --> egymillió ember
+  %
   \ifhuaz at must@z@\else%
     \StrLen{#1}[\huaz at temp]%
     \setcounter{huaz at temp@count}{\huaz at temp}%
@@ -339,7 +451,7 @@
     \ifnum\value{huaz at temp@count}>6%
       \StrChar{#1}{1}[\huaz at temp]%
       \IfStrEq{\huaz at temp}{1}{%
-        \StrMid{#1}{2}{7}[\huaz at temp]%
+        \StrLeft{#1}{7}[\huaz at temp]%
         \IfInteger{\huaz at temp}{%
           \StrChar{#1}{8}[\huaz at temp]%
           \IfInteger{\huaz at temp}{}{\huaz at must@z at true}%
@@ -348,7 +460,10 @@
     \fi%
   \fi%
   %
-  % 1000000000,...,1999999999 and the 11. character is not number ("egymilliárd...")
+  % 1000000000,...,1999999999
+  % 11. unit: not digit
+  % "1000000000 ember" --> egymilliárd ember
+  %
   \ifhuaz at must@z@\else%
     \StrLen{#1}[\huaz at temp]%
     \setcounter{huaz at temp@count}{\huaz at temp}%
@@ -355,7 +470,7 @@
     \ifnum\value{huaz at temp@count}>9%
       \StrChar{#1}{1}[\huaz at temp]%
       \IfStrEq{\huaz at temp}{1}{%
-        \StrMid{#1}{2}{10}[\huaz at temp]%
+        \StrLeft{#1}{10}[\huaz at temp]%
         \IfInteger{\huaz at temp}{%
           \StrChar{#1}{11}[\huaz at temp]%
           \IfInteger{\huaz at temp}{}{\huaz at must@z at true}%
@@ -564,8 +679,8 @@
 %
 %=================================================
 
-\def\huaz at x@#1#{\huaz at citelist}
-\def\huaz at cite{\huaz at x@\relax}
+\def\huaz at cite@#1#{\huaz at citelist}
+\def\huaz at cite{\huaz at cite@\relax}
 \def\huaz at citelist#1{\huaz@@citelist#1,\relax,}
 \def\huaz@@citelist#1,{\ifx#1\relax\else\@nameuse{huaz at bib@#1},\expandafter\huaz@@citelist\fi}%
 
@@ -588,6 +703,7 @@
   \def\bibcite#1#2{\global\@namedef{huaz at bib@#1}{\huaz at bibparam#2}\huaz at old@bibcite{#1}{#2}}
   %
   \@ifpackageloaded{biblatex}{
+    \settoggle{blx at labelalpha}{true}
     \def\huaz at biblatexlabel{}
     \ifx\blx at opt@eldt at style\@empty\ifx\blx at opt@eldt at citestyle\@empty\def\huaz at biblatexlabel{\strfield{labelnumber}}\fi\fi
     \def\huaz at temp{numeric}
@@ -603,8 +719,8 @@
     \ifx\blx at opt@eldt at style\huaz at temp\def\huaz at biblatexlabel{\strfield{labelalpha}}\fi
     \ifx\blx at opt@eldt at citestyle\huaz at temp\def\huaz at biblatexlabel{\strfield{labelalpha}}\fi
     \def\huaz at temp{authoryear}
-    \ifx\blx at opt@eldt at style\huaz at temp\settoggle{blx at labelalpha}{true}\def\huaz at biblatexlabel{\strfield{labelalpha}}\fi
-    \ifx\blx at opt@eldt at citestyle\huaz at temp\settoggle{blx at labelalpha}{true}\def\huaz at biblatexlabel{\strfield{labelalpha}}\fi
+    \ifx\blx at opt@eldt at style\huaz at temp\def\huaz at biblatexlabel{\strfield{labelalpha}}\fi
+    \ifx\blx at opt@eldt at citestyle\huaz at temp\def\huaz at biblatexlabel{\strfield{labelalpha}}\fi
     \ifx\huaz at biblatexlabel\@empty\else
       \AtEveryBibitem{\protected at write\@auxout{}{\string\global\string\@namedef{huaz at bib@\strfield{entrykey}}{\huaz at biblatexlabel}}}
     \fi}{}}
@@ -611,6 +727,38 @@
 
 %=================================================
 %
+% \huaz at citeauthor
+%
+%=================================================
+
+\def\huaz at citeauthor@#1#{\huaz at citeauthorlist}
+\def\huaz at citeauthor{\huaz at citeauthor@\relax}
+\def\huaz at citeauthorlist#1{\huaz@@citeauthorlist#1,\relax,}
+\def\huaz@@citeauthorlist#1,{\ifx#1\relax\else\@nameuse{huaz at bibalpha@#1},\expandafter\huaz@@citeauthorlist\fi}
+
+\AddToHook{begindocument/before}{
+  \@ifpackageloaded{biblatex}{
+    \AtEveryBibitem{\protected at write\@auxout{}{\string\global\string\@namedef{huaz at bibalpha@\strfield{entrykey}}{\strfield{labelalpha}}}}
+  }{}}
+
+%=================================================
+%
+% \huaz at citeyear
+%
+%=================================================
+
+\def\huaz at citeyear@#1#{\huaz at citeyearlist}
+\def\huaz at citeyear{\huaz at citeyear@\relax}
+\def\huaz at citeyearlist#1{\huaz@@citeyearlist#1,\relax,}
+\def\huaz@@citeyearlist#1,{\ifx#1\relax\else\@nameuse{huaz at bibyear@#1},\expandafter\huaz@@citeyearlist\fi}
+
+\AddToHook{begindocument/before}{
+  \@ifpackageloaded{biblatex}{
+    \AtEveryBibitem{\protected at write\@auxout{}{\string\global\string\@namedef{huaz at bibyear@\strfield{entrykey}}{\strfield{year}}}}
+  }{}}
+
+%=================================================
+%
 % end
 %
 %=================================================



More information about the tex-live-commits mailing list.