diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/bredzenie/bredzenie.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/bredzenie/bredzenie.tex | 198 |
1 files changed, 198 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/bredzenie/bredzenie.tex b/Master/texmf-dist/doc/latex/bredzenie/bredzenie.tex new file mode 100644 index 00000000000..0e25a855e53 --- /dev/null +++ b/Master/texmf-dist/doc/latex/bredzenie/bredzenie.tex @@ -0,0 +1,198 @@ +\documentclass{ltxdoc} + +\usepackage{fontspec,polski,bredzenie,soul,booktabs,unicode-math} + +\setmainfont[Numbers=OldStyle]{STIX Two Text} +\setmathfont{STIX Two Math} + +\edef\MaxBredzenie{\csname bredzenie@max\endcsname} + +\title{Package \texttt{bredzenie} – \MaxBredzenie\ + paragraphs of pseudo-Polish at your disposal} + +\author{Marcin Woliński} + +% Get the version and date of bredzenie: +\def\getVersion#1 #2 #3\relax{% + \date{#2, #1}% +} +\expandafter\expandafter\expandafter +\getVersion\csname ver@bredzenie.sty\endcsname\relax + +\begin{document} +\selecthyphenation{english} +\maketitle + +Graphic designers often need some semantically neutral material to +showcase a document layout. This problem is usually solved by using +the classic pseudo-Latin text \textit{Lorem ipsum dolor sit amet…}. +This text has been made available by Patrick Happel in the form of the +\LaTeX\ package \texttt{lipsum.sty}. + +However, languages differ in word lengths, characteristic frequency of +letters and their $n$-grams, and so on. This means that a page of +text in Latin will look different than a page of Polish. For the +development of Polish document classes I have developed the package +\texttt{bredzenie}\footnote{In Polish \emph{bredzenie} means ‘talking + nonsense’.}, which provides access to several paragraphs of +pseudo-Polish. + +The text has been generated with Hidden Markov Models and, +alternatively, Recurrent Neural Networks trained on a corpus of +Polish. Although the text makes absolutely no sense, it exhibits +correct statistical characteristics, it “looks” Polish (in particular +Polish hyphenation patterns are applicable). + +The implementation uses e\TeX\ features (\cs{numexpr} and +\cs{protected}), but that should be OK with all contemporary \TeX\ +implementations. + +\section{User Interface} +\label{sec:interface} + +The package can be loaded with the usual +\begin{verbatim} +\usepackage{bredzenie} +\end{verbatim} +The text provided by the package is encoded in UTF-8, so if one is +using old-fashioned 8-bit \TeX, an earlier +\verb|\usepackage[utf8]{inputenc}| invocation is mandatory. + + +\begin{macro}{\bredzenie} +The main command provided by the package is \cs{bredzenie} with one mandatory +argument.\footnote{This is different than in package \texttt{lipsum}, +where the argument is optional.} This command fetches one or more of \csname +bredzenie@max\endcsname\ stored paragraphs. The +argument has to be a number of a paragraph (starting with 1) or a +range specified by two numbers: +\begin{verbatim} +\bredzenie{1} +\bredzenie{105-108} +\end{verbatim} +For example, the range 105–108 generates: +\begin{quotation}%\itshape + \selecthyphenation{polish} + \bredzenie{105-108} +\end{quotation} + +\begin{macro}{\BredzenieSep} + When a range of text snippets is fetched, they are separated with + calls to \cs{BredzenieSep}. This command is defined in the package + as \cs{par}, so the snippets are treated as separate paragraphs. + However, no separator is added at the end, so bredzenie can also be + used within a paragraph (in this context short fragments number + 201–210 are very useful): +\begin{verbatim} +\bredzenie{201} \textsc{\bredzenie{202}} \bredzenie{203} +\textit{\bredzenie{205}} \bredzenie{206} +\(\sum_{i=1}^{210}\alpha_iv_i\) \bredzenie{207}. +\end{verbatim} +\begin{quotation} + \selecthyphenation{polish} +\bredzenie{201} \textsc{\bredzenie{202}} \bredzenie{203} +\textit{\bredzenie{205}} \bredzenie{206} +\(\sum_{i=1}^{210}\alpha_iv_i\) \bredzenie{207}. +\end{quotation} +For special effects \cs{BredzenieSep} can be redefined. +\end{macro} + +The command \cs{bredzenie} is fully expandable, so you can use it also +in the contexts like +\begin{verbatim} +\message{\bredzenie{72}} +\end{verbatim} +or in an \cs{edef}. For example, the command \cs{ul} from the package +\texttt{soul} needs to be given explicit text, not a command providing +text. This can be achieved in the following way: +\begin{verbatim} +\edef\tobeunderlined{\bredzenie{205}} +\bredzenie{202} \bredzenie{204} +\expandafter\ul\expandafter{\tobeunderlined} +\bredzenie{206}… +\end{verbatim} +\begin{quotation} + \selecthyphenation{polish} +\edef\tobeunderlined{\bredzenie{205}} +\bredzenie{202} \bredzenie{204} +\expandafter\ul\expandafter{\tobeunderlined} +\bredzenie{206}… +\end{quotation} +\end{macro} + +The following three commands can be redefined by the user to fine-tune +the appearance of the typeset text. +\begin{macro}{\BredzenieHyphen} +According to a Polish typographical rule, explicit hyphens used in +compound words should be doubled when they fall at a line break. Such +explicit hyphens in \texttt{bredzenie} are represented with the +command \cs{BredzenieHyphen}. +\end{macro} + +\begin{macro}{\BredzenieDash} +Dashes used as punctuation are represented with \cs{BredzenieDash}. +The package provides a definition for this command as an en-dash with +spaces around. If other variation on dashes is preferred, this +command can be redefined. +\end{macro} + +\begin{macro}{\BredzenieNbsp} + A Polish typographical rule forbids breaking lines after any + one-letter word. This is achieved in \LaTeX\ using the \verb|~| + command inserted at appropriate spots. However, in the texts + provided by \texttt{bredzenie} such spaces are represented as + \cs{BredzenieNbsp} to allow for redefinition. +\end{macro} + + +\section{The text} + +For your reading pleasure (provided you know Polish) here is the full +bredzenie. The paragraphs are numbered to ease selection of most +catchy fragments. See also Table~\ref{tab:index} for information on +type of text represented by particular paragraphs. +\def\tablename{Table} +\begin{table}[t] + \caption{A guide to the paragraphs of bredzenie} + \label{tab:index} + \begin{center} + \begin{tabular}{cp{9cm}} + \toprule + range & \multicolumn{1}{c}{how generated}\\\midrule + 1–50 & Hidden Markov Model trained on a balanced corpus of + Polish texts from 1960s (numbers written with words, no abbrevs)\\ + 51–100 & LSTM Recurrent Neural Network trained on 1-milion + subcorpus of the National Corpus of Polish \url{nkjp.pl} + (numbers, abbrevs, some blog text)\\ + 101–\MaxBredzenie & LSTM trained on several novels by Henryk + Sienkiewicz (many dialogues)\\ + \bottomrule + \end{tabular} + \end{center} +\end{table} + + +\bigskip +\selecthyphenation{polish} +\makeatletter +\newcounter{numbred} +\let\bredzenie@orig\bredzenie@minmax +\def\bredzenie@minmax{\stepcounter{numbred}% + \leavevmode\llap{\textsuperscript{\bfseries\thenumbred\quad\indent}}% + \bredzenie@orig +} + +\bredzenie{1-\MaxBredzenie} + +\end{document} + + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% TeX-master: t +%%% TeX-engine: xetex +%%% TeX-PDF-mode: t +%%% coding: utf-8 +%%% ispell-local-dictionary: "british" +%%% End: |