diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex')
-rw-r--r-- | Master/texmf-dist/doc/latex/bibleref-parse/README | 15 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/bibleref-parse/bibleref-parse.pdf | bin | 0 -> 110530 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/bibleref-parse/bibleref-parse.tex | 499 |
3 files changed, 514 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/bibleref-parse/README b/Master/texmf-dist/doc/latex/bibleref-parse/README new file mode 100644 index 00000000000..839b1fcd265 --- /dev/null +++ b/Master/texmf-dist/doc/latex/bibleref-parse/README @@ -0,0 +1,15 @@ +The bibleref-parse package + +This package parses Bible passages that are given in human readable format. +It accepts a wide variety of formats. This allows for a simpler and more +convenient interface to the functionality of the bibleref package. + +Copyright (c) 2011 Sebastian Kuhnert +Licence: LPPL 1.3c or later +Current Maintainer: Sebastian Kuhnert + +Files belonging to this package: +bibleref-parse.sty The package itself +bibleref-parse.pdf Documentation +bibleref-parse.tex Documentation source +README This file diff --git a/Master/texmf-dist/doc/latex/bibleref-parse/bibleref-parse.pdf b/Master/texmf-dist/doc/latex/bibleref-parse/bibleref-parse.pdf Binary files differnew file mode 100644 index 00000000000..c11797bb17f --- /dev/null +++ b/Master/texmf-dist/doc/latex/bibleref-parse/bibleref-parse.pdf diff --git a/Master/texmf-dist/doc/latex/bibleref-parse/bibleref-parse.tex b/Master/texmf-dist/doc/latex/bibleref-parse/bibleref-parse.tex new file mode 100644 index 00000000000..76838279bfb --- /dev/null +++ b/Master/texmf-dist/doc/latex/bibleref-parse/bibleref-parse.tex @@ -0,0 +1,499 @@ +%% bibleref-parse.tex +%% Copyright (c) 2011 Sebastian Kuhnert +% +% This work may be distributed and/or modified under the conditions +% of the LaTeX Project Public License, either version 1.3c of this +% license or (at your option) any later version. The latest version +% of this license is at http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2008/05/04 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Sebastian Kuhnert. +% +% This work consists of the files listed in README +% +\documentclass[DIV12,BCOR0mm]{scrartcl} + +\frenchspacing + +\usepackage[T1]{fontenc} +\usepackage{bera} +\usepackage[bitstream-charter]{mathdesign} + +\usepackage[utf8]{inputenc} +\usepackage[ngerman,british]{babel} + +\addtokomafont{disposition}{\rmfamily} +\addtokomafont{descriptionlabel}{\rmfamily} + +\usepackage{csquotes} +\usepackage{xspace} +\usepackage{xcolor} +\usepackage{calc} +\usepackage{listings} +\lstloadlanguages{TeX} +\lstset{% + language=[LaTeX]TeX, + basicstyle=\ttfamily\color{blue!50!black}, + keywordstyle=,%\bfseries, + morekeywords={subject}, + identifierstyle=, + texcl, + commentstyle=\itshape, + showstringspaces=false, + breaklines, + breakatwhitespace, + %columns=flexible, + escapeinside={(*}{*)}, + mathescape, +} +\usepackage[raggedrightboxes]{ragged2e} +\usepackage{booktabs} +\newcommand{\thead}[1]{\textbf{\small #1}} +% \usepackage{xtab} +\usepackage{longtable} +\usepackage{pgffor} + +\usepackage[pdfusetitle]{hyperref} + +\newcommand{\ger}[1]{\foreignlanguage{ngerman}{#1}} + +\newcommand{\brp}{\texttt{bibleref-parse}\xspace} + +\newcommand{\param}[1]{$\langle${\normalfont\itshape #1\/}$\rangle$} +\newcommand{\opt}[1]{\textcolor{green!50!black}{#1}} +\newcommand{\option}[1]{{\normalfont\texttt{\color{blue!50!black}#1}}} + +\usepackage{bibleref-parse} +\usepackage[english]{isodate} + +\def\bbtGetInfo#1 v#2 #3\relax#4\relax{% + \def\bbtdate{#1}% + \def\bbtversion{#2}} +\letcs\bbtver{ver@bibleref-parse.sty} +\expandafter\bbtGetInfo\bbtver\relax? ? \relax\relax + +\title{The \brp Package} +\author{Sebastian Kuhnert} +\date{Documentation for version \bbtversion{} (\printdateTeX{\bbtdate})} + +\begin{document} +\maketitle + +\section{Introduction} + +The \brp package parses Bible passages that are given in human readable format. +It accepts a wide variety of formats. This allows for a simpler and more +convenient interface to the functionality of the \texttt{bibleref} package, +which provides a variety of different formatting options. + +\begin{center} + \begin{tabular}{@{}lll@{}} + \toprule + \thead{\brp syntax}&\thead{\texttt{bibleref} syntax}&\thead{result (using defaults)}\\ + \midrule + \texttt{\textbackslash pbibleverse\{1Cor 13:4-7\}}& + \texttt{\textbackslash bibleverse\{ICor\}(13:4-7)}& + \pbibleverse{1Cor 13:4-7}\\ + \texttt{\textbackslash pbibleverse\{Matt 9:35-10:1\}}& + \texttt{\textbackslash bibleverse\{Matt\}(9:35)-(10:1)}& + \pbibleverse{Matt 9:35-10:1}\\ + %\texttt{\textbackslash pbibleverse\{Jes53:6;Joh19:30\}}& + %\texttt{\textbackslash bibleverse\{Jes\}(53:6); \textbackslash bibleverse\{Joh\}(19:30)}\\ + \bottomrule + \end{tabular} +\end{center} + +\noindent +Additionally, this package provides an interface for other packages. + + + +\subsection{Licence} +Copyright \textcopyright{} 2011 Sebastian Kuhnert. Permission is granted to +copy, distribute and/or modify this software under the terms of the \LaTeX{} +Project Public Licence, version 1.3c or later. This package is maintained, the +Current Maintainer is Sebastian +Kuhnert\footnote{\href{mailto:mail@sebastian-kuhnert.de}{mail@sebastian-kuhnert.de}}. + +%\subsection{Contributions} + +\subsection{Dependencies and interaction with other packages} + +\begin{itemize} + \item This package enhances and requires the \texttt{bibleref} package. + \item If the \texttt{babel} package is loaded and one of the languages + \texttt{ngerman}, \texttt{german}, \texttt{naustrian}, or \texttt{austrian} is + selected, the book name \enquote{Pr} is taken as a shorthand for + \emph{\ger{Prediger}} (German for \emph{Ecclesiastes}). Otherwise, \enquote{Pr} is a + shorthand for \emph{Proverbs}. + \item The \texttt{etoolbox} package is required. In particular, you need to use + an \eTeX{} engine, but that should be no real restriction nowadays. + \item The \texttt{scrlfile} package is used to ease the interaction with + \texttt{babel} and \texttt{bibleref-german}. +\end{itemize} + +\subsection{Contributions} +Currently only English and German book names are supported. I would welcome +contributions of book name prefixes for other languages. + + +\section{User commands} + +\begin{lstlisting} +\usepackage(*\opt{[\param{options}]}*){bibleref-parse} +\end{lstlisting} +This loads the \brp package. Currently the only option is +\option{comma=\param{value}}. It controls how commas in a Bible passage +specification are handled: +\bigskip +\begin{center} + \begin{tabular}{@{}p{.18\linewidth}p{.78\linewidth}@{}} + \toprule + \thead{\param{\bfseries value}}&\thead{meaning of \option{\bfseries + comma=\param{\bfseries value}}}\\ + \midrule + \option{list}&The comma is used as a list separator. Behind each + comma, + a number specifying a chapter or a verse is expected. + \hfill\emph{Example:~Mt~5,6,7} + \\\addlinespace + \option{chvsep}&The comma is used to separate a chapter number from a + verse number. This is common in German. + \hfill\emph{Example:~Jh~3,16}\\\addlinespace + \option{likeBR}&This takes the current setup of the \texttt{bibleref} + package into account. If \lstinline|\BRchvsep| contains a comma, this + option behaves like \option{chvsep}, otherwise it behaves like + \option{list}.\\\addlinespace + \option{preferchvsep}&This behaves like \option{chvsep} unless the + specified passage contains a colon. In that case, it behaves like + \option{list}.\\\addlinespace + \option{preferlikeBR}\linebreak\emph{(the default)}&If + \lstinline|\BRchvsep| contains a comma, this behaves like + \option{preferchvsep}. Otherwise this behaves like + \option{list}.\\ + \bottomrule + \end{tabular} +\end{center} + +\begin{lstlisting} +\biblerefparseset{(*\param{options}*)} +\end{lstlisting} +This sets the \param{options}, affecting all following passage specifications in +the current group. + +\begin{lstlisting} +\pbibleverse(*\opt{[\param{options}]}\{\param{passage}*)} +\end{lstlisting} +This parses the given \param{passage} and passes the result to the +\lstinline|\bibleverse| macro, formatting it according to the rules of the of +the \texttt{bibleref} package. If any \param{options} are specified, they affect +this single \param{passage} only. + +If a \param{passage} spans more than one book, the different parts are +separated with \lstinline|\BRbksep|, which you can redefine to suit your needs. +The \texttt{bibleref} manual describes how you can otherwise influence the +formatting. + +Examples: +\newcommand{\bverseex}[2][]{% + \ifstrequal{#1}{}{% + \texttt{\textbackslash pbibleverse\{#2\}} & \pbibleverse{#2}% + }{% + \texttt{\textbackslash pbibleverse[#1]\{#2\}} & \pbibleverse[#1]{#2}% + }\\ +} + +\begin{center} + \begin{tabular}{@{}ll@{}} + \toprule + \thead{\TeX{} source}&\thead{Result}\\ + \midrule + \bverseex{Gen1:27} + \bverseex{Exo 20} + \bverseex[comma=chvsep]{Lev.5,3-4} + \bverseex{Jos 7,3-5;12;Jdg 4,2-4} + \bverseex{Ruth 3-4:4+4:6} + \bverseex{1Sam 5:3,5;6:3-7:3;8:3,5} + \bverseex{Obad 1-3,5,8-9} + \bottomrule + \end{tabular} +\end{center} + +\bigskip\noindent +There are variants of \lstinline|\pbibleverse| for the variants of \lstinline|\bibleverse|: +\begin{lstlisting} +\pibibleverse(*\opt{[\param{options}]}\{\param{passage}*)} % uses \textbackslash ibibleverse +\pibiblechvs(*\opt{[\param{options}]}\{\param{passage}*)} % uses \textbackslash ibiblechvs +\pibiblevs(*\opt{[\param{options}]}\{\param{passage}*)} % uses \textbackslash ibiblevs +\end{lstlisting} + +\subsection{Bible passage specification} + +The basic massage is: Just use your intuition. This is what this package was +created for.\\ +If you want more details, here they are. +\begin{itemize} + \item Depending on the current setting of the \option{comma} option (see + above), a single verse can be specified in one of these formats: +\begin{lstlisting} +(*{\normalfont\normalcolor Format 1:} \param{book} \param{chapter}:\param{verse}*) +(*{\normalfont\normalcolor Format 2:} \param{book} \param{chapter},\param{verse}*) +\end{lstlisting} + You can add or remove spaces between the different parts. + + The exact syntax for the book name can be looked up in + Section~\ref{sec:books}; but again the basic message is: Just use your + intuition. + + Examples:\qquad\option{Mark 16:5}\qquad + \option{1 Samuel 13:14}\qquad + \option{2Tim3: 16} + \item You can reference a \textbf{whole chapter or book} by omitting the verse + (and chapter) information. + + Examples:\qquad\option{1 John}\qquad + \option{Ps 51} + \item You can specify \textbf{ranges} using a single dash. This works for + ranges of verses as well as ranges of chapters. The start and the end verse do + not have to be in the same chapter. You even can have a chapter as start and a + verse as end (but not the other way around). + + Examples:\qquad + \option{Mt 28:18-20}\qquad + \option{Matthew 5-7}\qquad + \option{2Cor 6:10-7:4}\qquad + \option{Joshua 4-5:1} + \item You can \textbf{list} several passages in one specification. Several + options are available. They offer flexibility and differ in how the passage on + the right side should be specified: Some allow and some require that a partial + specification is used. + \begin{description} + \item[Semicolon] The next item may be a book or a chapter. + \item[Comma] The next item may be a chapter or a verse. (Format 1 only) + \item[Plus] The next item may be a book, a chapter or a verse. + \item[Dot] The next item must be a verse. + \end{description} + All of these have in common that you can use ranges on their left and on their + right side. Also, you can create lists of more than two single verses or range + specifications. + + Examples:\qquad + \option{Col 1:15,2:9.10}\qquad + \option{Ps 22+23}\qquad + \option{Rev 22:3-4.7;Acts 1:6-8} +\end{itemize} + +\subsection{Book name specification}\label{sec:books} +All names of canonical books given in English or German should be recognised, +including their abbreviations. The following table specifies the available names +for all books. +\clearpage +\def\checkbook#1#2#3{% + \csdef{brp@range}##1##2##3##4##5{\ifstrequal{##1}{#1}{#3 }{\textcolor{red}{#3} }}% + \csuse{brp@parse}{#2}% + \csuse{brp@result}% +} +\def\checkbooksilent#1#2{% + \csdef{brp@range}##1##2##3##4##5{\ifstrequal{##1}{#1}{}{\textcolor{red}{#2} }}% + \csuse{brp@parse}{#2}% + \csuse{brp@result}% +} +%\addrow{OSIS-name}{English names}{German names}{silent names} +\def\addrow#1#2#3#4{% + #1&\checkbooksilent{#1}{#1}% + \foreach \name in {#4} {% + \checkbooksilent{#1}{\name}% + }% + \foreach \name/\n in {#2} {% + \checkbook{#1}{\name}{\n}% + }&\ger{\foreach \name/\n in {#3} {% + \checkbook{#1}{\name}{\n}% + }}\\ +} +\begin{longtable}{@{}p{3.6em}p{.425\linewidth}p{.425\linewidth}@{}} + \toprule\thead{Book}&\thead{English names}&\thead{German names}\\\midrule + \endhead + \bottomrule + \endfoot + \addrow{Gen}{Genesis,Gen,Ge,Gn,Ge*,Gn*}{1Mose,1Mos,1Mo,Genesis,Gen,Ge,Gn,1Mo*,Ge*,Gn*}{IMose,IMos,IMo,IMo*} + \addrow{Exod}{Exodus,Exod,Ex,Ex*}{2Mose,2Mos,2Mo,Exodus,Ex,2Mo*,Ex*}{IIMose,IIMos,IIMo,IIMo*} + \addrow{Lev}{Leviticus,Lev,Lv,Le*,Lv*}{3Mose,3Mos,3Mo,Levitikus,Leviticus,Lev,Lv,3M*,Le*,Lv*}{IIIMose,IIIMos,IIIMo,IIIM*} + \addrow{Num}{Numbers,Num,Nb,Nu*,Nb*}{4Mose,4Mos,4Mo,Numeri,Num,4M*,Nu*}{IVMose,IVMos,IVMo,IV*} + \addrow{Deut}{Deuteronomy,Deut,Deu,Dt,De*,Dt*}{5Mose,5Mos,5Mo,Deuteronomium,Deut,Dtn,Deu,Dt,5M*,De*,Dt*}{VMose,VMos,VMo,V*} + \addrow{Josh}{Joshua,Josh,Jos,Jos*}{Josua,Jos*}{} + \addrow{Judg}{Judges,Judg,Jdg,Jg,Jd,Judg*,Jdg*,Jg*}{Richter,Ri,Ri*}{} + \addrow{Ruth}{Ruth,Rt,Ru*,Rt*}{Rut,Ruth,Rt,Ru,Ru*,Rt*}{} + \addrow{1Sam}{1Samuel,1Sam,1S,1S*}{1Samuel,1Sam,1S,1S*}{ISamuel,ISam,IS,IS*} + \addrow{2Sam}{2Samuel,2Sam,2S,2S*}{2Samuel,2Sam,2S,2S*}{IISamuel,IISam,IIS,IIS*} + \addrow{1Kgs}{1Kings,1K,1Kg,1Kgs,1Ki*,1Kg*}{1Könige,1Kön,1Kö,1Kö*}{IKings,IK,IKg,IKgs,IKi*,IKg*,IKönige,IKön,IKö,IKö*,IK\"onige,IK"on,IKoe,IK\"o*} + \addrow{2Kgs}{2Kings,2K,2Kg,2Kgs,2Ki*,2Kg*}{2Könige,2Kön,2Kö,2Kö*}{IIKings,IIK,IIKg,IIKgs,IIKi*,IIKg*,IIKönige,IIKön,IIKö,IIKö} + \addrow{1Chr}{1Chronicles,1Ch,1Chr,1Ch*}{1Chronik,1Chr,1Ch,1Ch*}{IChronicles,ICh,IChr,ICh*,IChronik} + \addrow{2Chr}{2Chronicles,2Ch,2Chr,2Ch*}{2Chronik,2Chr,2Ch,2Ch*}{IIChronicles,IICh,IIChr,IICh*,IIChronik} + \addrow{Ezra}{Ezra,Ezr,Ezr*}{Esra,Esr,Esr*}{} + \addrow{Neh}{Nehemiah,Neh,Ne,Ne*}{Nehemia,Nehemiah,Neh,Ne,Ne*}{} + \addrow{Esth}{Esther,Esth,Est,Est*}{Ester,Esther,Est,Est*}{} + \addrow{Job}{Job,Jb}{Hiob,Hi,Ijob,Hi*,Ij*}{} + \addrow{Ps}{Psalms,Psalm,Ps,Ps*}{Psalmen,Psalm,Psalter,Ps,Ps*}{} + \addrow{Prov}{Proverbs,Prov,Pro,Pr/Pr\textsuperscript{(see text)},Pro*}{Sprüche,Sprichwörter,Spr,Sp,Sp*}{} + \addrow{Eccl}{Ecclesiastes,Eccl,Ec,Qo,Ecl,Eccl,Eccle,Eccles,Ecclesiaste*,Q*}{Prediger,Pred,Pr/Pr\textsuperscript{(see text)},Kohelet,Koh,Pre*,Koh*}{Ecclesi,Ecclesia,Ecclesias,Ecclesiast} + \addrow{Song}{SongofSolomon,SongofSongs,SofS,Sg,So*,Sg*}{Hohelied,Hoheslied,HohesLied,Hld,Hhld,LiedderLieder,Lied,Hoh*,Hh*,Hl*,Li*}{} + \addrow{Isa}{Isaiah,Isa,Is,Is*}{Jesaja,Jesajah,Jes,Jesa*}{} + \addrow{Jer}{Jeremiah,Jer,Jr,Jer*,Jr*}{Jeremia,Jeremiah,Jer,Jr,Jer*,Jr*}{} + \addrow{Lam}{Lamentations,Lam,Lm,La*,Lm*}{Klagelieder,Klgl,Klg,Kl*}{} + \addrow{Ezek}{Ezekiel,Ezek,Ezk,Eze*,Ezk*}{Hesekiel,Hes,Ezechiel,Ez,Eze,Hes*,Eze*}{} + \addrow{Dan}{Daniel,Dan,Dn,Da*,Dn*}{Daniel,Dan,Dn,Da*,Dn*}{} + \addrow{Hos}{Hosea,Hos,Ho,Hos*}{Hosea,Hos,Ho,Hos*}{} + \addrow{Joel}{Joel,Jl,Joe*,Jl*}{Joel,Joël,Jl,Joe*,Joë*,Jl*}{Jo\"e*,Jo"e*} + \addrow{Amos}{Amos,Am,Am*}{Amos,Am,Am*}{} + \addrow{Obad}{Obadiah,Obad,Obd,Ob,Ob*}{Obadja,Obad,Obd,Ob,Ob*}{} + \addrow{Jonah}{Jonah,Jon,Jon*}{Jona,Jonah,Jon,Jon*}{} + \addrow{Mic}{Micah,Mic,Mi,Mi*}{Micha,Mic,Mi,Mi*}{} + \addrow{Nah}{Nahum,Nah,Na,Na*}{Nahum,Nah,Na,Na*}{} + \addrow{Hab}{Habakkuk,Hab,Hbk,Hak,Hab*,Hb*,Hak*}{Habakuk,Hab,Hbk,Hak,Hab*,Hb*,Hak*}{} + \addrow{Zeph}{Zephaniah,Zeph,Zp,Zep*,Zp*}{Zefanja,Zefanjah,Zef,Zef*}{} + \addrow{Hag}{Haggai,Hag,Hg,Hag*,Hg*}{Haggai,Hag,Hg,Hag*,Hg*}{} + \addrow{Zech}{Zechariah,Zech,Zc,Zec*,Zc*}{Sacharja,Sacharjah,Sach,Sa,Sa*}{} + \addrow{Mal}{Malachi,Mal,Ml,Mal*,Ml*}{Maleachi,Mal,Ml,Mal*,Ml*}{} + %\midrule + \addrow{Matt}{Matthew,Matt,Mt,Mat*,Mt*}{Matthäus,Matt,Mt,Mat*,Mt*}{} + \addrow{Mark}{Mark,Mk,Mar*,Mk*}{Markus,Mk,Mar*,Mk*}{} + \addrow{Luke}{Luke,Lk,Lu*,Lk*}{Lukas,Lk,Lu*,Lk*}{} + \addrow{John}{John,Joh,Jn,Joh*,Jn*}{Johannes,Joh,Jh,Joh*,Jn*}{} + \addrow{Acts}{Acts,Ac,Ac*}{Apostelgeschichte,Apo,Apg,Apos*,Apg*}{} + \addrow{Rom}{Romans,Rom,Ro,Rm,Ro*,Rm*}{Römer,Röm,Rö}{Roemer,R\"omer,R"omer,Roem,R\"om,R"om,Roe,R\"o,R"o,Roe*,R\"o*,R"o*} + \addrow{1Cor}{1Corinthians,1Co,1Cor,1Co*}{1Korinther,1Kor,1Ko,1Kor*}{ICorinthians,ICo,ICor,ICo*,IKorinther,IKor,IKo,IKor*} + \addrow{2Cor}{2Corinthians,2Co,2Cor,2Co*}{2Korinther,2Kor,2Ko,2Kor*}{IICorinthians,IICo,IICor,IICo*,IIKorinther,IIKor,IIKo,IIKor*} + \addrow{Gal}{Galatians,Gal,Ga,Ga*}{Galater,Gal,Ga,Ga*}{} + \addrow{Eph}{Ephesians,Eph,Ep,Eph*}{Epheser,Eph,Eph*}{} + \addrow{Phil}{Philippians,Phil,Phi,Ph,Phili*}{Philipper,Phil,Phi,Ph,Phili*}{} + \addrow{Col}{Colossians,Col,C*}{Kolosser,Kol,Kol*}{} + \addrow{1Thess}{1Thessalonians,1Thess,1Th,1Th*}{1Thessalonicher,1Thessaloniker,1Thess,1Th,1Th*}{IThessalonians,IThess,ITh,ITh*,IThessalonicher,IThessaloniker} + \addrow{2Thess}{2Thessalonians,2Thess,2Th,2Th*}{2Thessaloniker,2Thess,2Th,2Th*}{IIThessalonians,IIThess,IITh,IITh*,IIThessaloniker} + \addrow{1Tim}{1Timothy,1Tim,1Tm,1Ti*,1Tm*}{1Timotheus,1Tim,1Tm,1Ti*,1Tm*}{ITimothy,ITim,ITm,ITi*,ITm*,ITimotheus} + \addrow{2Tim}{2Timothy,2Tim,2Tm,2Ti*,2Tm*}{2Timotheus,2Tim,2Tm,2Ti*,2Tm*}{IITimothy,IITim,IITm,IITi*,IITm*,IITimotheus} + \addrow{Titus}{Titus,Tit,Tt,Tit*,Tt*}{Titus,Tit,Tt,Tit*,Tt*}{} + \addrow{Phlm}{Philemon,Philem,Phlm,Phm,Phile*,Phl*,Phm*}{Philemon,Philem,Phlm,Phm,Phile*,Phl*,Phm*}{} + \addrow{Heb}{Hebrews,Hebr,Heb,He,Heb*}{Hebräer,Hebr,Heb,He,Heb*}{Hebraeer,Hebr\"aer,Hebr"aer} + \addrow{Jas}{James,Jas,Js,Jm,Ja*,Js*,Jm*}{Jakobus,Jak,Jk,Ja,Ja*,Jk*}{} + \addrow{1Pet}{1Peter,1Pet,1Pt,1P,1P*}{1Petrus,1Petr,1Pet,1Pt,1P*}{IPeter,IPet,IPt,IP,IP*} + \addrow{2Pet}{2Peter,2Pet,2Pt,2P,2P*}{2Petrus,2Petr,2Pet,2Pt,2P*}{IIPeter,IIPet,IIPt,IIP,IIP*} + \addrow{1John}{1John,1Joh,1Jo,1Jo*,1Jn*}{1Johannes,1Joh,1Jh,1Jo*,1Jh*}{IJohn,IJoh,IJo,IJo*,IJn*,IJohannes,IJh,IJh*} + \addrow{2John}{2John,2Joh,2Jo,2Jo*,2Jn*}{2Johannes,2Joh,2Jh,2Jo*,2Jh*}{IIJohn,IIJoh,IIJo,IIJo*,IIJn*,IIJohannes,IIJh,IIJh*} + \addrow{3John}{3John,3Joh,3Jo,3Jo*,3Jn*}{3Johannes,3Joh,3Jh,3Jo*,3Jh*}{IIIJohn,IIIJoh,IIIJo,IIIJo*,IIIJn*,IIIJohannes,IIIJh,IIIJh*} + \addrow{Jude}{Jude,Jud,Jude*}{Judas,Jud,Juda*}{} + \addrow{Rev}{Revelation,Rev,Rv,Rev*,Rv*}{Offenbarung,Offb,Ofb,Apokalypse,Apok,Apk,Of*,Apok*,Apk*}{} + \midrule + \addrow{Tob}{Tobit,Tob,To*}{Tobit,Tobias,Tob,To*}{} + \addrow{Jdt}{Judith,Jdt,Judi*,Jdt*}{Judit,Judith,Jdt,Judi*,Jdt*}{} + \addrow{AddEsth}{GreekEsther,GrEst,AddEst,AdditionstoE*,AdditionsE*,AddE*,GreekE*,GrE*}{StückezuEster,StückeEster,StEst,GrEst,StückezuE*,StückeE*,StE*}{StueckezuE*,StueckeE*,St\"uckezuE*,St\"uckeE*,St"uckezuE*,St"uckeE*,AdditionstoEsther} + \addrow{Wis}{Wisdom,WisdomofSolomon,W*}{Weisheit,WeisheitSalomos,Weish,W*}{} + \addrow{Sir}{Sirach,Ecclesiasticus,Si*,Ecclesiasti*,Ecclu*}{Sirach,JesusSirach,Si*,JesusS*}{} + \addrow{Bar}{Baruch,Ba*}{Baruch,Ba*}{} + \addrow{EpJer}{EpistleofJeremiah,EpistleJeremiah,EpJer,EpistleofJer*,EpistleJer*,EpJer*}{BriefdesJeremia,BriefJeremias,BrJer,BriefdesJer*,BriefJer*,BrJer*}{} + \addrow{AddDan}{AddDan,GreekDaniel,GrDan,AdditionstoD*,AdditionsD*,AddD*,GreekD*,GrD*}{StückezuDaniel,StückeDaniel,StDan,GrDan,StückezuD*,StückeD*,StD*}{StueckezuD*,StueckeD*,St\"uckezuD*,St\"uckeD*,St"uckezuD*,St"uckeD*,AdditionstoDaniel} + \addrow{1Macc}{1Maccabees,1Ma*}{1Makkabäer,1Makk,1Ma*}{IMa*} + \addrow{2Macc}{2Maccabees,2Ma*}{2Makkabäer,2Makk,2Ma*}{IIMa*} +\end{longtable} +\clearpage +\noindent Some remarks regarding the book name table: +\begin{itemize} + \item If an entry ends with a *, you can use any continuation of the given + prefix. However, it is recommended that you stick to standard names, as the + package might be extended to further languages in the future. + \item White space and dots are ignored. + \item While the book names are listed by language, they can right now be used + in all contexts. There is only one exception: \enquote{Pr} means + \emph{Proverbs} in English texts and \emph{\ger{Prediger}=Ecclesiastes} + in German texts (the latter requires using the \texttt{babel} package). + \item Some German book names include an umlaut (like \enquote{\ger{Römer}}). + They can be given in any of the following formats: + \begin{description} + \item[\texttt{\color{blue!50!black}Römer}] This is the most convenient, but + also the most fragile variant. It requires that the input encoding is + \texttt{utf8} or \texttt{latin1}. + \item[\texttt{\color{blue!50!black}Roemer}] You can use the ASCII version. + \item[\texttt{\color{blue!50!black}R\textbackslash"omer}] You can use \TeX{} + umlaut notation. + \item[\texttt{\color{blue!50!black}R"omer}] You can use the slightly shorter + notation provided by the \texttt{babel} package and its relatives for German + languages. + \item[\texttt{\color{blue!50!black}Romans}] You can switch to a different + language or an abbreviation that does not require an umlaut. +\end{description} +\end{itemize} + +\subsection{Defining book names} + +If the standard book names listed above are not enough, you can define your own +book names. +\begin{lstlisting} +\brpDefineBookPrefix{(*\param{new book prefix}*)}{(*\param{book name}*)} +\brpDefineBook{(*\param{new book name}*)}{(*\param{book name}*)} +\end{lstlisting} +Preferably, you define an entire prefix (this is slightly more efficient), and +use single definitions only if there are several continuations. The \param{book + name} should be the one given in the first column of the book name table +above. + +Prefixes always take precedence over single book names. For this reason, you +might need to undefine them: +\begin{lstlisting} +\brpUndefBookPrefix{(*\param{new book prefix}*)}{(*\param{book name}*)} +\brpUndefBook{(*\param{new book name}*)}{(*\param{book name}*)} +\end{lstlisting} + +If you want to provide different meanings of a book name depending on the +language, you can append your definitions to \texttt{babel}'s +\texttt{\textbackslash extras\param{lang}} and \texttt{\textbackslash + noextras\param{lang}} hooks. See the package source +\texttt{bibleref-parse.sty} for an example. + +\section{Interface for package authors} + +You can use the parser of book names separately. +\begin{lstlisting} +\brp@bookname{(*\param{book}*)} +\end{lstlisting} +This will set the macro \lstinline|\brp@bk| to the normalised name of the given +book. The normalised names are listed in the first column in the table above. +They were chosen according to OSIS naming conventions\footnote{See + \url{http://www.bibletechnologies.net/20Manual.dsp}, Section~24.}, which in +turn are based on the \emph{SBL handbook of style}. + +To parse a passage specification, use the following macro. +\begin{lstlisting} +\brp@parse{(*\param{passage specification}*)} +\end{lstlisting} +This will set the macro \lstinline|\brp@result| to a sequence of range +specifications. A range specification has the following form: +\begin{lstlisting} +\brp@range{(*\param{book}*)}{(*\param{from chapter}*)}{(*\param{from verse}*)}{(*\param{to chapter}*)}{(*\param{to verse}*)} +\end{lstlisting} +Typically, you will provide a local definition of \lstinline|\brp@range| that +takes these five parameters when evaluating \lstinline|\brp@result|. The +parameters are set according to the following conventions: +\begin{itemize} + \item If a complete book is specified, the numbers are all empty. + \item If a complete from- or to-chapter is specified, the corresponding verse + is empty. + \item For non-ranges, the from- and to- values will be equal. + \item For books consisting of a single chapter, the chapter values will be + empty. This affects Obadiah, Philemon, 2 John and 3 John. +\end{itemize} + +% \appendix +% \section{Revision history} +% \subsection*{Version 0.1, 2011-03-25} +% Initial release. + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: + +%%% Local IspellDict: british |