dapengde 我不太懂只能照着样子做替换
https://github.com/yihui/bookdown-crc/blob/master/latex/preamble.tex
给出了很好的例子,比如更新(重新创建)命令\renewenvironment
而 https://github.com/yihui/bookdown-crc/blob/f91226b1df87164c5030c9f51197df0ce920596a/latex/preamble.tex#L17-L35 自定义 kframe
环境,做替换有时也得看一些 LaTeX 宏包的源文档
漂亮的 LaTeX 书籍模版 ElegantBook
dapengde 确实漂亮,不过距离惊艳还差那么一丢丢,我觉得。不知道为什么。
我替 Elegantbook 的开发者问一下,你是否有具体建议,如果有请联系项目开发者 <https://github.com/ElegantLaTeX/ElegantBook/issues/28> 可以在这个 issue 下面接着提意见
Cloud2016 看样子,ElegantBook 的模版中应该是调用了LaTeX tcolorbox 宏包. 该宏包可以设置各种漂亮个block 风格。比如背景颜色,边框颜色,titlebox的位置等等。不知道这个信息是否有用。
- 已编辑
Cloud2016 关于elegantbook的问题,LaTeX 编译不过,主要是因为,bookdown 会在preamble 最后自动添加amsthm的定理环境定义。这个仅靠模板似乎不能解决。一个解决办法是用bookdown.post.latex。具体来说就是在index.Rmd 开头家上下面的设置
```{r remove_amsthm, include=FALSE}
options(bookdown.post.latex = function(x) {
from <- grep("usepackage\\{amsthm\\}", x)
to <- grep("newtheorem\\*\\{solution", x)
x <- x[-c(from:to)]
})
```
效果可以参看 agfun.netlify.com.
- 已编辑
Cloud2016 还在不断修改中,最迟学期末会把repo开放。
@Cloud2016 做了一个示例,挂在了netlify上 https://elegantbookdown-example.netlify.com/ 。 请指正!
Fye 我把你仓库里的 bookdown.post.latex 抄进我的项目里了 https://github.com/XiangyunHuang/ElegantBookdown/blob/master/.Rprofile#L12
最近重构了一下,项目 ElegantBookdown 里比较得意的地方就是没有依赖自定义的 LaTeX 模版了,仅用 Pandoc 2.9.2 内建的模版,所以一下子感觉清爽了。 CSS 这块还没想好要什么风格的,以后有时间再搞一下
帅。
- 已编辑
Cloud2016 我没有注意到,原来模板试不需要的。这样就更方便了。你要的几个css 块的LaTeX,我有。CSS我没有太在意,从@yihui 那里抄了几个,自己有改造了一下,花了些时间找自由版权的图片。
\usepackage{tcolorbox}
\tcbset{
noparskip/.style={before={\pagebreak[0]\parskip=0pt\parindent=0pt}},
before skip=-\baselineskip,
box align=top,
enhanced,
breakable,
left=0pt,
right=0pt,
top=2pt,
bottom=2pt,
opacityframe=0,
opacitybacktitle=0.5,
width=\dimexpr\textwidth\relax,
enlarge left by=0mm,
}
\makeatletter
\ifdefstring{\ELEGANT@lang}{cn}{
\newcommand{\rmdnotename}{注意}
\newcommand{\tipname}{提示}
\newcommand{\warnname}{警告}
\newcommand{\thinkname}{思考}
}{\relax}
\ifdefstring{\ELEGANT@lang}{en}{
\setlength\parindent{2em}
\newcommand{\rmdnotename}{Note}
\newcommand{\tipname}{Tips}
\newcommand{\warnname}{Warning}
\newcommand{\thinkname}{Think}
}{\relax}
\makeatother
\newenvironment{rmdnote}{
\vspace*{0.5\baselineskip}
\par\noindent
\makebox[-3pt][r]{\color{red!90}\size{8}{\textdbend}\,\,}
\begin{tcolorbox}[
title={\textbf{\color{second}\rmdnotename}},
title style={left color=blue!10!green!20!white,right color=yellow!20!blue!20!white},
colback=red!10!white,
]
\itshape
}{
\end{tcolorbox}
\par\ignorespacesafterend
}
\newenvironment{rmdtip}{
\vspace*{0.5\baselineskip}
\par\noindent
\makebox[-3pt][r]{\color{red!90}\size{12}{\HandRight}\,\,}
\begin{tcolorbox}[
enhanced,
title={\textbf{\color{second}\tipname}},
title style={left color=blue!10!green!20!white,right color=yellow!20!blue!20!white},
colback=cyan!10!white,
]
\sffamily
}{
\end{tcolorbox}
\par\ignorespacesafterend
}
\newenvironment{rmdthink}{
\vspace*{0.5\baselineskip}
\par\noindent
\makebox[-4pt][r]{\color{green!90}\size{12}{\faLightbulbO}\,\,}
\begin{tcolorbox}[
enhanced,
title={\textbf{\color{second}\thinkname}},
title style={left color=blue!10!green!20!white,right color=yellow!20!blue!20!white},
colback=green!20!white,
]
\sffamily
}{
\end{tcolorbox}
\par\ignorespacesafterend
}
.rmdnote, .rmdtip, .rmdthink{
padding: 1em 1em 1em 4em;
margin-bottom: 10px;
}
.rmdnote {
background: #f5ead8 5px center/3em no-repeat;
background-image: url("../figs/note.png");
}
.rmdtip {
background: #88c1f0 5px center/3em no-repeat;
background-image: url("../figs/tip.png");
}
.rmdthink {
background: #96f5f8 5px center/3em no-repeat;
background-image: url("../figs/thinking.png");
}
Cloud2016 因为不熟悉R,我的办法一般都是笨办法。直接改LaTeX 或者 CSS。一个好的办法可能是让Elagantbook的作者们增加几个类似tip,warn的环境到他们的模板里面。其实note环境已经在elegantbook里了。
我其实并没有对Elegantbook 文档做修改,只是模仿Elegantbook添加了几个自己要用的环境,写在了preamble里面而已。在preamble里调整格式应该是大多数用户比较容易上手的方式。
关于Logo/Cover,最好也是让elegantbook的作者加个选择,如果logo/cover 空,就不要留未知,设置成空白就好了。需要的用户,可以在preamble里面加上。或者应该有办法让bookdown生成\logo{},\cover{}命令。
期待你能找到更简单的方法。不过目前对我来说,已经很满足。非常感谢!
最近 TeXLive 升级了,ElegantBook 跟着也升级了,所幸的是我的 ElegantBookdown 模版 不需要做任何改动,完美适配,真正实现了最低的维护成本,够稳定,开心
flyco 不知道为啥,你咋删除了留言。最近,我跟着 ElegantBook 升级了一下 ElegantBookdown,目前适配 ElegantBook 4.4 最新版。简化了很多自定义配置,特别是字体设置,欢迎试用。