- 已编辑
dapengde 那这样的话距离我想要的样子还很远,\openbox already defined.
原因是他们自定义的block有的和 bookdown 定义的block名称一样
这是他们自定义的 definition
\begin{definition}{可积性}{int}
设 $ f(x)=\sum\limits_{i=1}^{k} a_i \chi_{A_i}(x)$ 是 $E$ 上的非负简单函数,其中 $\{A_1,A_2,\ldots,A_k\}$ 是 $E$ 上的一个可测分割,$a_1,a_2,\ldots,a_k$ 是非负实数。定义 $f$ 在 $E$ 上的积分为 $\int_{a}^b f(x)$
\begin{equation}
\label{inter}
\int_{E} f dx = \sum_{i=1}^k a_i m(A_i) \pi \alpha\beta\sigma\gamma\nu\xi\epsilon\varepsilon.
\end{equation}
一般情况下 $0 \leq \int_{E} f dx \leq \infty$。若 $\int_{E} f dx < \infty$,则称 $f$ 在 $E$ 上可积。
\end{definition}
这是 bookdown 对 definition 的定义
```{definition, name="可积性", label="int"}
设 $ f(x)=\sum\limits_{i=1}^{k} a_i \chi_{A_i}(x)$ 是 $E$ 上的非负简单函数,其中 $\{A_1,A_2,\ldots,A_k\}$ 是 $E$ 上的一个可测分割,$a_1,a_2,\ldots,a_k$ 是非负实数。定义 $f$ 在 $E$ 上的积分为 $\int_{a}^b f(x)$
\begin{equation}
\int_{E} f dx = \sum_{i=1}^k a_i m(A_i) \pi \alpha\beta\sigma\gamma\nu\xi\epsilon\varepsilon.
(\#eq:inter)
\end{equation}
一般情况下 $0 \leq \int_{E} f dx \leq \infty$。若 $\int_{E} f dx < \infty$,则称 $f$ 在 $E$ 上可积。
```
转化后的 LaTeX 代码
\BeginKnitrBlock{definition}[可积性]
\begin{definition}
\protect\hypertarget{def:int}{}{\label{def:int} \iffalse (可积性) \fi{} }设 \$ f(x)=\sum\limits\emph{\{i=1\}\^{}\{k\} a\_i \chi}\{A\_i\}(x)\$ 是 <code class="katex-escape">\(E\)</code> 上的非负简单函数,其中 <code class="katex-escape">\(\{A_1,A_2,\ldots,A_k\}\)</code> 是 <code class="katex-escape">\(E\)</code> 上的一个可测分割,<code class="katex-escape">\(a_1,a_2,\ldots,a_k\)</code> 是非负实数。定义 <code class="katex-escape">\(f\)</code> 在 <code class="katex-escape">\(E\)</code> 上的积分为 <code class="katex-escape">\(\int_{a}^b f(x)\)</code>
\begin{equation}
\int_{E} f dx = \sum_{i=1}^k a_i m(A_i) \pi \alpha\beta\sigma\gamma\nu\xi\epsilon\varepsilon.
\label{eq:inter}
\end{equation}
一般情况下 <code class="katex-escape">\(0 \leq \int_{E} f dx \leq \infty\)</code>。若 <code class="katex-escape">\(\int_{E} f dx < \infty\)</code>,则称 <code class="katex-escape">\(f\)</code> 在 <code class="katex-escape">\(E\)</code> 上可积。
\end{definition}
\EndKnitrBlock{definition}
yihui 我不太想动上游的 ElegantBook 的模版,这会增加维护成本,使用 bookdown 的内建 block 和自定义 block 会出现奇奇怪怪的现象,这个好理解,就是上游开发人员可能没想过要和 bookdown 的 block 定义风格保持一致,所以需要这种高度自定义又不依赖 bookdown ,只有 Pandoc 提供的 divs-and-spans 。这样做可以尽可能地不动他们的 LaTeX 模版,而只是用 Pandoc lua filter 做替换, 自定义block实现会复杂一些 但是可塑性会很强,最好的办法就是和他们商量一下,具有共同的 block 能不能和 bookdown 内建的block 保持一致