summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/bibletext/bibletext.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/bibletext/bibletext.sty')
-rw-r--r--macros/latex/contrib/bibletext/bibletext.sty61
1 files changed, 61 insertions, 0 deletions
diff --git a/macros/latex/contrib/bibletext/bibletext.sty b/macros/latex/contrib/bibletext/bibletext.sty
new file mode 100644
index 0000000000..21abb5a97d
--- /dev/null
+++ b/macros/latex/contrib/bibletext/bibletext.sty
@@ -0,0 +1,61 @@
+\NeedsTeXFormat{LaTeX2e}[1994/06/01]
+\ProvidesPackage{bibletext}
+ [2017/09/01 v0.1.2 Insert Bible texts]
+
+\newif\ifbibletext@defined
+\bibletext@definedfalse
+\newcommand{\bibletext@checkdefined}[1]{%
+ \ifcsname#1\endcsname%
+ \bibletext@definedtrue%
+ \else%
+ \bibletext@definedfalse%
+ \fi%
+}
+
+\bibletext@checkdefined{DeleteShortVerb}
+\ifbibletext@defined%
+ \DeleteShortVerb{\|}%
+\fi
+
+\RequirePackage{pgfkeys}
+\RequirePackage{pdftexcmds}
+
+\newif\ifbibletext@Ref
+\newif\ifbibletext@OmitChapter
+\newif\ifbibletext@OmitRepeatedChapter
+\pgfkeys{
+ /bibletext/.is family, /bibletext,
+ default/.style={
+ translation=kjv,
+ ref=false,
+ omitchapter=false,
+ },
+ translation/.estore in = \bibletext@Translation, % unused for now
+ ref/.is if=bibletext@Ref,
+ omitchapter/.is if=bibletext@OmitChapter,
+ omitrepeatedchapter/.is if=bibletext@OmitRepeatedChapter,
+}
+\newcommand\bibletext[2][]{%
+ \pgfkeys{/bibletext, default, #1}%
+ \ifbibletext@Ref%
+ \ifbibletext@OmitRepeatedChapter%
+ \input{|"bible -f '#2' | grep -o '[[:digit:]].*' | head -n1"}%
+ \input{|"bible -f '#2' | grep -o '[[:digit:]][[:digit:]]*[[:space:]].*' | tail -n+2"}%
+ \else\ifbibletext@OmitChapter%
+ \input{|"bible -f '#2' | grep -o '[[:digit:]][[:digit:]]*[[:space:]].*'"}%
+ \else%
+ \input{|"bible -f '#2' | grep -o '[[:digit:]].*'"}%
+ \fi\fi%
+ \else%
+ \input{|"bible -f '#2' | cut -d' ' -f2-"}%
+ \fi%
+ \unskip%
+}
+\AtEndOfPackage{
+ \ifnum\pdf@shellescape=1\relax\else
+ \PackageError{bibletext}
+ {You must invoke LaTeX with the -shell-escape flag}
+ {Pass the -shell-escape flag to LaTeX. Refer to the bibletext.sty
+ documentation for more information.}
+ \fi}
+\endinput