diff options
author | Karl Berry <karl@freefriends.org> | 2011-03-08 00:10:24 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-03-08 00:10:24 +0000 |
commit | eb3fd6ab5a28e450849c8278bb2d81d6ec3d5cda (patch) | |
tree | 0c2ab6405ff7415063ec51cd085f84464e8ecf2e /Master/texmf-dist/source | |
parent | 622550bdc31b51c04c106975c565d4e9eb1e169f (diff) |
new xelatex package fixlatvian (7mar11)
git-svn-id: svn://tug.org/texlive/trunk@21631 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/xelatex/fixlatvian/fixlatvian.dtx | 748 | ||||
-rw-r--r-- | Master/texmf-dist/source/xelatex/fixlatvian/fixlatvian.ins | 63 |
2 files changed, 811 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/xelatex/fixlatvian/fixlatvian.dtx b/Master/texmf-dist/source/xelatex/fixlatvian/fixlatvian.dtx new file mode 100644 index 00000000000..25172fe5fa7 --- /dev/null +++ b/Master/texmf-dist/source/xelatex/fixlatvian/fixlatvian.dtx @@ -0,0 +1,748 @@ +% \iffalse meta-comment +% +%% Copyright (C) Andrey Vihrov <andrey.vihrov@gmail.com>, 2010-2011 +%% +%% 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 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% See the README for a list of files that constitute this work. +%% +% \fi +% +% \iffalse +%<package>\NeedsTeXFormat{LaTeX2e} +%<*driver|package> +\RequirePackage{svn-prov} +%</driver|package> +%<*driver> +\ProvidesFileSVN +%</driver> +%<package>\ProvidesPackageSVN +%<*driver|package> + {$Id: fixlatvian.dtx 163 2011-02-05 18:51:11Z andrey.vihrov $} + [v1a Improved Latvian support] +%</driver|package> +%<package>\DefineFileInfoSVN\relax +% +%<*driver> +\documentclass[a4paper]{ltxdoc} + +\usepackage{booktabs} +\usepackage{fancyvrb} +\usepackage[toc]{multitoc} +\usepackage{paralist} +\usepackage{polyglossia} +\usepackage{xltxtra} +\usepackage[hyperindex=false]{hyperref} +\usepackage{fixlatvian} + +\DisableCrossrefs +\CodelineIndex +\RecordChanges + +\setotherlanguage{english} +\makeatother % TODO https://github.com/fc7/polyglossia/issues/#issue/13 +\setcounter{tocdepth}{2} +\let\oldusage\usage +\renewcommand{\usage}[1]{\oldusage{\hyperpage{#1}}} +\let\oldglossary\glossary +\renewcommand{\glossary}[1]{\oldglossary{#1|hyperpage}} +\hypersetup{% + bookmarksdepth=3,% + colorlinks=true,% + linktocpage=true% +} +\VerbatimFootnotes + +\renewcommand{\filesep}{\thesection} +\makeatletter +\@addtoreset{CodelineNo}{section} +\makeatother +\newcommand{\BeginFileSections}{\appendix} + +\providecommand{\email}[1]{\href{mailto:#1}{\nolinkurl{<#1>}}} +\newenvironment{example}{\begin{quote}}{\end{quote}} +\newcommand{\optstar}{\meta{\textnormal{\texttt{*}}}} +\newcommand{\pack}[1]{\mbox{\textsf{#1}}} +\newcommand{\sys}[1]{\texttt{#1}} +\providecommand{\MakeIndex}{\textit{Make\-Index}} + +\begin{document} + \DocInput{fixlatvian.dtx} + \PrintChanges + \PrintIndex +\end{document} +%</driver> +% \fi +% +% \CheckSum{369} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \changes{v1}{2011/01/30}{Sākuma versija} +% \changes{v1a}{2011/01/31}{Pievienots \sys{README}} +% +% \GetFileInfoSVN{fixlatvian} +% +% \title{\pack{FixLatvian} pakotne\texorpdfstring{^^A +% \thanks{Versija~\fileversion{} (\filedate).}}{}} +% \author{Andrejs Vihrovs\texorpdfstring{ \email{andrey.vihrov@gmail.com}}{}} +% \makeatletter +% \hypersetup{pdftitle={\@title},pdfauthor={\@author},^^A +% pdfkeywords={latex latviešu valodā, latex latviski, latex latviskošana}} +% \makeatother +% +% \maketitle +% +% \renewcommand{\abstractname}{Pateicības} +% \begin{abstract} +% Pateicība pienākas Madaram Virzam par sniegtajiem padomiem. +% +% Šī pakotne savā darbā izmanto \pack{caption}, \pack{etoolbox}, +% \pack{perpage}, \pack{polyglossia}, \pack{xstring}, \pack{indentfirst} un +% \pack{icomma} pakotnes. +% \end{abstract} +% +% \tableofcontents +% +% \section{Ievads} +% \LaTeX{} sistēma sākumā bija domāta darbam ar dokumentiem angļu valodā, citu +% valodu atbalstu ierobežojot galvenokārt ar iespēju ievadīt burtus ar +% diakritiskajām zīmēm. Laika gaitā parādījās pilnīgāki risinājumi dokumentu +% izveidei citās valodās; daudzi no tiem tika apkopoti \pack{babel} pakotnē~^^A +% \cite{babel}. Šādi mēģinājumi tika veikti arī latviešu valodai~\cite{drikis}, +% tomēr netika iekļauti \textsc{ctan} arhīvā un \TeX{} distributīvos. +% +% Pēdējos gados ir parādījušies rīki, kas ievērojami atvieglo dažādu valodu +% lietošanu \LaTeX{} sistēmā. Pirmkārt, tas ir \XeTeX{} dzinis~\cite{xetex}, +% kas strādā ar \textenglish{Unicode} tekstu un liek aizmirst par ievada un +% fontu kodējumiem. Otrkārt, \TeX{} pasaulei kļuvuši pieejami daudzi fonti, kas +% satur plašu \textenglish{Unicode} simbolu klāstu. Tādi ir, piemēram, +% \textenglish{Latin Modern}~\cite{lm} un \textenglish{Computer Modern +% Unicode}~\cite{cmu}. Šie jauninājumi atrisināja daudzas tehniskas problēmas, +% ar kurām saskarās valodu atbalsta pakotņu autori pirms tam~--- dažreiz pat +% labākā veidā. +% +% Valodas atbalstu var iedalīt sekojošajās galvenajās kategorijās: +% \begin{inparaenum}[(a)] +% \item valodas alfabēta burtu ievada iespējamība;\label{cat:in} +% \item attiecīgo simbolu atbalsts fontos;\label{cat:fnt} +% \item vārdu pārnesumu likšana;\label{cat:hyp} +% \item nosaukumu tulkojumi;\label{cat:trans} +% \item valodas punktuācija un noformējums.\label{cat:sty} +% \end{inparaenum} +% Izmantojot \XeTeX{} kopā ar \pack{polyglossia} pakotni, kas ir mūsdienu +% \pack{babel} aizvietojums~\cite{poly}, latviešu valodas gadījumā ir iespējams +% tikt galā ar \nref{cat:in}--\nref{cat:trans}~punktiem. Tomēr dažas lietas, +% tādas kā automātiska numerācija ar punktiem un pareiza virsrakstu forma, vēl +% joprojām prasa manuālas izmaiņas. +% +% \pack{FixLatvian} pakotne apkopo dažādus šāda veida uzlabojumus, kā arī +% pielāgo vairākas pakotnes darbam ar latviešu valodu. Tās mērķis ir ļaut +% izveidot dokumentus, kas atbilstu latviešu valodā pieņemtajam noformējumam +% gan dokumenta struktūras, gan teksta līmenī. Lai lietotu šo pakotni, +% dokuments ir jāapstrādā ar \sys{xelatex} komandu. +% +% Patlaban lielā mērā tiek atbalstītas standarta \LaTeX{} dokumentu klases un +% dažas pakotnes. Tiek laipni lūgtas idejas un ierosinājumi par citu dokumentu +% klašu un pakotņu atbalsta pievienošanu. +% +% \section{Lietošana} +% \subsection{Pakotnes pieslēgšana} +% Pakotni pieslēdz ar |\usepackage{fixlatvian}| komandu. Tās ielādes laikā tiek +% pieslēgta arī \pack{polyglossia} pakotne, kā arī dokumenta valoda tiek +% uzstādīta uz |latvian|. \pack{FixLatvian} pakotne būtu jāpieslēdz pēc +% \pack{hyperref} vai \pack{amsthm} pakotnēm, ja tādas tiek izmantotas. +% +% \subsection{Numerācija ar punktiem} +% \label{sec:numbering} +% \DescribeMacro{\ref} +% \DescribeMacro{\pageref} +% Pēc automātiski izveidotajiem numuriem (nodaļas, sekcijas, attēli, utt.)\ +% tiek likti punkti (piem., <<\ref{sec:numbering} apakšnodaļa>>). Tie parādās +% virsrakstu numerācijā, saturā un citos sarakstos, kā arī lietojot ierastās +% |\ref| un |\pageref| komandas. Saturā punkts netiek likts, ja numurs beidzas +% ne ar ciparu vai burtu (piem., <<\mbox{(a)\quad Kāda attēla apakšattēls}>>). +% +% \DescribeMacro{\nref} +% \DescribeMacro{\npageref} +% Dažreiz ir nepieciešams izmantot numuru bez tam sekojošā punkta, piem., +% <<apakšnodaļa~\nref{sec:numbering}>>. Šim gadījumam ir paredzētas |\nref| un +% |\npageref| komandas, kuru lietošanas sintakse ir līdzīga |\ref| un +% |\pageref| komandām: +% \begin{example} +% |\nref|\optstar\marg{iezīme}\\ +% |\npageref|\optstar\marg{iezīme} +% \end{example} +% +% \subsection{Nosaukumu tulkojumi} +% \pack{FixLatvian} pakotne satur vairāku nosaukumu un tekstu tulkojumus +% papildus tam, ko jau piedāvā \pack{polyglossia} pakotne. Tulkojamo tekstu +% saraksts satur gan dažas \LaTeX{} komandas, gan vairāku citu pakotņu komandas +% (sk.~\ref{sec:packsupport} nodaļu). +% +% \DescribeMacro{\alph} +% \DescribeMacro{\Alph} +% |\alph| un |\Alph| komandas, kas pārvērš \LaTeX{} skaitītāju vērtības burtos, +% tagad izvada tikai latviešu alfabētā esošos, izņemot burtus ar diakritiskajām +% zīmēm. +% +% \subsection{Virsrakstu pielāgojumi} +% \DescribeMacro{\part} +% \DescribeMacro{\chapter} +% Standarta \LaTeX{} dokumentu klašu daļu un nodaļu virsrakstos numurs tagad ir +% pirms vārda, nevis pēc (piem., <<1.~nodaļa>>). Izņēmums ir pielikumu +% virsraksts, kas saglabā veco kārtību (<<Pielikums~A>>). Daļas tiek numurētas +% ar arābu cipariem. +% +% \DescribeMacro{\caption} +% \DescribeMacro{\newtheorem} +% Tiek mainīti attēlu un tabulu (<<1.~att.~Nosaukums>>), teorēmu tipa un arī +% citu <<peldošo>> bloku virsraksti. +% +% \subsection{Noformējuma īpatnības} +% Tiek uzstādīts vienāds atstarpju garums pēc visiem simboliem. Lai atgrieztu +% \LaTeX{} noklusēto variantu, kurā pēc pieturzīmēm liek lielākas atstarpes, kā +% tradicionāli pieņemts angļu valodā, pēc pakotnes ielādes jālieto komanda +% |\nonfrenchspacing|. +% +% \DescribeMacro{\footnote} +% Zemteksta piezīmju numerācija tagad sākas no jauna katru lappusi. +% +% Komatu tagad var izmantot kā skaitļu decimāldaļas atdalītāju. +% +% \subsection{Rādītāja lietošana} +% Daži \MakeIndex{} stili pirms vārdu grupām rādītājā liek grupu nosaukumus. +% Ir pieejama \sys{lv.ist} stila datne ar šiem nosaukumiem latviešu valodā. +% Lai to lietotu, tā ir jāapvieno kopā ar pamata stilu vienā datnē. +% +% \section{Padomi darbā} +% \subsection{Pēdiņu ievads} +% \XeTeX{} dzinis piedāvā kombinācijas dažādu pēdiņu ievadam, tāpat kā ar +% simboliem |---| var ievadīt domuzīmi~\cite{xetex-ligs}. Šīs kombinācijas ir +% dotas \ref{tab:quot} tabulā. Protams, visus šos simbolus var ievadīt arī +% tiešā veidā kā \textenglish{Unicode} tekstu. +% +% \begin{table}[hb] +% \caption{Pēdiņu ievads}\label{tab:quot} +% \centering +% \begin{tabular}{cc} +% Ievads & Rezultāts \\\midrule +% |<<Piemērs>>| & <<Piemērs>> \\ +% |,,Piemērs``| & ,,Piemērs`` +% \end{tabular} +% \end{table} +% +% \subsection{Nepareizs teksts virsrakstos} +% Lietojot pakotnes, kuras \pack{FixLatvian} vēl nepazīst, var saskarties ar +% nepārtulkotiem vai nepilnīgiem virsrakstiem «peldošajos» blokos. Šajā +% gadījumā autoram pašam ir jāmaina virsraksta nosaukums. Ieteicams vērsties +% pie attiecīgās pakotnes dokumentācijas. +% +% Piemēram, ja bloka nosaukums ir |something|, tad, iespējams, tā virsraksta +% tekstu var pielāgot ar komandu +% \begin{example} +% |\renewcommand{\somethingname}{tulkojums}| +% \end{example} +% vai arī, ja šis bloks tiek veidots ar \pack{float} pakotnes palīdzību, ar +% komandu +% \begin{example} +% |\floatname{something}{tulkojums}| +% \end{example} +% +% \section{Citu pakotņu atbalsts} +% \label{sec:packsupport} +% Šī pakotne ir savietojama ar +% \pack{algorithms}, +% \pack{amsthm}, +% \pack{appendix}, +% \pack{caption}, +% \pack{doc}, +% \pack{float}, +% \pack{hyperref}, +% \pack{listings} +% pakotnēm. +% +% \section{Kļūdu ziņošana} +% Kļūdu ziņošanai un uzlabojumu ieteikšanai var lietot autora e-pasta adresi, +% kā arī izmantot tiešsaistē pieejamo problēmu izsekošanas sistēmu: +% \url{http://code.google.com/p/fixlatvian/issues}. +% +% \renewcommand{\refname}{Atsauces} +% \StopEventually{ +% \begin{thebibliography}{9} +% \bibitem{babel} \url{http://ctan.org/pkg/babel} +% \bibitem{drikis} +% \url{http://home.lu.lv/~drikis/LaTeX-Latviski/latex-latviski.html} +% \bibitem{xetex} \url{http://scripts.sil.org/xetex} +% \bibitem{lm} \url{http://gust.org.pl/projects/e-foundry/latin-modern} +% \bibitem{cmu} \url{http://canopus.iacp.dvo.ru/~panov/cm-unicode/} +% \bibitem{poly} \url{http://ctan.org/pkg/polyglossia} +% \bibitem{xetex-ligs} \url{http://scripts.sil.org/xetex_faq\#ligs} +% \bibitem{deccomma} +% \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dec_comma} +% \bibitem{fnpp} +% \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=footnpp} +% \end{thebibliography} +% } +% +% \BeginFileSections +% +% \section{Realizācija} +% \subsection{Sagatavošanās darbam} +% Sākumā ielādē citas pakotnes, kas nepieciešamas darbam. +% \begin{macrocode} +%<*package> +\RequirePackage{caption} +\RequirePackage{etoolbox} +\RequirePackage{perpage} +\RequirePackage{polyglossia} +\RequirePackage{xstring} +% \end{macrocode} +% +% Pieņem, ka pirmajām rindkopām ir atkāpes. +% \begin{macrocode} +\RequirePackage{indentfirst} +% \end{macrocode} +% +% Atļauj lietot komatu kā decimāldaļas atdalītāju~\cite{deccomma}. +% \begin{macrocode} +\RequirePackage{icomma} +% \end{macrocode} +% +% Definē un apstrādā pakotnes parametrus. +% \begin{macrocode} +\ProcessOptions\relax +% \end{macrocode} +% +% Uzstāda latviešu valodu kā dokumenta valodu. +% \begin{macrocode} +\@ifundefined{latvian@loaded}{\setdefaultlanguage{latvian}}{} +% \end{macrocode} +% +% \changes{v1a}{2011/02/03}{Izņemti \string\verb+frenchspacing+ un +% \string\verb+nonfrenchspacing+ pa\-ra\-met\-ri} ^^A FIXME +% Uzstāda vienādas atstarpes pēc visiem simboliem. +% \begin{macrocode} +\frenchspacing +% \end{macrocode} +% +% \begin{macro}{\FixL@warning} +% \begin{macro}{\FixL@warning@noline} +% \begin{macro}{\FixL@info} +% Definē brīdinājumu un paziņojumu izvada komandas. +% \begin{macrocode} +\newcommand{\FixL@warning}[1]{\PackageWarning{fixlatvian}{#1}} +\newcommand{\FixL@warning@noline}[1]{% + \PackageWarningNoLine{fixlatvian}{#1}} +\newcommand{\FixL@info}[1]{\PackageInfo{fixlatvian}{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\FixL@alnum} +% \begin{macro}{\FixL@patchfailed} +% \begin{macro}{\FixL@checkbefore} +% Definē arī palīgkomandas. +% \begin{macrocode} +\newcommand{\FixL@alnum}{% + ABCDEFGHIJKLMNOPQRSTUVWXYZ% + abcdefghijklmnopqrstuvwxyz% + 0123456789% +} +\newcommand{\FixL@patchfailed}[1]{% + \FixL@info{Could not change the definition of the \protect #1 command}} +\newcommand{\FixL@checkbefore}[1]{% + \expandafter\newif\csname ifFixL@#1@before\endcsname + \@ifpackageloaded{#1}{\csname FixL@#1@beforetrue\endcsname}{}% + \AtBeginDocument{% + \@ifpackageloaded{#1}{% + \csname ifFixL@#1@before\endcsname\else + \FixL@warning@noline{This package should be loaded after #1}% + \fi + }{}}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% Pārbauda, ka \pack{hyperref} un \pack{amsthm} pakotnes nav tikušas ielādētas +% \emph{pēc} šīs. +% \begin{macrocode} +\FixL@checkbefore{hyperref} +\FixL@checkbefore{amsthm} +% \end{macrocode} +% +% \subsection{Numerācija ar punktiem} +% \begin{macro}{\FixL@p} +% Definē punkta pievienošanas komandu. Pēc punkta neatļauj teikuma beigas +% (svarīgs tikai ar |\nonfrenchspacing|) un rindas beigas. +% \begin{macrocode} +\newcommand{\FixL@p}{.\@\nobreak} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\FixL@bigspace} +% Vietās, kur pēc numura oriģināli tiek lietots |\quad|, izmanto mazāku +% atstarpi, lai kompensētu punkta radīto tukšumu. +% \begin{macrocode} +\newcommand{\FixL@bigspace}{\hspace{.66667em}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@seccntformat} +% Pievieno punktu sekciju u.\,c.\ numuriem virsrakstos. |\@seccntformat| +% komandas oriģinālā definīcija atrodas \sys{tex/latex/base/latex.ltx} datnē. +% \begin{macrocode} +\CheckCommand*{\@seccntformat}[1]{\csname the#1\endcsname\quad} +\renewcommand{\@seccntformat}[1]{% + \csname the#1\endcsname\FixL@p\FixL@bigspace} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\numberline} +% Pievieno punktu ierakstiem saturā un citos sarakstos. Ja ieraksta numurs +% beidzas ne ar ciparu vai latīņu alfabēta burtu, tad punktu neliek. +% |\numberline| sākuma definīcija atrodas tajā pašā datnē kā |\@seccntformat|. +% \begin{macrocode} +\let\FixL@old@numberline\numberline +\renewcommand{\numberline}[1]{% + \StrRight{#1}{1}[\FixL@tempa]% + \FixL@old@numberline{#1% + \IfSubStr{\FixL@alnum}{\FixL@tempa}{\FixL@p}{}% + }} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\nref} +% \begin{macro}{\npageref} +% Saglabā vecas |\ref| un |\pageref| versijas |\nref| un |\npageref| komandās. +% \pack{hyperref} pakotne pārdefinē šīs komandas |\begin{document}| izpildes +% laikā, tāpēc \pack{FixLatvian} pakotnes definīcijas jāievieš pēc tam. +% \begin{macrocode} +\AtBeginDocument{% + \let\nref\ref + \let\npageref\pageref +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\ref} +% \begin{macro}{\pageref} +% Izveido |\ref| un |\pageref| jaunās versijas~--- ar punktiem. Sākumā definē +% komandu, kas būs pamats visām lietotāja līmeņa komandām. +% \begin{macrocode} +\newcommand{\FixL@ref@base}[4]{% + \begingroup + \newcommand{\FixL@tempb}{\csname n#1\endcsname #2{#4}\FixL@p}% + \IfStrEq{#3}{hyper}{\hyperref[#4]{\FixL@tempb}}{\FixL@tempb}% + \endgroup + \nobreak % Extra \nobreak +} +% \end{macrocode} +% +% Pēc tam definē pašas komandas, izmantojot iepriekš izveidoto. Padara +% iespējamu šo komandu izmantošanu <<kustīgajos parametros>>.\footnote{^^A +% |\DeclareRobustCommand| nevar izmantot ar \pack{hyperref} versijām, jo +% \Verb[showspaces=true]|ref | un \Verb[showspaces=true]|pageref | +% identifikatorus joprojām izmanto |\nref| un |\npageref| komandas. Toties +% |\robustify| no \pack{etoolbox} pakotnes neprasa papildu komandu definēšanu.} +% \begin{macrocode} +\AtBeginDocument{% + \@ifpackageloaded{hyperref}{% + \newcommand{\FixL@ref}[1]{\FixL@ref@base{ref}{*}{hyper}{#1}}% + \newcommand{\FixL@ref@star}[1]{\FixL@ref@base{ref}{*}{}{#1}}% + \renewcommand{\ref}{\@ifstar\FixL@ref@star\FixL@ref}% + \newcommand{\FixL@pageref}[1]{\FixL@ref@base{pageref}{*}{hyper}{#1}}% + \newcommand{\FixL@pageref@star}[1]{\FixL@ref@base{pageref}{*}{}{#1}}% + \renewcommand{\pageref}{\@ifstar\FixL@pageref@star\FixL@pageref}% + }{% + \renewcommand{\ref}[1]{\FixL@ref@base{ref}{}{}{#1}}% + \renewcommand{\pageref}[1]{\FixL@ref@base{pageref}{}{}{#1}}% + }% + \robustify{\ref}% + \robustify{\pageref}% +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsection{Nosaukumu tulkojumi} +% \begin{macro}{\alsoname} +% \begin{macro}{\chaptername} +% \begin{macro}{\figurename} +% \begin{macro}{\indexname} +% \begin{macro}{\partname} +% \begin{macro}{\tablename} +% \begin{macro}{\seename} +% Pielāgo dažus \LaTeX{} nosaukumus. +% \begin{macrocode} +\gappto\captionslatvian{% + \renewcommand{\alsoname}{sk.~arī}% + \renewcommand{\chaptername}{nodaļa}% + \renewcommand{\figurename}{att}% + \renewcommand{\indexname}{Rādītājs}% + \renewcommand{\partname}{daļa}% + \renewcommand{\tablename}{tabula}% + \renewcommand{\seename}{sk.\@}% +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsubsection{Numerācija ar latviešu burtiem} +% \begin{macro}{\@alph} +% \begin{macro}{\@Alph} +% Izmaina |\@alph| un |\@Alph| komandu definīcijas, lai tās saturētu tikai +% latviešu alfabēta burtus bez diakritiskajām zīmēm. +% \begin{macrocode} +\renewcommand{\@alph}[1]{% + \ifcase #1\or a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or k\or l% + \or m\or n\or o\or p\or r\or s\or t\or u\or v\or z\else\@ctrerr\fi} +\renewcommand{\@Alph}[1]{% + \ifcase #1\or A\or B\or C\or D\or E\or F\or G\or H\or I\or J\or K\or L% + \or M\or N\or O\or P\or R\or S\or T\or U\or V\or Z\else\@ctrerr\fi} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsection{Virsrakstu pielāgojumi} +% \subsubsection{Daļu un nodaļu virsraksti} +% \begin{macro}{\@makechapterhead} +% Izmaina nodaļu virsrakstu vārdu secību no <<Nodaļa~1>> uz <<1.~nodaļa>> (bet +% atstāj <<Pielikums~A>>). Ja <<|\@chapapp\space \thechapter|>> virkne nav +% atrodama |\@makechapterhead| komandā, pieņem, ka lietotājs izveidojis savu +% variantu, un neko nedara. +% \begin{macrocode} +\@ifundefined{@makechapterhead}{}{% + \patchcmd{\@makechapterhead}{\@chapapp\space \thechapter}{% + \IfStrEq{\@chapapp}{\appendixname}{\@chapapp\space\thechapter}{% + \thechapter\FixL@p\space\@chapapp}% + }{}{\FixL@patchfailed{\chapter}}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@part} +% To pašu dara arī ar daļu virsrakstiem. \pack{hyperref} pakotne izveido savu +% |\part| definīciju, tāpēc šis gadījums arī jāņem vērā. +% \begin{macrocode} +\newcommand{\FixL@fix@part}[1]{% + \@ifundefined{#1}{}{% + \renewcommand{\thepart}{\arabic{part}}% + \expandafter\patchcmd\csname #1\endcsname{% + \partname\nobreakspace\thepart}{\thepart\FixL@p\space\partname}{}{% + \FixL@patchfailed{\part}}% + }} +\AtBeginDocument{\FixL@fix@part{% + \@ifpackageloaded{hyperref}{H@old@part}{@part}}} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Virsraksti galvenē un kājenē} +% \begin{macro}{\chaptermark} +% \begin{macro}{\sectionmark} +% \begin{macro}{\subsectionmark} +% Pielāgo noklusēto nodaļu un apakšnodaļu ierakstu noformējumu. +% \begin{macrocode} +\patchcmd{\ps@headings}{\@chapapp\ \thechapter}{% + \thechapter\FixL@p\space\@chapapp}{}{\FixL@patchfailed{\chaptermark}} +\patchcmd{\ps@headings}{\thesection\quad}{% + \thesection\FixL@p\FixL@bigspace}{}{\FixL@patchfailed{\sectionmark}} +\patchcmd{\ps@headings}{\thesubsection\quad}{% + \thesubsection\FixL@p\FixL@bigspace}{}{% + \FixL@patchfailed{\subsectionmark}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsubsection{«Peldošo» bloku virsraksti} +% Izmaina virsraksta pirmās daļas atdalītāju. +% \begin{macrocode} +\DeclareCaptionLabelSeparator{period@}{.\@\space} +\captionsetup{labelsep=period@} +% \end{macrocode} +% +% Izmaina virsraksta pirmās daļas noformējumu. +% \begin{macrocode} +\DeclareCaptionLabelFormat{latvian}{#2\FixL@p\space #1} +\captionsetup{labelformat=latvian} +% \end{macrocode} +% +% \subsubsection{Teorēmu virsraksti} +% \begin{macro}{\swappedhead} +% \begin{macro}{\@begintheorem} +% \begin{macro}{\@opargbegintheorem} +% Pielāgojot teorēmu virsrakstus, ņem vērā, vai ir ielādēta \pack{amsthm} +% pakotne. +% ^^A Can't easily use \patchcmd and # inside a macro argument +% \begin{macrocode} +\newif\ifFixL@amsthm@loaded +\@ifpackageloaded{amsthm}{\FixL@amsthm@loadedtrue}{} +\ifFixL@amsthm@loaded + \swapnumbers + \newcommand{\FixL@thmnumber}[1]{\@ifempty{#1}{}{#1\FixL@p}} + \patchcmd{\swappedhead}{\thmnumber}{\FixL@thmnumber}{}{% + \FixL@patchfailed{\swappedhead}} +\else + \patchcmd{\@begintheorem}{#1\ #2}{#2\FixL@p\space #1}{}{% + \FixL@patchfailed{\@begintheorem}} + \patchcmd{\@opargbegintheorem}{#1\ #2}{#2\FixL@p\space #1}{}{% + \FixL@patchfailed{\@opargbegintheorem}} +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsection{Zemteksta piezīmes} +% Sāk zemteksta piezīmju numerāciju no jauna katru lappusi~\cite{fnpp}. +% \begin{macrocode} +\MakePerPage{footnote} +% \end{macrocode} +% +% \subsection{Citu pakotņu atbalsts} +% \begin{macro}{\FixL@inpackage} +% \begin{macro}{\FixL@translate} +% Sākumā izveido palīgkomandas nosaukumu utt.\ maiņai citās pakotnēs. +% \begin{macrocode} +\newcommand{\FixL@inpackage}[2]{% + \AtBeginDocument{\@ifpackageloaded{#1}{#2}{}}} +\newcommand{\FixL@translate}[3]{% + \FixL@inpackage{#1}{% + \expandafter\renewcommand\csname #2\endcsname{#3}% + }} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsubsection{Pakotnes \pack{float} atbalsts} +% Izmaina |ruled| virsrakstu stilu. Atdalītājpunktu nepievieno, jo |ruled| +% virsraksta pirmā daļa jau tāpat ir treknrakstā. +% \begin{macrocode} +\FixL@inpackage{float}{\captionsetup[ruled]{labelformat=latvian}} +% \end{macrocode} +% +% \begin{macro}{\floatname} +% Pielāgo |\floatname| darbam ar \pack{caption}. +% \begin{macrocode} +\FixL@inpackage{float}{\renewcommand{\floatname}[2]{% + \expandafter\def\csname #1name\endcsname{#2}}} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Pakotnes \pack{algorithms} atbalsts} +% \begin{macro}{\listalgorithmname} +% Izmaina algoritmu saraksta nosaukumu. +% \begin{macrocode} +\FixL@translate{algorithm}{listalgorithmname}{Algoritmu saraksts} +% \end{macrocode} +% \end{macro} +% +% Izmaina algoritmu tekstu nosaukumu. +% \begin{macrocode} +\FixL@inpackage{algorithm}{\floatname{algorithm}{algoritms}} +% \end{macrocode} +% +% \subsubsection{Pakotnes \pack{amsthm} atbalsts} +% \begin{macro}{\proofname} +% Izmaina pierādījumu noklusēto nosaukumu. +% \begin{macrocode} +\FixL@translate{amsthm}{proofname}{Pierādījums} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Pakotnes \pack{appendix} atbalsts} +% \begin{macro}{\appendixtocname} +% Izmaina pielikumu sadaļas virsrakstu saturā. +% \begin{macrocode} +\FixL@translate{appendix}{appendixtocname}{Pielikumi} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Pakotnes \pack{doc} atbalsts} +% \begin{macro}{\GlossaryPrologue} +% \begin{macro}{\IndexPrologue} +% \begin{macro}{\generalname} +% Veic dažas izmaiņas, kas nepieciešamas šī paša dokumenta izveidei. +% \begin{macrocode} +\newcommand{\FixL@doc@glossaryname}{Izmaiņu saraksts} +\FixL@inpackage{doc}{\GlossaryPrologue{% + \section*{\FixL@doc@glossaryname}% + \markboth{\FixL@doc@glossaryname}{\FixL@doc@glossaryname}% +}} +\FixL@inpackage{doc}{\IndexPrologue{% + \section*{\indexname}% + \markboth{\indexname}{\indexname}% + Numuri kursīvā apzīmē lappusi, kurā aprakstīta attiecīgā komanda; + pasvītrotie numuri norāda uz komandas \ifcodeline@index definīcijas + pirmkoda rindu\else definīciju\fi; numuri parastajā rakstā apzīmē + \ifcodeline@index pirmkoda rindu\else lappusi\fi, kurā komanda tiek + izmantota.% +}} +\FixL@translate{doc}{generalname}{Vispārīgi} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsubsection{Pakotnes \pack{listings} atbalsts} +% \begin{macro}{\lstlistlistingname} +% Izmaina pirmkoda tekstu saraksta nosaukumu. +% \begin{macrocode} +\FixL@translate{listings}{lstlistlistingname}{Pirmkoda tekstu saraksts} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\lstlistingname} +% Izmaina pirmkoda tekstu bloku nosaukumu. +% \begin{macrocode} +\FixL@translate{listings}{lstlistingname}{% + \ifx\lst@@caption\@empty P\else p\fi irmkods} +%</package> +% \end{macrocode} +% \end{macro} +% +% \section{\MakeIndex{} stila datne} +% Definē latviešu virsrakstus rādītāja ailēm. +% \begin{macrocode} +%<*ist> +symhead_positive "Simboli" +symhead_negative "simboli" +numhead_positive "Skaitļi" +numhead_negative "skaitļi" +%</ist> +% \end{macrocode} +% +% \Finale diff --git a/Master/texmf-dist/source/xelatex/fixlatvian/fixlatvian.ins b/Master/texmf-dist/source/xelatex/fixlatvian/fixlatvian.ins new file mode 100644 index 00000000000..4d234adbd88 --- /dev/null +++ b/Master/texmf-dist/source/xelatex/fixlatvian/fixlatvian.ins @@ -0,0 +1,63 @@ +% +% Copyright (C) Andrey Vihrov <andrey.vihrov@gmail.com>, 2010-2011 +% +% 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 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% See the README for a list of files that constitute this work. +% + +\input docstrip +\keepsilent + +% Check if \BaseDirectory hasn't been called +\def\ifnobasedir{\expandafter\ifx\csname basedir\endcsname\relax} + +\usedir{tex/xelatex/fixlatvian} + +\preamble +\endpreamble +\declarepostamble\noendinput +\endpostamble + +\askforoverwritefalse +\generate{ + \file{fixlatvian.sty}{\from{fixlatvian.dtx}{package}} + \usepostamble\noendinput + \usedir{makeindex/fixlatvian} + \file{lv.ist}{\from{fixlatvian.dtx}{ist}}} + +\begingroup +\obeyspaces +\Msg{*************************************************************} +\ifnobasedir +\Msg{* *} +\Msg{* To finish the installation you have to move the following *} +\Msg{* file into a directory searched by TeX: *} +\Msg{* *} +\Msg{* fixlatvian.sty *} +\Msg{* *} +\Msg{* Also move the following file into a directory searched by *} +\Msg{* MakeIndex: *} +\Msg{* *} +\Msg{* lv.ist *} +\fi +\Msg{* *} +\Msg{* To produce the documentation run the file fixlatvian.dtx *} +\Msg{* through LaTeX. *} +\Msg{* *} +\Msg{* Happy TeXing! *} +\Msg{* *} +\Msg{*************************************************************} +\endgroup + +\endbatchfile |