% +--------------------------------------------------+ % | Typeset this file to get the documentation. | % +--------------------------------------------------+ % %% Copyright (C) 2016-2020 Javier Bezos %% All Rights Reserved %% http://www.texnia.com %% %% This work may be distributed and/or modified under the conditions %% of the LaTeX Project Public License, either version 1.3 of this %% license or (at your option) any later version. The latest version %% of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2003/12/01 or later. %% %% This work has the LPPL maintenance status "maintained". %% %% This Current Maintainer of this work is Javier Bezos. %% %% This work consists of the files luahyphenrules.tex and %% luahyphenrules.sty. \documentclass[a4paper]{ltxguide} \title{\textsf{luahyphenrules}\\\large Version 1.1} \author{Javier Bezos\\\texttt{http://www.texnia.com}} \date{2020-08-28} \raggedright \parskip=.8ex \advance\oddsidemargin-.7cm \advance\textwidth2cm \addtolength{\textheight}{3.5cm} \addtolength{\topmargin}{-2cm} \usepackage{xcolor,bera} \definecolor{notes}{rgb}{.75, .3, .3}% \makeatletter \def\@begintheorem#1#2{% \list{}{}% \global\advance\@listdepth\m@ne \item[{\sffamily\bfseries\color{notes}\MakeUppercase{#1}}]}% \makeatother \newtheorem{warning}{Warning} \newtheorem{note}{Note} \newtheorem{example}{Example} \newtheorem{changes}{Changes} \begin{document} \vspace*{1cm} {\fontsize{48}{48}\selectfont \color{notes}{luahyphenrules}\par} {\LARGE Loading patterns in \textsf{lualatex} with \texttt{language.dat}\par} \vspace*{1ex} Version 1.1 (2020-08-28)\par Javier Bezos (\texttt{http://www.texnia.com}) \vspace*{6ex} Preloading hyphenation patterns (or ``hyphen rules'') into the format is not required in Lua\TeX. On the contrary, it is even discouraged and accordingly recent releases of \textsf{babel} don't do it. This file is addressed to those who just want to select the language and load their patterns without loading at all the \textsf{babel} package with |\usepackage|. When \textsf{luahyphenrules} is loaded, it reads |language.dat| and stores its data. Then, you can use the following command to select the language. \begin{decl} |\HyphenRules{}| \end{decl} Here || is the name in |language.dat|. It select the language, if exists, and loads its hyphenations patterns if not done before. If the language does not exist or there are no patterns, it raises and error. \begin{note} If you are using \textsf{babel} you do not need this package. \end{note} \begin{note} Actually, loading hypenations patterns in Lua\TeX{} is so simple as inputting the corresponding file with the correct catcode regime when the language is active (which in turn may be created with |\newlanguage|). This package is mostly about reading and parsing |language.dat| at runtime. \end{note} \begin{note} The internal variable |\bbl@languages|, containing the list of languages in |language.dat|, is also set by this package. See the \textsf{babel} manual for further info. \end{note} \begin{warning} This package only works with Lua\LaTeX. \end{warning} \begin{changes} \textbf{1.1.} Fixed a bug with recent |babel| versions. \end{changes} \end{document}