Skip to content

Commit

Permalink
Latex feature pages: Separate headers for types of feats
Browse files Browse the repository at this point in the history
Instead of one big Features section, separate feats by origin, i.e.,
character feats, class feats, racial traits, and background feats.
Have section headers for each of these, instead of the Feats header.
  • Loading branch information
PJBrs committed Jan 2, 2024
1 parent 42a2070 commit e0067b5
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 16 deletions.
68 changes: 53 additions & 15 deletions dungeonsheets/forms/features_template.tex
Original file line number Diff line number Diff line change
@@ -1,25 +1,63 @@
\pdfbookmark[0]{Features}{Features}
\section*{Features}
[% if use_dnd_decorations %]
[% for feat in character.features %]
\DndFeatHeader{[[ feat.name ]]}[Source: [[ feat.source ]]]
\newcounter{FeatType} % 0: Character feats; 1: Class feats; 2: Racial traits; 3: Background feats
\newcounter{CharFeats}
\newcommand\MaxCharFeats{[[ '0' if character.custom_features == None else character.custom_features | length ]]}
\ifnum \value{CharFeats}=\MaxCharFeats
\stepcounter{FeatType}
\fi

[% for feat in character.features %]
\ifnum \value{FeatType}=0
\ifnum \value{CharFeats}=0
\pdfbookmark[0]{Character Feats}{Character Feats}
\section*{Character Feats}
\stepcounter{CharFeats}
\else
\ifnum \value{CharFeats}=\MaxCharFeats
\stepcounter{FeatType}
\fi
\stepcounter{CharFeats}
\fi
\fi

\ifnum \value{FeatType}=1
\pdfbookmark[0]{Class Features}{Class Features}
\section*{Class Features}
\stepcounter{FeatType}
\fi

\ifnum\pdfmatch{Race}{[[ feat.source ]]}=1
\ifnum \value{FeatType}=2
\pdfbookmark[0]{Racial Traits}{Racial Traits}
\section*{Racial Traits}
\stepcounter{FeatType}
\fi
\fi
\ifnum\pdfmatch{Background}{[[ feat.source ]]}=1
\ifnum \value{FeatType}=3
\pdfbookmark[0]{Background Feats}{Background Feats}
\section*{Background Feats}
\stepcounter{FeatType}
\fi
\fi

[% if use_dnd_decorations %]
\pdfbookmark[1]{[[ feat.name ]]}{Features - [[ feat.name ]]}
\DndFeatHeader{[[ feat.name ]]}[Source: [[ feat.source ]]]

[[ feat.__doc__|rst_to_latex ]]
[% endfor %]
[% else %]
[% for feat in character.features %]
\subsection*{[[ feat.name ]]}
[% else %]
\pdfbookmark[1]{[[ feat.name ]]}{Features - [[ feat.name ]]}
\subsection*{[[ feat.name ]]}

\noindent
\textbf{Source:} [[ feat.source ]] \\

[% if feat.needs_implementation %] %
\textbf{**Not included in stats on Character Sheet} %
[% endif %] %

[[ feat.__doc__|rst_to_latex ]]

[% endfor %]
[% endif %]
[% endif %]

[% if feat.needs_implementation %] %
\textbf{**Not included in stats on Character Sheet} %
[% endif %] %

[% endfor %]
2 changes: 1 addition & 1 deletion tests/test_make_sheets.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ def test_create_subclasses_tex(self):
def test_create_features_tex(self):
char = self.new_character()
tex = make_sheets.create_features_content(character=char, content_suffix="tex")
self.assertIn(r"\section*{Features}", tex)
self.assertIn(r"\section*{Class Features}", tex)
self.assertIn(r"\subsection*{Martial Arts}", tex)

def test_create_magic_items_tex(self):
Expand Down

0 comments on commit e0067b5

Please sign in to comment.