章 13 · 篇 III · 实践
模板页做的书
在沙盒里用一本由模板页组成的小学课本走一遍全过程:做页面模板,用 Markdown 填入文字,给地图加标注,翻译这一页,修正放不下的地方,以及在页面和正文之间互相选中
简单来说
本页一步一步教你在沙盒里做课本的一页:顶上一条标题色带,下面一段课文,再加几个彩色方框。你从一本做好的示例书出发,给它再加一页。先把这一页画成模板,再用 Markdown 把文字灌进去,然后在地图上给地点命名,并把这一页翻译成另一种语言。最后讲文字太长、框放不下时怎么办,以及怎样在页面和它的文字之间来回跳转。
你要用模板做出课本的一页,用 Markdown 填入文字,给地图加标注,翻译这一页,再修正放不下的地方。
小学课本的一页是一组方框:标题色带、一段课文、定义框、活动框、一幅地图。Postext按页面模板排这样的页面,模板里存放各个框,Markdown只说明哪些文字放进哪个框。本页在沙盒里把整个流程走一遍:在一本现成的书上增加一页。参考页面讲每个字段和每一行 Markdown 的作用;这里每件事只做一次,按顺序做,看它改变什么。Markdown 的写法见模板页,模板见配置:组合页面,各个界面见沙盒:模板页。
你只需要一个浏览器。每一步都在沙盒里完成,你的修改只保存在你的浏览器中。
#1. 打开这本书
这本书是《Our river》(意为“我们的河”),是三年级课本中的一个单元,作为第156号食谱发表在排版食谱中。河、城镇和图片都是为它虚构的。全书九页,其中相邻的两页上铺着一幅手绘地图,有西班牙语、加泰罗尼亚语和英语三个版本。
在沙盒中打开。第一次打开时,它会作为你自己的书加入书库,可以随意修改;把链接里的lang=en换成lang=es或lang=ca,就得到另外两个版本。以后再用同一个链接打开,沙盒会问你是打开自己的那一份,还是用发布的版本替换它。
动手之前先了解两件事:
- 预览上方的栏里有一个开关,分为内容和版面设计。在内容模式下改文字,可以在正文面板里改,也可以直接在页面上改。在版面设计模式下改页面模板和样式,文字只读。Alt+Shift+M(Mac 上为 ⌥⇧M)在两种模式之间切换。
- 正文面板显示一章的 Markdown。每个模板页是一个块,以
::::page{template="…"}开头,以四个冒号结尾。在预览里点一下页面上的文字,光标就会跳到 Markdown 里对应的文字上。
#2. 做一个页面模板
新的一页是复习页:一条标题色带,下面一小段文字,再加两个方框,一个用来回顾所学,一个用来动手试一试。它需要一个有四个框的模板。
- 切换到版面设计,打开左侧的版面设计面板。选择页面与分栏,再选页面模板。列表里是书中的每个模板,旁边画着它的各个框。
- 点新建,会打开一个名为新模板的模板。把ID填成
review(Markdown 里用它来指定模板),把名称填成Review page(这个面板里显示的名字)。ID 只能用小写字母、数字和短横线。 - 模板一开始有一个框
text,它接收页面上的自由正文。把它改成标题色带:名称(插槽)填title;框样式选portada,这是书里标题已经在用的蓝色色带;关掉接收页面上的自由正文;接收第一个标题选1 级,这样这个框就会接收页面上的第一个#标题。 - 点添加框。新框会在框列表下面展开。名称(插槽)填
text,并打开接收页面上的自由正文:页面里写在框外的文字都进这里。 - 再添加一个框。名称(插槽)填
remember。框样式选dato-campo,这是带标签页的绿色方框。最小高度设为30毫米,这样文字很短时,方框也能保持合适的大小。 - 最后再添加一个框。名称(插槽)填
try。框样式选actividad-sol。最小高度设为30毫米。 - 在
text、remember和try里,把宽度设为延伸到边缘,把高度设为随内容:这样它们占满页面的宽度,高度随文字而定。 - 在分组下点添加分组。把它命名为
column,保持上下堆叠,把框间距设为6毫米。在组内的框(按页面顺序)下勾选这四个框。分组按框列表的顺序排列它们,所以标题在最前面。分组把框一个接一个地往下排,某个框变高时,会把下面的框推下去;因此第一个方框里的文字变长,第二个方框会被推到下面,不会被盖住。
(在新标签页中打开)模板里没有文字。你设置的任何内容都没有说标题是什么、方框里放什么:框样式决定框的外观,分组决定框的顺序。做同一个模板还有别的办法。在版面设计模式下,可以用鼠标在模板页的空白处画一个框,也可以移动框、调整框的大小(见沙盒:模板页);复制会复制一个模板供你修改;将版面存为模板把你满意的一个模板页变成新模板。
#3. 用 Markdown 填入页面
- 切换到内容,打开正文面板,按 Ctrl+End(Mac 上按 Cmd+↓)跳到本章末尾。
- 点正文面板工具栏里的模板页。弹出的选择器列出书中的页面模板,每个都画成空框的样子。选Review page。
- 沙盒替你写出这一页,每个槽位一个空框,并选中标题里的
title一词。直接输入标题,覆盖它。
::::page{template="review"}
# Check what you have learned
A river changes as it runs from the mountains to the sea. Read the boxes, then answer them in your own words.
:::frame{slot="remember" label="Remember"}
A spring gives a trickle, streams join into a river, and the river widens as it nears the sea.
:::
:::frame{slot="try" label="Try it"}
Draw a river from its spring to the sea. Write the names of the three courses on your drawing.
:::
::::标题进入接收 1 级标题的框,紧跟其后的段落进入接收自由正文的框,每个:::frame进入slot所指的框。label是方框标签页上的文字。这一页在画布上是第10页,排在本单元原有的九页之后:模板页总是另起一页。
(在新标签页中打开)注意 Markdown 没有写什么:没有位置,没有尺寸,没有颜色。这些都属于模板;同样的 Markdown 换一个模板来排,样子就会不同。
#4. 给地图加标注
第6页和第7页上有一幅铺在对页上的手绘地图。图上的文字不是图片的一部分。地图上的每个名称都是 Markdown 里的一行,写在地图的:::figure里面:
:::figure{resource="mapa" slot="mapa"}
::label[Spring]{at="nacimiento"}
::label[Molinar]{at="molinar"}
::label[Lower course]{at="bajo"}
:::at指定一个锚点:图上的一个点,在图的资源里定义一次,各种语言共用。要加上Molinar的石桥:
- 在正文面板里找到地图的图(搜索
at="bajo"),在最后一个标注下面加一行:::label[Stone bridge]{at="bridge"}。 - 打开检查。列表里第6页有一条标注指向不存在的锚点:图上没有叫
bridge的锚点。点这一条上的图钉按钮在图上放置锚点 bridge。 - 弹出的对话框在锚点标签页里显示地图和图上已有的锚点。名称
bridge已经选在缺少锚点的标注(1)下。在桥所在的位置点一下图片。 - 把新锚点的标注样式设为
pueblo,也就是城镇名称用的样式,然后点保存。
(在新标签页中打开)
(在新标签页中打开)Stone bridge这个词在 Markdown 里,点则属于图片。翻译这一页时,同一个锚点会配上另一种语言的词。
#5. 翻译这一页
译文就是同一个模板配上另一种语言的文字。沙盒有两种方式保存译文。一本书可以同时带多种语言:把它存成.postext文件,每种语言一个版本,这样画布上方的栏可以在各版本之间切换,检查面板也会检查所有版本(见书的各个版本)。更简单、不需要文件的方式,是复制一本另一种语言的书:
- 打开书库,点你这本书上的 ⋯,选复制;或者点新建,选复制当前的书。打开复制出来的那本。它和原书同名,用同一个菜单里的重命名…改个名字。
- 在版面设计面板里打开书写系统,在语言与方向下设置文档语言。断词、引号,以及引擎自己写出的字词(例如框被截断处的Continued),都会跟着它变。
- 在正文面板里翻译文字,其余的不动。
| 需要翻译的 | 保持原样的 |
|---|---|
| 标题、段落和列表中的文字 | 围栏的四个冒号、page一词和围栏里的template="…" |
框的label="…" | 框的slot="…" |
::label[…]、::alt[…]和::caption[…]方括号里的文字 | 标注的at="…"和图的resource="…" |
图片、锚点、方框和它们的颜色都随副本一起带过来,不用再做。下面是这一页复习页的西班牙语副本:
::::page{template="review"}
# Repasa lo aprendido
Un río cambia mientras baja de las montañas al mar. Lee los recuadros y respóndelos con tus propias palabras.
:::frame{slot="remember" label="Recuerda"}
Un manantial da un hilo de agua, los arroyos se unen en un río y el río se ensancha al acercarse al mar.
:::
:::frame{slot="try" label="Inténtalo"}
Dibuja un río desde su manantial hasta el mar. Escribe en tu dibujo el nombre de los tres cursos.
:::
::::
(在新标签页中打开)#6. 修正放不下的地方
各种语言的词长短不一,英语文字放得下的框,西班牙语文字不一定放得下。检查面板能找出这样的框。要看到一个,就在翻译好的页面的remember框里再粘贴三四段随便什么文字,让它装的内容超出页面能给的空间。
页面上这个框现在被红线框起,脚下有一条色带,写着差多少(差 26 毫米)。在检查里的模板页下,条目框内放不下文字说明排版在放弃之前试过什么(先向周围的框要更多空间,再缩小文字),并把解决办法列成按钮:
- 允许文字缩到82.5 %(fit.minScale)让这个框的文字最多缩到这个大小。适合多出几行的情况。
- 在下一页接续(overflow.continueIn)把放不下的部分送到加在这一页后面的一页上。适合文字更长的情况。
- 删去约495个字符不改任何东西。它选中这个框里的文字,并告诉你要删掉多少。
修改模板的按钮(用这个模板的每一页都会变)会先询问,并写明要改的设置。点修改。页面重新排版:方框的末尾出现截断处的字样(Continúa),剩下的文字接在加出来的一页的开头。Cmd/Ctrl+Z可以撤销这次修改。画布上方栏里的重排会打开移动了什么,为什么:列出排版为了容纳内容而改变过大小或位置的框,并用文字写明原因。
(在新标签页中打开)#7. 在页面和正文里选择
页面和它的 Markdown 互相跟随。
- 从页面到正文。点页面上某个框里的文字:光标就跳到正文面板里那一段,预览下方的路径写出你的位置(第 10 页 › column › try › 第 1 段)。在版面设计模式下,同样的点击改为为模板编辑器选中这个框。
- 从正文到页面。把光标放进一段文字,页面上装着这一段的框和这一段本身就会被框出,同一条路径写出它们的位置。
- 从检查项出发。点检查面板里的一条,沙盒就带你到那一页,选中那个框,并把光标放到它的文字上。书有多个版本时,会切换到有问题的那个版本。
- 在方框的标签页上。双击它,上面会打开一个输入框,用来改
label。按 Enter 保留修改,按 Esc 放弃。
(在新标签页中打开)