dcpurton / scripture Goto Github PK
View Code? Open in Web Editor NEWA LaTeX style for typesetting Bible quotations
License: LaTeX Project Public License v1.3c
A LaTeX style for typesetting Bible quotations
License: LaTeX Project Public License v1.3c
There should be an option to produce a compact quote without paragraphs and without poetry layout.
Gentoo linux, up to date as of 10m ago.
lualatex:
This is LuaHBTeX, Version 1.13.0 (TeX Live 2021 Gentoo Linux)
Execute 'luahbtex --credits' for credits and version details.
There is NO warranty. Redistribution of this software is covered by
the terms of the GNU General Public License, version 2 or (at your option)
any later version. For more information about these matters, see the file
named COPYING and the LuaTeX source.
LuaTeX is Copyright 2021 Taco Hoekwater and the LuaTeX Team.
xelatex:
XeTeX 3.141592653-2.6-0.999993 (TeX Live 2021 Gentoo Linux)
kpathsea version 6.3.3
Copyright 2021 SIL International, Jonathan Kew and Khaled Hosny.
There is NO warranty. Redistribution of this software is
covered by the terms of both the XeTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the XeTeX source.
Primary author of XeTeX: Jonathan Kew.
Compiled with ICU version 72.1; using 72.1
Compiled with zlib version 1.2.13; using 1.2.13
Compiled with FreeType2 version 2.12.1; using 2.12.1
Compiled with Graphite2 version 1.3.14; using 1.3.14
Compiled with HarfBuzz version 5.3.0; using 5.3.1
Compiled with libpng version 1.6.38; using 1.6.38
Compiled with pplib version v2.05 less toxic i hope
Compiled with fontconfig version 2.14.0; using 2.14.0
pdflatex:
pdfTeX 3.141592653-2.6-1.40.22 (TeX Live 2021 Gentoo Linux)
kpathsea version 6.3.3
Copyright 2021 Han The Thanh (pdfTeX) et al.
There is NO warranty. Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Han The Thanh (pdfTeX) et al.
Compiled with libpng 1.6.38; using libpng 1.6.38
Compiled with zlib 1.2.13; using zlib 1.2.13
Compiled with xpdf version 4.03
error:
! Undefined control sequence.
\__scripture_begin:n ... \hook_gclear_next_code:n
{para/before}\skip_set:Nn ...
l.9 \begin{scripture}[Amos 3:6--7][version=NRSV]
?
mwe:
% vim: spell spelllang=en ft=tex
\documentclass[14pt,a4paper,english]{extbook}
\usepackage[colorlinks=true,linkcolor=black,urlcolor=black]{hyperref}
\usepackage{scripture}
\begin{document}
\begin{scripture}[Amos 3:6--7][version=NRSV]
``Is a trumpet is blown in a city, and the people are not afraid? Does
disaster befall a city, unless the LORD has done it?''
``Surely the Lord GOD does nothing, without revealing His secret
to his servants the prophets.''
\end{scripture}
\end{document}
Some kind of tag that could mark Jesus' words so they could be set in red depending on the value of an option.
The noindent
option to the scripture
environment adds extra vertical space when the following conditions are met:
scripture
environment is at the beginning of a minipage
environment.scripture
environment begins with one of its inner environments (center
, flushright
, hanging
, narrow
or poetry
).\documentclass[a4paper,twocolumn]{article}
\input{regression-test}
\usepackage{scripture}
\pagestyle{empty}
\begin{document}
\START
\showoutput
\noindent
\begin{minipage}{\linewidth}
\begin{scripture}
\begin{poetry}
\vs{2}Hear me, you heavens! Listen, earth!
For the \textsc{Lord} has spoken:
‘I reared children and brought them up,
but they have rebelled against me.
\end{poetry}
\end{scripture}
\end{minipage}
\newpage
\noindent
\begin{minipage}{\linewidth}
\begin{scripture}[][noindent]
\begin{poetry}
\vs{2}Hear me, you heavens! Listen, earth!
For the \textsc{Lord} has spoken:
‘I reared children and brought them up,
but they have rebelled against me.
\end{poetry}
\end{scripture}
\end{minipage}
\end{document}
If a minipage
environment starts with a scripture
environment, the spacing after previous text is wrong.
Some Bibles use a non-superscript verse number at the beginning of prose paragraphs. This could be enabled with a flag and controlled with separate verse formatting options.
When passing a blank reference to the scripture
environment, the test for a blank reference fails.
The two boxes should look the same, but they don't.
\documentclass{article}
\usepackage{scripture}
\usepackage{framed}
\begin{document}
\noindent
\begin{minipage}{11cm}
\begin{framed}
\begin{scripture}[][]
\vs{16}For God so loved the world that he gave his one and only Son,
that whoever believes in him shall not perish but have eternal life.
\end{scripture}
\end{framed}
\begin{framed}
\begin{scripture}
\vs{16}For God so loved the world that he gave his one and only Son,
that whoever believes in him shall not perish but have eternal life.
\end{scripture}
\end{framed}
\end{minipage}
\end{document}
When a scripture
environment begins with an inner environment, the parskip
option is incorrectly applied.
Support drop chapters for 3 or possibly even 4 lines.
It would be nice to have a macro that could be styled for outputting Lᴏʀᴅ rather than using \textsc{Lord}
.
Maybe \LORD
with a look ahead to preserve spaces.
If an inner environment follows a single line drop chapter then there is an error for the poetry
environment and incorrect spacing for other environments.
The scripture/chap/before
and scripture/chap/after
hooks are missing for the both drop and non-drop chapters in the poetry
environment and drop
chapters in the hanging
environment.
Don't try and split a midparachap
environment inside a box as it won't join properly.
Also use a vtop
box for the top split.
\extraskip
does not work in poetry environments. No extra vertical space is inserted.
With hooks in play there is a chance that tmpa
and tmpb
variables will be overwritten by the user. They should be replaced with appropriately named internal variables.
There should be an option to hide verse numbers without physically removing them from the quote source.
Add colour options for verse, chapter, and reference.
There should be an option to put the reference at the start of the quotation, rather than the end.
This should deal sanely with the case where there is a chapter or verse number at the start.
Does it make sense to forbid drop chapters in this case?
The following MWE fails to compile (but works if aboveskip
is not stretchable):
Same behaviour with belowskip
.
\documentclass{article}
\usepackage{scripture}
\scripturesetup{poetry/aboveskip=0pt plus 2pt}
\begin{document}
\begin{scripture}
Foo
\begin{poetry}
Foo
\end{poetry}
Foo
\end{scripture}
\end{document}
It would be useful to be able to set a different above and below skip around the `scripture' environment and its internal environments depending on wither they start a new paragraph or not.
l2keys2e
is no longer needed with LaTeX formats 2022-06-01 and later.
Instead of \ProcessKeysOptions { scripture }
, \ProcessKeyOptions
should be used.
Some translations (e.g., KJV) emphasise words or phrases not found in the original language. It would be good to have a function to do this and formatting directives.
There should be an option to hide chapter numbers without physically removing them from the quote source.
On page 6 of the documentation, the word have should be "half" in the first indented line of text.
“Poetry sections of the Bible often have a first have and a parallel second half which is indented a little,” should be: “Poetry sections of the Bible often have a first half and a parallel second half which is indented a little.”
(asterisks added)
If nonindent
is passed to a scripture
environment which begins with a hanging
environment, then the hanging
environment indents. The hanging
environment should ignore this option.
The spacing below the midparachap
environment box does not take into account the depth of the last line.
Something like \newscripturestyle{name}{several, key-value, settings}
.
This could then be called using \begin{scripture}[reference][style=name]
Several common Bible styles could be included by default.
Occasionally one will include a 'hunk' of scripture within a text. As of right now, my rendering puts 'normal'
paragraphs and scripture 'hunks' at the same width, making it a bit tricky to distinguish where one ends and
the other begins (aside from the scripture ref at the end)
Add examples to the documentation illustrating the difference various options make to the output.
Some Bibles just us a paragraph for each line of poetry, rather than distinguishing between the first half and the second half of the verse.
It would be nice to have better support for babel
. At least include a language
. option
There is an incorrect space inserted above a scripture quotation under the following conditions
scripture
environmentscripture
environment has an aboveskip
of 0pt
scripture
environment begins with a poetry
environmentpoetry
environmenthas a non-zero
aboveskip`Sometimes a page break will occur between the quote and the reference. This should never happen.
There is a verse/format
option to apply simple formatting to a verse, but no chapter/format
option.
For consistency, an analogous chapter/format
option should be added.
At least when the following conditions are met, the reference is printed in the wrong place because of an incorrect \parshape
:
Using \@currenvir
to test which environment we are in can be unreliable if they are ever started directly without using \begin{}
.
Use internal variables instead.
If a drop chapter paragraph has only one line and there is no \extraskip
after it, then the next paragraph will clash with the drop chap.
Should the line be shaped to avoid the drop chap? Or should space be inserted?
Let's insert space.
There should be an option to always print a verse following a chapter number.
\vs{1}
is indexed incorrectly (twice) under the midparachap
options section.
Currently there is no space between a verse and the following text. A little space should be added by default.
The amount of space should be configurable using a verse/sep
option analogous to the chapter/sep
option.
Some Bible versions place the chapter number in a paragraph of their own. It would be nice to have an option that did this automatically for \ch
.
The noindent
option method fails when used along with the compact
option for some reason.
I would like Bible references in the PDF to actively link to Bible Gateway. Here is an example of how to do that using the hyperref
package:
\href{https://www.biblegateway.com/passage/?search=Psalm+86%3A10&version=ESV}{Psalm 86:10}
But the following scripture
code:
\begin{scripture}[\href{https://www.biblegateway.com/passage/?search=Psalm+86%3A10&version=ESV}{Psalm 86:10}][version=ESV]
\begin{poetry}
For you are great and do wondrous things;
you alone are God.
\end{poetry}
\end{scripture}
results in this error:
Paragraph ended before \\environment scripture was complete.
What am I doing wrong? Or do you have a better suggestion for doing this?
I apologize if this is not the appropriate way to use issues. I didn't know how else to communicate a question to you.
The following MWE does not compile:
\documentclass{article}
\usepackage[font=\bfseries]{scripture}
\begin{document}
\end{document}
Other things like font=\itshape
and verse/font=\bfseries
also fail
When a non-overlapping verse is used in a poetry
environment the separation should be verse/sep
rather than than poetry/verse/sep
.
\scripturecurrentchapter
and \scripturecurrentverse
are not set for non-drop chapters in poetry
environments.
In particular, test scripture73
is producing wrong output.
There should be a \textright
function defined inside the scripture
environment that calls \__scripture__text_right:n
.
If a midparachap
environment ends with a drop chapter in such a way that the text ends on the first line of the drop chapter, then an \extraskip
after the midparachap
environment will not leave enough space to avoid the following text clashing with the drop chap.
Spacing before and after the scripture
environment when using the setspace
package to change the line spacing.
Consider:
\documentclass{article}
\usepackage{setspace}
\usepackage{scripture}
\scripturesetup{
font=\doublespacing
}
\pagestyle{empty}
\begin{document}
\begin{scripture}[John 3:16]
\vs{16}For God so loved the world that he gave his one and only Son, that
whoever believes in him shall not perish but have eternal life.
\end{scripture}
\noindent
\begin{minipage}{0.6\linewidth}
\begin{scripture}[John 3:16]
\vs{16}For God so loved the world that he gave his one and only Son, that
whoever believes in him shall not perish but have eternal life.
\end{scripture}
\end{minipage}
\end{document}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.