forked from rpgtex/DND-5e-LaTeX-Template
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathexample.tex
372 lines (297 loc) · 12.5 KB
/
example.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
\documentclass[twocolumn]{ctexbook}
\usepackage[nodeprecatedcode]{dnd}
\usepackage[singlelinecheck=false]{caption}
\usepackage{lipsum}
\usepackage{multicol}
\usepackage{listings}
\usepackage{shortvrb}
\usepackage{stfloats}
\usepackage{zhnumber}
\captionsetup[table]{labelformat=empty,font={sf,sc,bf,},skip=0pt}
\MakeShortVerb{|}
\newfontfamily\crn{Courier New}
\lstset{%
basicstyle=\crn,
language=[LaTeX]{TeX},
breaklines=true,
}
\title{The Dark \LaTeX{} \\
\large An Example of the dndbook Class}
\author{The rpgTeX Team}
\date{2020/04/21}
\begin{document}
\frontmatter
\maketitle
\tableofcontents
\mainmatter
\part{布局}
\chapter{章节}
\DndDropCapLine{本}{宏包是用来帮助您}为世界上最伟大的角色扮演游戏的第五版撰写排版漂亮的文章的。
它首先把\LaTeX{}中默认的小节排版变为读者更加熟悉的形式。
章节排版则如上所示。
\section{小节}
使用小节(section)来把章节分成大量相关的文字。
\subsection{小小节}
使用小小节(subsection)来更进一步地为读者拆分信息。
\subsubsection{小小小节}
小小小节(subsubsection)依然具有块级的标头,比它更细的划分中的标头是内联的。
\paragraph{段落}
在核心规则书中很少见到段落(paragraph)格式,但是如果您更加喜欢段落式的排版,也可以使用它。
\subparagraph{子段落}
带有段落缩进的子段落(subparagraph)格式对读者而言可能更加熟悉。
\section{特殊的小节}
本模块也包括了用来辅助多行小节标头排版的函数:|\DndFeatHeader|用于专长(Feat)的排版、|\DndItemHeader|用于魔法物品与陷阱的排版、|\DndSpellHeader|用于法术的排版。
\DndFeatHeader{排版智者 Typesetting Savant}[先决条件:\LaTeX{}分发版]
你获得了帮助你最喜欢的游戏之一的原始材料进行排版的宏包。
让你获得以下增益:
\begin{itemize}
\item 你为排版新内容所做的智力检定具有优势;
\item 当你未能通过为排版新内容所做的智力检定时,你可以在该宏包的网站上寻求帮助。
\end{itemize}
\DndItemHeader{福之翎笔 Foo's Quill}{奇物,珍稀}
该翎笔具有三发充能。
持有它时,你可以使用一次动作消耗一发充能。
该翎笔会跃出你的手中,并根据你所处的情况撰写一份契约。
该翎笔每日黎明时回复1d3发已消耗的充能。
\DndSpellHeader%
{精致排版 Beautiful Typesetting}
{四环,幻术}
{1动作}
{5尺}
{S,M (墨水与羊皮纸)}
{直至被解除}
你能够角任意长度的书面消息变形为一张美丽的卷轴。
任何能够看到该卷轴的生物必须进行一次感知豁免检定,若失败则被你魅惑。
被你魅惑的生物的视线不能离开该卷轴,且不会自愿地远离它。
目标在其回合结束时可以进行一次感知豁免检定,若成功则不再被魅惑。
\section{地图区域}
地图区域函数|\DndArea|和|\DndSubArea|会自动为区域标号。
\DndArea{霍姆莱特村 Village of Hommlet}
名为霍姆莱特的村庄。
(这是第一版附带的新手模组的发生地。)
\DndSubArea{迎客少女酒馆 Inn of the Welcome Wench}
迎客少女酒馆位于霍姆莱特村中。
\DndSubArea{铁匠铺 Blacksmith's Forge}
村庄中还有一个铁匠铺。
\DndArea{福之城堡 Foo's Castle}
这是福的住所,是一间由泥土和木棍搭成的破旧小屋。
\DndSubArea{护城壕}
壕沟上横跨着一块木板。
\DndSubArea{入口}
一个五尺高的洞,借助屋顶的洞透过的光线,从其中可以看见泥土地面。
\chapter{文本框}
这个模块含有三个分离文本用来吸引读者注意的环境。
|DndReadAloud|用来标记游戏主持人应当大声朗读出的文本。
\begin{DndReadAloud}
当你靠近这个模块时,能感受到无数代人为它而付出的血与泪。
当你输入第一个字时,一种温暖的感觉随之而来。
\end{DndReadAloud}
\section{侧栏}
其余两个环境为|DndComment|和|DndSidebar|。
|DndComment|可以断开,能够在文本中内联使用。
\begin{DndComment}{这是一个评论框!}
|DndComment|是为文本提供最简单高亮的文本框。
它缺少|DndSidebar|周围的装饰,但是能够在两栏之间断开。
\end{DndComment}
|DndSidebar|不能断开,因此最好使用浮动(float)来固定在页面一角。
\begin{DndSidebar}[float=!b]{看,DndSidebar!}
|DndSidebar|用在侧边栏中。
它不会在两栏之间断开,最好和figure环境一切使用来浮动在页面的一角,这样文本可以环绕它。
\end{DndSidebar}
\section{表格}
|DndTable|为偶数行上色,且默认定宽为行宽。
\begin{DndTable}[header=好看的表格]{XX}
表头 & 表头 \\
值 & 值 \\
值 & 值 \\
值 & 值
\end{DndTable}
\chapter{怪物与NPC}
% Monster stat block
\begin{DndMonster}[float*=b,width=\textwidth + 8pt]{福之怪 Monster Foo}
\begin{multicols}{2}
\DndMonsterType{中型异怪(占位变量),中立邪恶}
% If you want to use commas in the key values, enclose the values in braces.
\DndMonsterBasics[
armor-class = {9(带\emph{法师护甲}12)},
hit-points = {\DndDice{3d8 + 3}},
speed = {30尺,飞行30尺},
]
\DndMonsterAbilityScores[
str = 12,
dex = 8,
con = 13,
int = 10,
wis = 14,
cha = 15,
]
\DndMonsterDetails[
%saving-throws = {Str +0, Dex +0, Con +0, Int +0, Wis +0, Cha +0},
%skills = {Acrobatics +0, Animal Handling +0, Arcana +0, Athletics +0, Deception +0, History +0, Insight +0, Intimidation +0, Investigation +0, Medicine +0, Nature +0, Perception +0, Performance +0, Persuasion +0, Religion +0, Sleight of Hand +0, Stealth +0, Survival +0},
%damage-vulnerabilities = {cold},
%damage-resistances = {bludgeoning, piercing, and slashing from nonmagical attacks},
%damage-immunities = {poison},
%condition-immunities = {poisoned},
senses = {黑暗视觉60尺,被动察觉10},
languages = {通用语、地精语、地下通用语},
challenge = 1,
]
% Traits
\DndMonsterAction{天生施法}
施法关键属性为魅力(法术豁免DC 12,法术攻击命中+4)。它天生可施展以下法术而不需要任何相应的材料成分:
\begin{DndMonsterSpells}
\DndInnateSpellLevel{迷踪步}
\DndInnateSpellLevel[3]{云雾术,魔绳术}
\DndInnateSpellLevel[1]{鉴定术}
\end{DndMonsterSpells}
\DndMonsterAction{施法}
其为二级施法者。施法关键属性为魅力(法术豁免DC 12,法术攻击命中+4)。它准备了以下法术:
\begin{DndMonsterSpells}
\DndMonsterSpellLevel{剑刃防护,火焰箭,光亮术,电爪}
\DndMonsterSpellLevel[1][3]{燃烧之手,法师护甲,护盾术}
\end{DndMonsterSpells}
\DndMonsterSection{行动}
\DndMonsterAction{多重攻击}
进行两次近战攻击。
%Default values are shown commented out
\DndMonsterAttack[
name=匕首,
%distance=both, % valid options are in the set {both,melee,ranged},
%type=weapon, %valid options are in the set {weapon,spell}
mod=+3,
%reach=5,
%range=20/60,
%targets=one target,
dmg=\DndDice{1d4+1},
dmg-type=穿刺,
%plus-dmg=,
%plus-dmg-type=,
%or-dmg=,
%or-dmg-when=,
%extra=,
]
%\DndMonsterMelee calls \DndMonsterAttack with the melee option
\DndMonsterMelee[
name=火舌长剑,
mod=+3,
%reach=5,
%targets=one target,
dmg=\DndDice{1d8+1},
dmg-type=挥砍,
plus-dmg=\DndDice{2d6},
plus-dmg-type=火焰,
or-dmg=\DndDice{1d10+1},
or-dmg-when=若双手共持,
%extra=,
]
%\DndMonsterRanged calls \DndMonsterAttack with the ranged option
\DndMonsterRanged[
name=刺客轻弩,
mod=+1,
range=80/320,
dmg=\DndDice{1d8},
dmg-type=穿刺,
%plus-dmg=,
%plus-dmg-type=,
%or-dmg=,
%or-dmg-when=,
extra={,目标须进行一次DC 15的体质豁免检定,失败则受24 (7d6)毒素伤害,成功伤害减半}
]
% Legendary Actions
\DndMonsterSection{传奇动作}
其拥有3 传奇动作用于选择执行下列动作选项。每次执行传奇动作时,每个选项只可以选用一次,且只能在另一生物的回合结束时执行。在它的回合开始时恢复其所有已消耗的传奇动作数。
\begin{DndMonsterLegendaryActions}
\DndMonsterLegendaryAction{移动}{最快以其最大速度移动。}
\DndMonsterLegendaryAction{匕首攻击}{进行一次匕首攻击。}
\DndMonsterLegendaryAction{创建契约(花费3行动)}{Foo用其所知的语言创造一份契约并向10尺内任意一个生物展示。该生物必须进行一次DC 10的智力豁免检定。失败时,该生物陷入失能直至Foo的下一个回合。不能能理解该契约的语言者的检定具有优势。}
\end{DndMonsterLegendaryActions}
\end{multicols}
\end{DndMonster}
使用|DndMonster|环境来为怪物和非玩家角色的资料板进行排版。
此模块提供许多函数来为资料板的内容进行排版。
\part{自定义}
\chapter{颜色}
\begin{table*}[b]
\caption{\DndFontTableTitle{}本宏包支持的颜色}\label{tab:colors}
\begin{tabularx}{\linewidth}{lX}
\textbf{颜色} & \textbf{描述} \\
\rowcolor{PhbLightGreen}
|PhbLightGreen| & 玩家手册第一部分使用的淡绿色(默认) \\
\rowcolor{PhbLightCyan}
|PhbLightCyan| & 玩家手册第二部分使用的淡青色 \\
\rowcolor{PhbMauve}
|PhbMauve| & 玩家手册第三部分使用的淡紫色 \\
\rowcolor{PhbTan}
|PhbTan| & 玩家手册附录使用的浅棕色 \\
\rowcolor{DmgLavender}
|DmgLavender| & 城主手册第一部分使用的淡紫色 \\
\rowcolor{DmgCoral}
|DmgCoral| & 城主手册第二部分使用的橘粉色 \\
\rowcolor{DmgSlateGray}
|DmgSlateGray| (|DmgSlateGrey|) & 城主手册第三部分使用的蓝灰色 \\
\rowcolor{DmgLilac}
|DmgLilac| & 城主手册附录使用的紫灰色 \\
\rowcolor{BrGreen}
|BrGreen| & 基础规则中表格使用的灰绿色 \\
\end{tabularx}
\end{table*}
该宏包提供几种全局的颜色变量来为|DndComment|、|DndReadAloud|、|DndSidebar|和|DndTable|环境指定样式。
\begin{DndTable}[header=文本框颜色]{lX}
颜色 & 描述 \\
|commentcolor| & |DndComment|背景色 \\
|readaloudcolor| & |DndReadAloud|背景色 \\
|sidebarcolor| & |DndSidebar|背景色 \\
|tablecolor| & |DndTable|偶数行的背景色 \\
\end{DndTable}
这些环境也接受一个可选的颜色参数用来为单个实例指定颜色。
可用的核心规则书颜色参见表格\ref{tab:colors}。
\begin{lstlisting}
\begin{DndTable}[color=PhbLightCyan]{cX}
d8 & Item \\
1 & Small wooden button \\
2 & Red feather \\
3 & Human tooth \\
4 & Vial of green liquid \\
5 & Loaded dice \\
6 & Tasty biscuit \\
7 & Broken axe handle \\
8 & Tarnished silver locket \\
\end{DndTable}
\end{lstlisting}
\begin{DndTable}[color=PhbLightCyan]{cX}
d8 & Item \\
1 & Small wooden button \\
2 & Red feather \\
3 & Human tooth \\
4 & Vial of green liquid \\
5 & Loaded dice \\
6 & Tasty biscuit \\
7 & Broken axe handle \\
8 & Tarnished silver locket \\
\end{DndTable}
\section{主题颜色}
使用|\DndSetThemeColor[<color>]|来为|commentcolor|、|readaloudcolor|、|sidebarcolor|和|tablecolor|设置指定的颜色。
不带参数地调用|\DndSetThemeColor|能将以上颜色设置为当前的|themecolor|。
以下例子使用分组将颜色的改变限制在几个文本框中。
分组之后,颜色就回到了开始前的状态。
\begin{lstlisting}
\begingroup
\DndSetThemeColor[PhbMauve]
\begin{DndComment}{This Comment Is in Mauve}
This comment is in the the new color.
\end{DndComment}
\begin{DndSidebar}{This Sidebar Is Also Mauve}
The sidebar is also using the new theme color.
\end{DndSidebar}
\endgroup
\end{lstlisting}
\begingroup
\DndSetThemeColor[PhbMauve]
\begin{DndComment}{淡紫色评论}
这个评论使用新的主题色。
\end{DndComment}
\begin{DndSidebar}{淡紫色侧栏}
这个侧栏也使用新的主题色。
\end{DndSidebar}
\endgroup
\end{document}