Add initial working draft

At this point, there's still a lot of filler and FIXMEs, but we do have
a complete bulletin generating!
This commit is contained in:
Chandler Swift 2025-07-23 00:06:33 -05:00
parent 60a3853fd2
commit 081646b353
Signed by: chandlerswift
GPG key ID: A851D929D52FB93F
8 changed files with 505 additions and 0 deletions

1
.envrc Normal file
View file

@ -0,0 +1 @@
use nix;

185
bulletin.lytex Normal file
View file

@ -0,0 +1,185 @@
\documentclass[11pt]{article}
\usepackage[paperwidth=7in,paperheight=8.5in,margin=0.5in]{geometry}
\usepackage{fancyhdr}
\usepackage{multicol}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{scripture}
\usepackage{lipsum} % TODO: remove
\graphicspath{ {../resources/} } % Relative to output directory, unfortunately
\pagenumbering{gobble}
% Header and footer setup for interior pages
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancyfoot[C]{\thepage}
% Special page style for cover
\fancypagestyle{cover}{%
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
}
% Manual section formatting - store original commands
\let\oldsection\section
\let\oldsubsection\subsection
% Redefine section command
\renewcommand{\section}[1]{%
\oldsection*{\centering\large\bfseries#1}
}
% Redefine subsection command
\renewcommand{\subsection}[2][]{%
\oldsubsection*{\normalsize\textbf{#2}\hfill\normalfont\textit{#1}}
}
% \newcommand{\hymnnumber}[2]{%
% \textbf{#1} \hfill \textit{#2}
% }
% Adjust spacing for booklet format
\setlength{\parskip}{0.1in}
\setlength{\parindent}{0pt}
\begin{document}
% COVER PAGE
\thispagestyle{cover}
\begin{center}
Psalms 122:1 \hspace{0.1in} I was glad when they said unto me, \\
``Let us go into the house of the \textsc{Lord}.'' \\
\vspace{1in}
\includegraphics[width=4in]{church_sketch}
\vfill
\Huge\textbf{\MakeUppercase{St. John's Church}} \\
\Large{Hassan Valley Township, Minnesota} \\
\vspace{0.2in}
\Large August 10, 2025 | 9:30 AM
\vspace{0.2in}
\large 13372 Nature Avenue \\ Hutchinson, MN 55350 \\
\vspace{0.2in}
(320) 587-5104 \\
\vspace{0.1in}
stjohnscccc.org
\end{center}
\newpage
% INTERIOR PAGES
\pagestyle{fancy}
\section{CALL TO WORSHIP}
\subsection{Prelude}
%\textit{Voluntary in D Major} \hfill J.S. Bach
\subsection[``Praise to the Lord, the Almighty'']{Opening Hymn \texttt{\#}210}
\lilypondfile[staffsize=15]{resources/hymns/210-praise-to-the-lord-the-almighty.ly}
\subsection{Lord's Day Greeting}
\subsection{Invocation}
\newpage
\subsection[\#813]{Gloria Patri}
\lilypondfile[staffsize=15]{resources/hymns/813-glory-be-to-the-father.ly}
\subsection{Children's Message}
% \newpage
\section{THE MISSION}
\subsection{Announcements}
\subsection{Offering}
%\textit{Voluntary in D Major} \hfill J.S. Bach
\subsection[\#815]{Doxology}
\lilypondfile[staffsize=16]{resources/hymns/815-praise-god-from-whom-all-blessings-flow.ly}
\section{THE PRAYER}
\subsection{Pastoral Prayer}
\subsection{The \textsc{Lord}'s Prayer}
Our Father, who art in Heaven, Hallowed be Thy Name.
Thy kingdom come, Thy will be done, on Earth as it is in Heaven.
Give us this day our daily bread, and forgive us our debts, as we forgive our debtors.
Lead us not into temptation, but deliver us from evil.
For thine is the kingdom, and the power, and the glory forever. Amen.
\section{THE PROCLAMATION}
\subsection[Zechariah 8:1-23 (BSB)]{Scripture}
\begin{multicols}{2}
\begin{scripture}[][version=BSB,reference/position=start, reference/start/newline, verse/font=\sffamily\bfseries]
\input{resources/scripture/zechariah_8_1-23.tex}
\end{scripture}
\end{multicols}
\subsection{The Sermon}
``Righteous Reversal'' \hfill \textit{Pastor Bjorn Bakke}
\subsection[``Praise to the Lord, the Almighty'']{Closing Hymn \#210}
\lilypondfile[staffsize=16]{resources/hymns/210-praise-to-the-lord-the-almighty.ly}
\subsection{Benediction}%\hfill\textit{Pastor Bjorn Bakke}
\subsection{Postlude}
\newpage
\section{Announcements}
% TODO
\lipsum[1-4]
\newpage
\null\vfill
\begin{quote}\begin{quote} % Hack to shrink margins; otherwise I could use \package{changepage} and \begin{adjustwidth}
\subsection{Pastor Bjorn Bakke}
21838 CSAH 4 \hfill 320-368-0889 \\
Dassel, MN 55325 \hfill pastorbjornb@gmail.com
\subsection{Council}
President David Swift\dotfill320-296-1305 \\
Vice President Elmer Baysinger\dotfill320-583-3713 \\
Secretary Deb Froemming\dotfill320-583-4876 \\
Treasurer Dawn Norrbom\dotfill952-484-1326 \\
Financial Secretary Barb Buckentin\dotfill320-510-4130 \\
Building Fund Coordinator Jerome Karl\dotfill 320-583-6031
Church Secretary Karen Konerza\dotfill320-864-4554 \\
\hspace*{\fill} secretary@stjohnscccc.org \\
\hspace*{\fill} or chubbers67@gmail.com
\subsection{Cemetery Board}
David Huebert\dotfill320-296-9153 \\
David Sanken\dotfill320-583-7777 \\
Celine Swift\dotfill320-296-9083
\end{quote}\end{quote}
\vfill\null
\end{document}

BIN
resources/church_sketch.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 942 KiB

View file

@ -0,0 +1,108 @@
% \begin{lilypond}[staffsize=16]
% from https://hymnary.org/hymn/SSBR1896/page/98
% CEL1997 is in F, has tenor sing the tonic (F3 not C4) on the first note of the
% last phrase (on "Join" in verse one), replaces "e'er" in V2 with "all", and
% "for aye we adore" in the V4 with "forever adore".
\version "2.24.4"
\header {
tagline = ##f
}
\language "english"
global = {
\key g \major
\time 3/4
}
soprano = \relative g' {
\global
g4 g d' | b4. a8 g4 | fs e d | e fs g | a2. | g2. |
g4 g d' | b4. a8 g4 | fs e d | e fs g | a2. | g2. |
d'4 d d | e2. | b4 c d | d c b | a2. |
d,4 e fs | g a b | a2. | g \bar "|."
}
alto = \relative d' {
\global
d4 e d | g4. fs8 e4 | d c b | c c b | e( d c) | b2. |
d4 e d | g4. fs8 e4 | d c b | c c b | e( d c) | b2. |
g'4 a g | g2. | g4 g a | g e8( fs) g4 | fs2. |
d4 c c | b e ds | e2( d8 c) | b2.
}
tenor = \relative b {
\global
\clef bass
b4 b a | d4. d8 b4 | b g g | g a g | g( fs2) | g2. |
b4 b a | d4. d8 b4 | b g g | g a g | g( fs2) | g2. |
b4 a b | c2. | d4 c a | b d d | d2. |
d4 g, a | g e fs | e( a8 g fs4) | g2.
}
bass = \relative g {
\global
g4 e fs | g4. d8 e4 | b c g | c a e' | c( d2) | g,2. |
g'4 e fs | g4. d8 e4 | b c g | c a e' | c( d2) | g,2. |
g'4 fs g | c,2. | g'4 e fs | g a b8 g | d2. |
b4 c a | e' c b | c2( d4) | g,2.
}
verseOne = \lyricmode {
Praise to the Lord, the Al -- might -- y, the King of cre -- a -- tion!
O my soul, praise Him, for He is thy health and sal -- va -- tion!
All ye who hear,
Now to His tem -- ple draw near,
Join me in glad ad -- o -- ra -- tion!
}
verseTwo = \lyricmode {
Praise to the Lord, who o'er all things so won -- drous -- ly reign -- eth,
Shel -- ters thee un -- der His wings, yea, so gent -- ly sus -- tain -- eth!
Hast thou not seen
How thy de -- sires e'er have been
Grant -- ed in what He or -- dain -- eth?
}
verseThree = \lyricmode {
Praise to the Lord, who doth pros -- per thy work and de -- fend thee!
Sure -- ly His good -- ness and mer -- cy here dai -- ly at -- tend thee;
Pon -- der a -- new
What the Al -- might -- y can do,
If with His love He be -- friend thee.
}
verseFour = \lyricmode {
Praise to the Lord! O let all that is in me a -- dore Him!
All that hath life and breath, come now with prais -- es be -- fore Him!
Let the A -- men
Sound from His peo -- ple a -- gain:
Glad -- ly for aye we a -- dore Him.
}
\score {
\new ChoirStaff <<
\new Staff <<
\new Voice = "soprano" { \voiceOne \soprano }
\new Voice = "alto" { \voiceTwo \alto }
\new Lyrics \lyricsto soprano { \set stanza = "1. " \verseOne }
\new Lyrics \lyricsto soprano { \set stanza = "2. " \verseTwo }
\new Lyrics \lyricsto soprano { \set stanza = "3. " \verseThree }
\new Lyrics \lyricsto soprano { \set stanza = "4. " \verseFour }
>>
\new Staff <<
\clef bass
\new Voice = "tenor" { \voiceOne \tenor }
\new Voice = "bass" { \voiceTwo \bass }
>>
>>
\layout {
indent = 0
\context {
\Score
\omit BarNumber
}
}
}
% \end{lilypond}

View file

@ -0,0 +1,76 @@
% from https://hymnary.org/hymn/SoPC1899/page/75
\version "2.24.4"
\header {
tagline = ##f
}
\language "english"
global = {
\key ef \major
\time 2/2
}
soprano = \relative ef' {
\global
ef4. ef8 ef4 ef8 ef | ef4 d r ef |
f2 bf | bf4 bf bf c | d2 c | bf r4 bf8 bf |
bf4 g c bf | bf af r af | af f bf af | af g r2 |
d'2 d4 d | ef2 \bar "||" ef,4( f) | g2 g4( f) | ef1 \bar "|."
}
alto = \relative bf {
\global
bf4. bf8 bf4 bf8 bf | bf4 bf r bf |
bf2 d | ef4 g f g | f2 f4( ef) | d2 r4 d8 d |
ef4 ef ef ef | d d r d | d d d f | f ef r2 |
f2 f4 f | ef2 bf4( c) | bf2 d | ef1
}
tenor = \relative g {
\global
\clef bass
g4. g8 g4 g8 g | af4 af r g |
f2 f | g4 bf bf bf | bf2 a | bf r4 bf8 af8 |
g4 ef af g | f f r f | f bf f bf | bf bf r2 |
bf2 bf4 bf | bf2 ef, | ef af | g1
}
bass = \relative ef {
\global
ef4. ef8 ef4 ef8 ef | f4 f r ef |
d2 bf | ef4 ef d ef | f2 f | bf, r4 bf8 bf |
ef4 ef ef ef | bf bf r bf | bf bf bf bf | ef ef r2 |
af2 af4 af | g2 g,4( af) | bf2 bf | ef1
}
verseOne = \lyricmode {
Glo -- ry be to the Fa -- ther,
and to the Son, and to the Ho -- ly Ghost;
As it was in the be -- gin -- ning, is now, and ev -- er shall be,
world with -- out end; A -- men, A -- men.
}
\score {
\new ChoirStaff <<
\new Staff \with { \consists Merge_rests_engraver } <<
\new Voice = "soprano" { \voiceOne \soprano }
\new Voice = "alto" { \voiceTwo \alto }
\new Lyrics \lyricsto soprano { \verseOne }
>>
\new Staff \with { \consists Merge_rests_engraver } <<
\clef bass
\new Voice = "tenor" { \voiceOne \tenor }
\new Voice = "bass" { \voiceTwo \bass }
>>
>>
\layout {
indent = 0
\context {
\Score
\omit BarNumber
}
}
}

View file

@ -0,0 +1,87 @@
% \begin{lilypond}[staffsize=16]
% from https://hymnary.org/hymn/SoPC1899/page/75
\version "2.24.4"
\header {
tagline = ##f
}
\language "english"
global = {
\key ef \major
\time 2/2
}
soprano = \relative g' {
\clef treble
\key g \major
\time 6/4
g2 g4 fs e d | g2 a b |
b b4 b a g | c2 b a |
g a4 b a g | e2 fs g |
d' b4 g a c | b2 a g2 \fine
}
alto = \relative d' {
\clef treble
\key g \major
\time 6/4
d2 d4 d b b | b2 d d |
d d4 d d b | e2 d d |
d d4 d d b | c2 c d |
b b4 e e c | d( g~ g) fs g2 \fine
}
tenor = \relative b {
\clef bass
\key g \major
\time 6/4
b2 b4 a g fs | g2 fs g |
g g4 g fs g | g2 g fs |
b fs4 g fs g | g2 a b |
fs g4 b c e | d2~ d4. c8 b2 \fine
}
bass = \relative g, {
\clef bass
\key g \major
\time 6/4
g2 g'4 d e b | e2 d g, |
g g4 g' d e | c2 g d' |
g d4 g d e | c2 a g |
b e4. d8 c b a4 | b4.( c8) d2 g, \fine
}
verseOne = \lyricmode {
Praise God, from whom all bles -- sings flow;
Praise Him, all crea -- tures here be -- low;
Praise Him a -- bove, ye heav'n -- ly host;
Praise Fa -- ther, Son, and Ho -- ly Ghost.
}
\score {
\new ChoirStaff <<
\new Staff << %>> \with { \consists Merge_rests_engraver } <<
\new Voice = "soprano" { \voiceOne \soprano }
% \new Voice = "alto" { \voiceTwo \alto }
\new Lyrics \lyricsto soprano { \verseOne }
>>
% \new Staff \with { \consists Merge_rests_engraver } <<
% \clef bass
% \new Voice = "tenor" { \voiceOne \tenor }
% \new Voice = "bass" { \voiceTwo \bass }
% >>
>>
\layout {
indent = 0
\context {
\Score
\omit BarNumber
}
}
}
% \end{lilypond}

View file

@ -0,0 +1,35 @@
\heading{The Restoration of Jerusalem}
\ch{8}Again the word of the LORD of Hosts came to me, saying:
\vs{2}This is what the LORD of Hosts says: “I am jealous for Zion with great zeal; I am jealous for her with great fervor.”
\vs{3}This is what the LORD says: “I will return to Zion and dwell in Jerusalem. Then Jerusalem will be called the City of Truth, and the mountain of the LORD of Hosts will be called the Holy Mountain.”
\vs{4}This is what the LORD of Hosts says: “Old men and old women will again sit along the streets of Jerusalem, each with a staff in hand because of great age.
\vs{5}And the streets of the city will be filled with boys and girls playing there.”
\vs{6}This is what the LORD of Hosts says: “If this is impossible \footnote{Or marvelous; twice in this verse} in the eyes of the remnant of this people in these days, should it also be impossible in My eyes?” declares the LORD of Hosts.
\vs{7}This is what the LORD of Hosts says: “I will save My people from the land of the east and from the land of the west.
\vs{8}I will bring them back to dwell in Jerusalem, where they will be My people, and I will be their faithful and righteous God.”
\vs{9}This is what the LORD of Hosts says: “Let your hands be strong, you who now hear these words spoken by the prophets who were present when the foundations were laid to rebuild the temple, the house of the LORD of Hosts.
\vs{10}For before those days neither man nor beast received wages, nor was there safety from the enemy for anyone who came or went, for I had turned every man against his neighbor.
\vs{11}But now I will not treat the remnant of this people as I did in the past,” declares the LORD of Hosts.
\vs{12}“For the seed will be prosperous, the vine will yield its fruit, the ground will yield its produce, and the skies will give their dew. To the remnant of this people I will give all these things as an inheritance.
\vs{13}As you have been a curse among the nations, O house of Judah and house of Israel, so I will save you, and you will be a blessing. Do not be afraid; let your hands be strong.”
\vs{14}For this is what the LORD of Hosts says: “Just as I resolved to bring disaster upon you when your fathers provoked Me to anger, and I did not relent,” says the LORD of Hosts,
\vs{15}“so now I have resolved to do good again to Jerusalem and Judah. Do not be afraid.
\vs{16}These are the things you must do: Speak truth to one another, render true and sound judgments in your gates,
\vs{17}do not plot evil in your hearts against your neighbor, and do not love to swear falsely, for I hate all these things,” declares the LORD.
\vs{18}Then the word of the LORD of Hosts came to me, saying,
\vs{19}“This is what the LORD of Hosts says: The fasts of the fourth, the fifth, the seventh, and the tenth months will become times of joy and gladness, cheerful feasts for the house of Judah. Therefore you are to love both truth and peace.”
\vs{20}This is what the LORD of Hosts says: “Peoples will yet come—the residents of many cities—
\vs{21}and the residents of one city will go to another, saying: Let us go at once to plead before the LORD and to seek the LORD of Hosts. I myself am going.
\vs{22}And many peoples and strong nations will come to seek the LORD of Hosts in Jerusalem and to plead before the LORD.”
\vs{23}This is what the LORD of Hosts says: “In those days ten men from the nations of every tongue will tightly grasp the robe of a Jew, saying, Let us go with you, for we have heard that God is with you.’”

13
shell.nix Normal file
View file

@ -0,0 +1,13 @@
let
pkgs = import <nixpkgs> { config = {}; overlays = []; };
in
pkgs.mkShellNoCC {
packages = with pkgs; [
gnumake
lilypond
(pkgs.texlive.combine {
inherit (pkgs.texlive) scheme-basic
scripture xcolor lipsum;
})
];
}