-
Notifications
You must be signed in to change notification settings - Fork 313
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Themes, configurable image floats, quotation boxes, new stat blocks, and more! #360
base: dev
Are you sure you want to change the base?
Conversation
THEMES ====== There is now an eberron theme that will set some fonts and recto/verso background images to match the Eberron book stylings. Top-level titles get some new fonts, and a couple of colors change. You can now choose between three font sets. The default uses the original font settings from the rpgtex implementation. In addition, you can provide the option `fonts=wotc` or `fonts=dmsguild`. Use `wotc` to select the fonts that WotC uses in their published books (you'll have to pay for the fonts, and I can't speak to any trade dress issues that might arise). I like using this because I'm vain and I mostly write these adventures for myself, for fun. Yes, I'm a typography nerd, this is fun. The `dmsguild` version uses the fonts specified by the DM's Guild materials. I've included details on where to obtain each of these fonts. The official DM's Guild fonts are all available for free download, the paid fonts can be found at either MyFonts or Adobe. IMAGES ====== I've added support for floatable images using `tcolorbox`, with `\DndImage` providing a plain image, and `\DndCaptionedImage` for an image with a corresponding caption, in the correct (themed) font. You can provide options from `tcolorbox` to both of these to provide some fine-tuning or to have images extend out to the edges of the printed page, for example. STAT BLOCKS =========== You can now create stat blocks for sentient items via `\DndSentientItemAbilityScores`. Sentient items use `Int`, `Wis`, `Cha`, and `Alignment`. Added `psionic` as an attack type, alongside `weapon` and `spell`. I'm working on some Dark Sun ideas, and one approach I have defines psionic attacks. Added support for vehicle stat blocks using the `DndVehicle` environment. This functions the same way as for `DndMonster`, with appropriate no-bg variants. There are corresponding commands for the various components of the stat block: - `DndVehicleBasics` - `DndVehicleDetails` - `DndVehicleAbilityScores` - `DndVehicleSection` - `DndVehicleAction` - `DndVehicleSpeed` - `DndVehicleComponent` - `DndVehicleControl` - `DndVehicleMovement` - `DndVehicleWeapon` - `DndVehicleAttack` NEW BOXES ========= You can add quotation boxes now with the `DndQuotation` and `DndAside` environments. `DndQuotation` expects an attribution argument, and is intended for either book quotes or for notes from e.g. Tasha or Xanathar. `DndAside` provides the same without an attribution. Both render in the form of a small sticky note attached to the page, as close as I can get it to the ones in the official books. AREAS ===== Areas have been updated to allow for specifying ranges. You can use `\DndAreaRange` to supply an area description for e.g. "Area 1.10–1.12". Area references are now also updated to make it easier to reference areas outside the current set. For instance, if you're in "F.3." and you want to build a reference back to "C.5", you can now do so directly. `\DndAreaRef` now generates the `C5` string, rather than a page number, since that's the more common usage. To get a page number, there's a new `\DndAreaPageRef` command which takes on the original behavior. UTILITIES ========= There are new `\DndSkillCheck` and `\DndAbilityCheck` macros that can be used to generate DC checks using localized strings from the locale file. Ability checks render as e.g. "DC 12 Dexterity", while skill checks render as e.g. "DC 12 Strength (Athletics)". There are macros wrapping these for ability saves (`\DndStrSave`, `\DndConSave` etc.). There are also macros wrapping skills checks that provide the usual attribute name, though this can be overridden. You can use `\DndAthletics{12}` to get "DC 12 Strength (Athletics)", or `\DndAthletics[\conname]{12}` to get "DC 12 Constitution (Athletics)", for example. In addition to these are a couple of macros for the things I consistently forget: - `\DndPickLock{12}` creates "DC 12 Dexterity" because I forget lock-picking is straight Dex. - `\DndThievesTools{12} creates "DC 12 Dexterity (Thieves' Tools)" for those cases where tool proficiency is helpful. The eagle-eyed will note a `dndmonsterlookup.sty` in here as well, which is being superceded by a separate package. The intent is for you to be able to say `A \Boar\ approaches` and receive "A \textbf{boar} (\textit{MM}, p. 319) approaches" in the output. The separate package is better because it defines each source in an optional module, and provides a way to get plurals in place properly. That's coming Real Soon Now™.
c1b8cbe
to
29d3114
Compare
The CI appears to be broken. It's complaining that it can't update Debian packages. |
Yeah, it's fairly old and probably needs an update. I think it is failing to load an out of date LaTeX version for the build. |
There is a lot of interesting stuff here. It will take a while to digest. |
I got my monster reference package up, btw: https://github.com/AlanQuatermain/DND-5e-LaTeX-monsters |
…e font selection in default font set.
…ronments, examples & info on modern stat blocks.
I think this should be broken into smaller pull requests.
It feels like too much to adequately digest all at once. If you want, I can break it down over time and create separate PRs. |
I've been tinkering for a long while. In my spare time I've been doing things like porting the original Dragonlance adventure to 5e, porting the original Eberron adventure cycle, and attempting to put together a codex of all things Dark Sun for 5e, including an attempt at 'real' psionic rules for mental combat. Along the way I've made numerous additions to the base classes, mostly to scratch at itches I had while working. These have built up over quite a while, so there's a lot to look at here, but it's all been used successfully in my various passion projects.
Themes
There is now an eberron theme that will set some fonts and recto/verso background images to match the Eberron book stylings. Top-level titles get some new fonts, and a couple of colors change.
You can now choose between three font sets. The default uses the original font settings from the rpgtex implementation. In addition, you can provide the option
fonts=wotc
orfonts=dmsguild
. Usewotc
to select the fonts that WotC uses in their published books (you'll have to pay for the fonts, and I can't speak to any trade dress issues that might arise). I like using this because I'm vain and I mostly write these adventures for myself, for fun. Yes, I'm a typography nerd, this is fun. Thedmsguild
version uses the fonts specified by the DM's Guild materials.I've included details on where to obtain each of these fonts. The official DM's Guild fonts are all available for free download, the paid fonts can be found at either MyFonts or Adobe.
Images
I've added support for floatable images using
tcolorbox
, with\DndImage
providing a plain image, and\DndCaptionedImage
for an image with a corresponding caption, in the correct (themed) font. You can provide options fromtcolorbox
to both of these to provide some fine-tuning or to have images extend out to the edges of the printed page, for example.Stat Blocks
You can now create stat blocks for sentient items via
\DndSentientItemAbilityScores
. Sentient items useInt
,Wis
,Cha
, andAlignment
.Added
psionic
as an attack type, alongsideweapon
andspell
. I'm working on some Dark Sun ideas, and one approach I have defines psionic attacks.Added support for vehicle stat blocks using the
DndVehicle
environment. This functions the same way as forDndMonster
, with appropriate no-bg variants. There are corresponding commands for the various components of the stat block:DndVehicleBasics
DndVehicleDetails
DndVehicleAbilityScores
DndVehicleSection
DndVehicleAction
DndVehicleSpeed
DndVehicleComponent
DndVehicleControl
DndVehicleMovement
DndVehicleWeapon
DndVehicleAttack
New Boxed Text Environments
You can add quotation boxes now with the
DndQuotation
andDndAside
environments.DndQuotation
expects an attribution argument, and is intended for either book quotes or for notes from e.g. Tasha or Xanathar.DndAside
provides the same without an attribution. Both render in the form of a small sticky note attached to the page, as close as I can get it to the ones in the official books.Areas
Areas have been updated to allow for specifying ranges. You can use
\DndAreaRange
to supply an area description for e.g. "Area 1.10–1.12". Area references are now also updated to make it easier to reference areas outside the current set. For instance, if you're in "F.3." and you want to build a reference back to "C.5", you can now do so directly.\DndAreaRef
now generates theC5
string, rather than a page number, since that's the more common usage. To get a page number, there's a new\DndAreaPageRef
command which takes on the original behavior.Utilities
There are new
\DndSkillCheck
and\DndAbilityCheck
macros that can be used to generate DC checks using localized strings from the locale file. Ability checks render as e.g. "DC 12 Dexterity", while skill checks render as e.g. "DC 12 Strength (Athletics)".There are macros wrapping these for ability saves (
\DndStrSave
,\DndConSave
etc.). There are also macros wrapping skills checks that provide the usual attribute name, though this can be overridden. You can use\DndAthletics{12}
to get "DC 12 Strength (Athletics)", or\DndAthletics[\conname]{12}
to get "DC 12 Constitution (Athletics)", for example.In addition to these are a couple of macros for the things I consistently forget:
\DndPickLock{12}
creates "DC 12 Dexterity" because I forget lock-picking is straight Dex.The eagle-eyed will note a
dndmonsterlookup.sty
in here as well, which is being superceded by a separate package. The intent is for you to be able to sayA \Boar\ approaches
and receive "A \textbf{boar} (\textit{MM}, p. 319) approaches" in the output. The separate package is better because it defines each source in an optional module, and provides a way to get plurals in place properly. That's coming Real Soon Now™.