diff options
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/nevelok/nevelok.dtx | 273 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/nevelok/nevelok.ins | 54 |
2 files changed, 327 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/nevelok/nevelok.dtx b/Master/texmf-dist/source/latex/nevelok/nevelok.dtx new file mode 100644 index 00000000000..5f496af8af5 --- /dev/null +++ b/Master/texmf-dist/source/latex/nevelok/nevelok.dtx @@ -0,0 +1,273 @@ +% \iffalse meta-comment +%<*internal> +\iffalse +%</internal> +%<*readme> +---------------------------------------------------------------- +nevelok --- LaTeX package for automatic definite articles for Hungarian +Author: Zalan Bodo +E-mail: zbodo@cs.ubbcluj.ro +License: Released under the LaTeX Project Public License v1.3c or later +See: http://www.latex-project.org/lppl.txt +---------------------------------------------------------------- + +LaTeX package for automatic definite articles for Hungarian +%</readme> +%<*internal> +\fi +\def\nameofplainTeX{plain} +\ifx\fmtname\nameofplainTeX\else + \expandafter\begingroup +\fi +%</internal> +%<*install> +\input docstrip.tex +\keepsilent +\askforoverwritefalse +\preamble +---------------------------------------------------------------- +nevelok --- LaTeX package for automatic definite articles for Hungarian +Author: Zalan Bodo +E-mail: zbodo@cs.ubbcluj.ro +License: Released under the LaTeX Project Public License v1.3c or later +See: http://www.latex-project.org/lppl.txt +---------------------------------------------------------------- + +\endpreamble +\postamble + +Copyright (C) 2015 by Zalan Bodo <zbodo@cs.ubbcluj.ro> + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License (LPPL), either +version 1.3c of this license or (at your option) any later +version. The latest version of this license is in the file: + +http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by +Zalan Bodo. + +This work consists of the file nevelok.dtx and a Makefile. +Running make generates the derived files README.txt, nevelok.pdf and nevelok.sty. +Running make inst installs the files in the user's TeX tree. +Running make install installs the files in the local TeX tree. + +\endpostamble + +\usedir{tex/latex/nevelok} +\generate{ + \file{\jobname.sty}{\from{\jobname.dtx}{package}} +} +%</install> +%<install>\endbatchfile +%<*internal> +\usedir{source/latex/nevelok} +\generate{ + \file{\jobname.ins}{\from{\jobname.dtx}{install}} +} +\nopreamble\nopostamble +\usedir{doc/latex/nevelok} +\generate{ + \file{README.txt}{\from{\jobname.dtx}{readme}} +} +\ifx\fmtname\nameofplainTeX + \expandafter\endbatchfile +\else + \expandafter\endgroup +\fi +%</internal> +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{nevelok.dtx} +%</driver> +%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%<package>\ProvidesPackage{nevelok} +%<*package> + [2015/09/10 v1.00 LaTeX package for automatic definite articles for Hungarian] +%</package> +%<package>\RequirePackage{xstring} +%<*driver> +\documentclass{ltxdoc} +\usepackage[a4paper,margin=25mm,left=50mm,nohead]{geometry} +\usepackage[numbered]{hypdoc} +\usepackage{\jobname} +%\EnableCrossrefs +%\CodelineIndex +\RecordChanges +\newtheorem{example}{Example}[section] +\begin{document} + \sloppy + \DocInput{\jobname.dtx} +\end{document} +%</driver> +% \fi +% +% \GetFileInfo{\jobname.dtx} +% \DoNotIndex{\newcommand,\newenvironment} +% +%\title{\textsf{nevelok} --- \LaTeX{} package for automatic definite articles for Hungarian\thanks{This file +% describes version \fileversion, last revised \filedate.} +%} +%\author{Zal\'an Bod\'o\thanks{E-mail: zbodo@cs.ubbcluj.ro}} +%\date{Released \filedate} +% +%\maketitle +% +%\changes{v1.00}{2015/09/10}{First public release} +% +% \begin{abstract} +% \LaTeX{} package for automatic definite articles for Hungarian. +% \end{abstract} +% +%\section{Introduction} +% +% In Hungarian, the definite articles ``a'' and ``az'' are determined by the +% pronounciation of the subsequent word. If the first phoneme of the pronounced word +% is a vowel, then the article is ``az'', otherwise ``az'' must be used. +% The simple commands help the \LaTeX{} user to automatically adjust the +% definite article according to chapter, equation, page, etc. number. +% +% \section{Usage} +% +% \DescribeMacro{\aaz} +% \DescribeMacro{\Aaz} +% The \textsf{nevelok} package provides the following commands: \cmd{\aaz}\marg{reference} +% and \cmd{\Aaz}\marg{reference}, +% where {\em reference} is a reference to a labeled \LaTeX{} object (section, equation, figure, etc.). +% The difference stands in letter casing: the \cmd{\aaz} is the lower case command +% producing ``a'' and ``az'', while \cmd{\Aaz} is the upper case version, producing +% ``A'' and ``Az'' for the beginning of a sentence. +% The commands also work if the reference is put in round parantheses. +% +% \textsf{Note}: The commands work only with the simple, built-in references +% \cmd{\ref} and \cmd{\pageref}. It does not work with the popular \cmd{\eqref} +% command of \textsf{amsmath} package, but the same effect can be achieved by enclosing the +% reference in round parantheses. +% +% \textsf{Requirements}: The package requires/uses the \textsf{xstring} package. +% +%\StopEventually{^^A +% \PrintChanges +%} +% +% \section{Implementation} +% +% \begin{macro}{\aaz} +% The \cmd{\aaz} command outputs ``a'' or ``az'', depending on the argument. +% To be used inside the sentence. +% \begin{macrocode} +%% +\newcommand{\aaz}[1]{% + \z@aaz{#1}{a}{az}{(}{)}% +} +%% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Aaz} +% The \cmd{\Aaz} command outputs ``A'' or ``Az'', depending on the argument. +% To be used when starting a new sentence. +% \begin{macrocode} +%% +\newcommand{\Aaz}[1]{% + \z@aaz{#1}{A}{Az}{(}{)}% +} +%% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\z@aaz} +% The main command of the package, used by the two provided commands: +% \cmd{\z@aaz}\marg{reference}\marg{art1}\marg{art2}\marg{sym1}\marg{sym2}. +% The {\em art1} and {\em art2} parameters stand for the definite articles used in case of +% consonants and vowels, respectively. Parameters {\em art1} and {\em art2} are used to +% handle cases when the reference is put between some symbols, e.g. ``('' and ``)''. +% The $4$th parameter is sought for at the beginning of the reference, and if found, +% the substring between the $4$th and $5$th parameter values is analyzed, instead of the whole +% reference. +% \begin{macrocode} +%% +\newcommand{\z@aaz}[5]{% + \def\param{#1}% the first (reference) parameter + \def\kezd{}\relax% the symbols to be put before the output + \def\veg{}\relax% the symbols to be put after the output + \IfBeginWith{\param}{#4}{% if starts with round parantheses, + % we remove it from both sides; + % the parameter changes + \StrPosition{\param}{#5}[\vegz]% + \newcount\ind% + \ind = \vegz% + \advance \ind by -1% + \StrMid{\param}{2}{\ind}[\param]% + \def\kezd{#4}% + \def\veg{#5}% + }{}\relax% + \IfBeginWith{\param}{1}{% if the reference starts with 1, + % special care is required + \StrLen{\param}[\hossz]% + \newcount\ind% + \newcount\vege% + \ind = \hossz% + \vege = 0% + \loop% loops while it does not find a digit at the end + % (in \ref-s, strangely, an \hbox {} appears at the end; + % this loop was actually written to remove these) + \StrChar{\param}{\ind}[\kar]% + \IfSubStr{1234567890}{\kar}{\vege=1}{}\relax% + \ifnum \vege = 0% + \advance \ind by -1% + \repeat% + \StrLeft{\param}{\ind}[\paramuj]% \paramuj will contain the + % ``cleaned'' parameter + \StrPosition[1]{\paramuj}{.}[\elsopontpozicioja]% + \StrLen{\paramuj}[\hossz]% + \newcount\eppme% position of the first dot minus 1 + \eppme = \elsopontpozicioja% + \advance \eppme by -1% + \ifnum \elsopontpozicioja = 0% + \StrLeft{\paramuj}{\hossz}[\prefix]% + \else% + \StrLeft{\paramuj}{\eppme}[\prefix]% + \fi% + \StrLen{\prefix}[\elsohossz]% + \ifnum \elsohossz = 1% 1 + #3% + \else\ifnum \elsohossz = 2% 10 + #2% + \else\ifnum \elsohossz = 3% 100 + #2% + \else\ifnum \elsohossz = 4% 1000 + #3% + \fi\fi\fi\fi% + }{% + \StrChar{\param}{1}[\kar]% + \newcount\az% + \az = 0% + \IfSubStr{2346789}{\kar}{% digits that require ``a''; + % this is redundant, but was kept for some reasons + \az = 0% + }{% + \IfSubStr{5AEIOUFLMNRSaeiouflmnrs}{\kar}{% digits and letters + % that require ``az'' + \az = 1% + }{% + \az = 0% + }\relax% + }\relax% + \ifnum \az = 1% + #3% + \else% + #2% + \fi% + }% + \ \kezd\param\veg% +} +%% +% \end{macrocode} +% \end{macro} +% +%\Finale +\endinput diff --git a/Master/texmf-dist/source/latex/nevelok/nevelok.ins b/Master/texmf-dist/source/latex/nevelok/nevelok.ins new file mode 100644 index 00000000000..6b692d53fc4 --- /dev/null +++ b/Master/texmf-dist/source/latex/nevelok/nevelok.ins @@ -0,0 +1,54 @@ +%% +%% This is file `nevelok.ins', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% nevelok.dtx (with options: `install') +%% ---------------------------------------------------------------- +%% nevelok --- LaTeX package for automatic definite articles for Hungarian +%% Author: Zalan Bodo +%% E-mail: zbodo@cs.ubbcluj.ro +%% License: Released under the LaTeX Project Public License v1.3c or later +%% See: http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +%% +\input docstrip.tex +\keepsilent +\askforoverwritefalse +\preamble +---------------------------------------------------------------- +nevelok --- LaTeX package for automatic definite articles for Hungarian +Author: Zalan Bodo +E-mail: zbodo@cs.ubbcluj.ro +License: Released under the LaTeX Project Public License v1.3c or later +See: http://www.latex-project.org/lppl.txt +---------------------------------------------------------------- + +\endpreamble +\postamble + +Copyright (C) 2015 by Zalan Bodo <zbodo@cs.ubbcluj.ro> + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License (LPPL), either +version 1.3c of this license or (at your option) any later +version. The latest version of this license is in the file: + +http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by +Zalan Bodo. + +This work consists of the file nevelok.dtx and a Makefile. +Running make generates the derived files README.txt, nevelok.pdf and nevelok.sty. +Running make inst installs the files in the user's TeX tree. +Running make install installs the files in the local TeX tree. + +\endpostamble + +\usedir{tex/latex/nevelok} +\generate{ + \file{\jobname.sty}{\from{\jobname.dtx}{package}} +} +\endbatchfile |