ElegantBook
ElegantBook copied to clipboard
ElegantBook 4.x 版本集中讨论帖
随着 TeX Live 2020 更新,由于 gbt7714
宏包更新导致全部用户出现编译错误,另外 pgfornament
未被 TeX Live 2020 收录,这两个问题均已在 3.11 版本中修正,修正方案见 #92。
考虑到之前有一些悬而未决的问题,加上这次的变动,决定将 3.11 作为 3.x 版本最后版本,3.11 版本也将作为分支保留,之后开发 4.x.x 版本。
特开此帖,大家可以把自己想要在新版本中添加的特性发在这里,有什么想法均可以在这里讨论。
新版本绝对不是为了更新而更新。
新版本原则:尽量保留旧版本中所有特性,并开辟更加稳健,更加易用的特性。
封面(titlepage)
作为一个新版本,此次自然会更新封面,封面的样式目前初步定为 effective python 书籍封面的样式,不过原来封面肯定也会以其他形式保留。
主要考虑:
- 不再强制要求封面图案
- 开启新的封面可能
由于 effective python 的封面样式太过常见,因此考虑其他选项。
参考文献(bibliography)
放弃 3.x 版本中的 BibTeX 编译方式,改用 biblatex
宏包支持。
主要考虑:
-
更加易用
-
章节文献
-
更多可能性
-
[x] 完成时间:2020/7/6
-
[x] 版本:4.0.2
定理写法 (theorem class environment)
将定理改回 amsthm
的写法,并在三个模板中统一,具体讨论见 #64 ,也即
\begin{theorem}[theorem name]\label{thm:label}
The content of theorem.
\end{theorem}
- [x] 完成时间:2020/6/4
- [x] 版本:4.0.1
书籍元素
补充扉页、封底、前言、后记等书籍元素,标准化电子书籍。
如 @jin-li 指出,添加索引表、术语表等信息。
见 #57 #96 。
字体
放弃目前的字体支持方案,将 type1 改为 opentype。
初步拟定使用 Libertinus 和 Times 作为选项。
- [x] 完成时间:2020/7/30
- [x] 版本:4.0.4
Opentype的字体确实有优势,不过好像要用XeLaTex编译。XeLaTeX处理字体有点依赖用户系统里的字体种类,可迁移性略有限制。不知道有没有更好的办法处理字体的问题。
西文字体可以完全使用 tex 发行版中的;中文字体发行版里面也有 fandol,但可能会缺字,不过用了 ctex 宏集的话可以设置为自动选择系统字体。
宏包(packages)
尽量,简化模板中使用的宏包,或者条件调用。
https://github.com/XiangyunHuang/ElegantBookdown/issues/1
有时间的话,仔细核对每一个宏包的用法,以及兼容性,加载顺序问题,包括列出哪些宏包用户可以在导言区修改,以及修改方式,并给出模板宏包列表,这部分内容欢迎补充。
之前作者在 #89 中回复了伪代码,在这里补充一下,我认为算法不一定是伪代码,也可能是公式或者流程图等形式,因此算法数学环境应该是一个通用的有样式的段落环境,用户可以选择填充的内容。当然,如果作者能进一步提供与主题样式相匹配的伪代码环境,那就更好不过了。
可以考虑双封面的效果
可以考虑替代页码让目录条目具有超链功能。在阅读生成文档过程中,页码超链太小,不好点击。
- [x] 完成时间:2020/7/29
- [x] 版本:4.0.3
可以考虑增加选项,使得章节标题,数学环境去掉自动编号,方便做笔记;再就是证明环境的结束提示符,可以考虑增加选项,显示实心,显示空心,隐藏;以及增设调整页边距的选项。
希望可以加入“证明”、“原则”环境,比如数据库设计或者设计模式的内容往往会列出很多原则,如果直接用enumerate有时不够醒目 还有就是定理环境自动编号最后面,也就是定理名字前面最后一个“.”改成空格,看起来更简洁一些
https://github.com/ElegantLaTeX/ElegantBook/issues/20
latex2e 在 2019-10-01 加了 \labelformat
命令,不需要 cleveref
宏包也能将引用加文字了
看了大家的建议,我觉得能不能增加一个各选项可控制的环境,比如类似“定理”环境,可以自由的控制自动编号、环境名称、颜色等,这样就能把模板运用到更多的场合。
看了大家的建议,我觉得能不能增加一个各选项可控制的环境,比如类似“定理”环境,可以自由的控制自动编号、环境名称、颜色等,这样就能把模板运用到更多的场合。
不实际,你说的这些就是定义环境时需要输入的,提供接口反而增加学习成本,不如自己定义,然而会自己定义的估计就不会用模板了
现在的目录似乎没有便于快速跳转到内容页的超链接,可以考虑一下
现在的目录似乎没有便于快速跳转到内容页的超链接,可以考虑一下
有,点击页码
现在的目录似乎没有便于快速跳转到内容页的超链接,可以考虑一下
有,点击页码
哦哦,原来如此,之前习惯上都是直接点击标题就能跳转的。谢谢!
能不能考虑加入专业词汇表或者名词索引的支持?一般科技类的书籍在最后会有一个本书中出现过的名词的索引,方便读者查阅相关名词的定义。
另外也可以考虑在书的前言部分加入符号对照表,一般工程类书籍中往往会使用一些约定熟成的符号表示特定的物理量,以便在公式中使用,例如Re表示雷诺数、Pr表示普朗特数这种。
能不能考虑加入专业词汇表或者名词索引的支持?一般科技类的书籍在最后会有一个本书中出现过的名词的索引,方便读者查阅相关名词的定义。
texdoc lshort-zh-cn
, sec 6.2 索引和 makeindex 工具
另外也可以考虑在书的前言部分加入符号对照表,一般工程类书籍中往往会使用一些约定熟成的符号表示特定的物理量,以便在公式中使用,例如Re表示雷诺数、Pr表示普朗特数这种。
用表格去做
这些都跟模板无关,是用户的内容问题,顶多提前加载宏包,模板起不到关键的作用
能不能考虑加入专业词汇表或者名词索引的支持?一般科技类的书籍在最后会有一个本书中出现过的名词的索引,方便读者查阅相关名词的定义。
texdoc lshort-zh-cn
, sec 6.2 索引和 makeindex 工具另外也可以考虑在书的前言部分加入符号对照表,一般工程类书籍中往往会使用一些约定熟成的符号表示特定的物理量,以便在公式中使用,例如Re表示雷诺数、Pr表示普朗特数这种。
用表格去做
这些都跟模板无关,是用户的内容问题,顶多提前加载宏包,模板起不到关键的作用
这个建议主要是考虑到主题风格统一的问题,用户自己使用相关宏包的话,索引和对照表的样式可能与ElegantBook模板的风格不统一。因此我在想官方能不能定制一下这两个环境的样式,使其与模板风格更好地搭配。
这个建议主要是考虑到主题风格统一的问题,用户自己使用相关宏包的话,索引和对照表的样式可能与ElegantBook模板的风格不统一。因此我在想官方能不能定制一下这两个环境的样式,使其与模板风格更好地搭配。
个人感觉没什么能定制的……
能不能考虑加入专业词汇表或者名词索引的支持?一般科技类的书籍在最后会有一个本书中出现过的名词的索引,方便读者查阅相关名词的定义。
texdoc lshort-zh-cn
, sec 6.2 索引和 makeindex 工具另外也可以考虑在书的前言部分加入符号对照表,一般工程类书籍中往往会使用一些约定熟成的符号表示特定的物理量,以便在公式中使用,例如Re表示雷诺数、Pr表示普朗特数这种。
用表格去做 这些都跟模板无关,是用户的内容问题,顶多提前加载宏包,模板起不到关键的作用
这个建议主要是考虑到主题风格统一的问题,用户自己使用相关宏包的话,索引和对照表的样式可能与ElegantBook模板的风格不统一。因此我在想官方能不能定制一下这两个环境的样式,使其与模板风格更好地搭配。
嗯,后续会为贴近纸质出版书籍靠近的。
这个建议主要是考虑到主题风格统一的问题,用户自己使用相关宏包的话,索引和对照表的样式可能与ElegantBook模板的风格不统一。因此我在想官方能不能定制一下这两个环境的样式,使其与模板风格更好地搭配。
个人感觉没什么能定制的……
嗯嗯,仅作为一点不成熟的建议,感谢回复!
看了大家的建议,我觉得能不能增加一个各选项可控制的环境,比如类似“定理”环境,可以自由的控制自动编号、环境名称、颜色等,这样就能把模板运用到更多的场合。
其实模板有一个 custom
环境,支持一个参数,也就是环境名,这个环境用的不是 tcolorbox 做的定理环境,如果你想定制类似于 tcolorbox 的定理环境,最好的方式是去看下 tcolorbox 然后在导言区添加。
颜色分离(color and theme)
为了方便用户修改颜色,将所有用到的字体独立命名。
有很多常见但是非必需的宏包,比如multirow,multicol,makecell,listings等。这些宏包没必要包含在模板中。用户如需要类似功能,可以自行搜索使用
提出这个是因为我之前用elegantbook,现在迁移了一部分代码出来想用自带的book类写一个简单的东西,发现有好多命令并非latex自带,而找到这些命令在哪些宏包中十分困难
看来4.x会有很多重大变化。是否会向下兼容呢?
多语言支持(Multilingual Support)
#85 #90 #108 #111
POINT: babel
package and translation, also take care of encoding problem, the counter problem.
有很多常见但是非必需的宏包,比如multirow,multicol,makecell,listings等。这些宏包没必要包含在模板中。用户如需要类似功能,可以自行搜索使用
提出这个是因为我之前用elegantbook,现在迁移了一部分代码出来想用自带的book类写一个简单的东西,发现有好多命令并非latex自带,而找到这些命令在哪些宏包中十分困难
看来4.x会有很多重大变化。是否会向下兼容呢?
其实这句话是矛盾的,不加载那些包的情况下,是无法做到向下兼容的(我理解的没错的话是现在代码未来可用)。只能说我会尽量减少一些包的使用,尽可能减少冲突,其他无法保证。