我试图写一个distill::distill_article博客,它需要使用LaTeX数学环境,例如定理、引理、证明等。
我尝试过遵循这些使用说明和这些指示,但无法呈现theorem环境,无论是使用LaTeX块还是rmarkdown块。
我还注意到,相似问题被问到如何在bookdown中专门使用distill::distill_article。此修复也不起作用。请注意,我的用例是在distill::distill_article内部使用bookdown定理环境,而不是相反。
以下是对这一问题的解释:
---
title: "Test Title"
description: |
Test description
author: Test author
date: 2021-12-31
output:
distill::distill_article:
self_contained: false
---
```{r setup, include=FALSE}knitr::opts_chunk$set(echo =真)
图书馆(预订)
# TL;DR;
Trying to ensure that theorem environments are working in
`distill::distill_article`.
# Main theorems
With the definitional background established, let's move onto the
main theorem of this article.
\begin{align}
g(X_{n}) &= g(\theta)+g'({\tilde{\theta}})(X_{n}-\theta) \notag \\
\sqrt{n}[g(X_{n})-g(\theta)] &= g'\left({\tilde{\theta}}\right)
\sqrt{n}[X_{n}-\theta ] (\#eq:align)
\end{align}
<!-- # This does not work, i.e., render in html -->
\begin{theorem}[Delta Method]\label{nthm:deltamethod}
g(X_{n}) &= g(\theta)+g'({\tilde{\theta}})(X_{n}-\theta) \notag \\
\sqrt{n}[g(X_{n})-g(\theta)] &= g'\left({\tilde{\theta}}\right)
\sqrt{n}[X_{n}-\theta ] (\#eq:align)
\end{theorem}
<!-- # This reference does not work, i.e., is not recognized -->
We have a labeled and named theorem below, and \@ref(nthm:deltamethod).
<!-- # This does not work either, i.e., render in html -->
::: {.theorem #pythagoras name="Pythagorean theorem"}
For a right triangle, if $c$ denotes the length of the hypotenuse
and $a$ and $b$ denote the lengths of the other two sides, we have
$$a^2 + b^2 = c^2$$
:::
<!-- # This reference does not work either, i.e., is not recognized -->
We have a labeled and named theorem below, and \@ref(thm:pythagoras).请注意,我在重标记中加载了bookdown,目的是呈现定理环境。然而,它不起作用,即定理或交叉引用没有呈现出来。有人能帮我解决这个问题吗?
会话信息
─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
setting value
version R version 4.1.2 (2021-11-01)
os macOS Monterey 12.0.1
system x86_64, darwin17.0
ui RStudio
language (EN)
collate en_US.UTF-8
ctype en_US.UTF-8
tz America/New_York
date 2022-01-02
─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
package * version date lib source
assertthat 0.2.1 2019-03-21 [1] standard (@0.2.1)
backports 1.2.1 2020-12-09 [1] standard (@1.2.1)
bookdown * 0.24 2021-09-02 [1] CRAN (R 4.1.0)
broom 0.7.10 2021-10-31 [1] CRAN (R 4.1.0)
cachem 1.0.5 2021-05-15 [1] standard (@1.0.5)
cellranger 1.1.0 2016-07-27 [1] standard (@1.1.0)
cli 3.1.0 2021-10-27 [1] CRAN (R 4.1.0)
clipr 0.7.1 2020-10-08 [1] standard (@0.7.1)
colorspace 2.0-2 2021-06-24 [1] standard (@2.0-2)
crayon 1.4.1 2021-02-08 [1] standard (@1.4.1)
DBI 1.1.1 2021-01-15 [1] standard (@1.1.1)
dbplyr 2.1.1 2021-04-06 [1] standard (@2.1.1)
desc 1.4.0 2021-09-28 [1] CRAN (R 4.1.0)
details 0.2.1 2020-01-12 [1] CRAN (R 4.1.0)
digest 0.6.27 2020-10-24 [1] standard (@0.6.27)
distill 1.3 2021-10-13 [1] CRAN (R 4.1.0)
downlit 0.4.0 2021-10-29 [1] CRAN (R 4.1.0)
dplyr * 1.0.7 2021-06-18 [1] standard (@1.0.7)
ellipsis 0.3.2 2021-04-29 [1] standard (@0.3.2)
evaluate 0.14 2019-05-28 [1] standard (@0.14)
fansi 0.5.0 2021-05-25 [1] standard (@0.5.0)
fastmap 1.1.0 2021-01-25 [1] standard (@1.1.0)
forcats * 0.5.1 2021-01-27 [1] CRAN (R 4.1.0)
fs 1.5.2 2021-12-08 [1] CRAN (R 4.1.0)
generics 0.1.0 2020-10-31 [1] standard (@0.1.0)
ggplot2 * 3.3.5 2021-06-25 [1] standard (@3.3.5)
glue 1.4.2 2020-08-27 [1] standard (@1.4.2)
gtable 0.3.0 2019-03-25 [1] standard (@0.3.0)
haven 2.4.1 2021-04-23 [1] standard (@2.4.1)
hms 1.1.0 2021-05-17 [1] standard (@1.1.0)
htmltools 0.5.1.1 2021-01-22 [1] standard (@0.5.1.1)
httr 1.4.2 2020-07-20 [1] standard (@1.4.2)
jsonlite 1.7.2 2020-12-09 [1] standard (@1.7.2)
knitr 1.37 2021-12-16 [1] CRAN (R 4.1.0)
lifecycle 1.0.0 2021-02-15 [1] standard (@1.0.0)
lubridate 1.7.10 2021-02-26 [1] standard (@1.7.10)
magrittr 2.0.1 2020-11-17 [1] standard (@2.0.1)
memoise 2.0.0 2021-01-26 [1] standard (@2.0.0)
modelr 0.1.8 2020-05-19 [1] standard (@0.1.8)
munsell 0.5.0 2018-06-12 [1] standard (@0.5.0)
pillar 1.6.1 2021-05-16 [1] standard (@1.6.1)
pkgconfig 2.0.3 2019-09-22 [1] standard (@2.0.3)
png 0.1-7 2013-12-03 [1] standard (@0.1-7)
purrr * 0.3.4 2020-04-17 [1] standard (@0.3.4)
R6 2.5.0 2020-10-28 [1] standard (@2.5.0)
Rcpp 1.0.7 2021-07-07 [1] CRAN (R 4.1.0)
readr * 1.4.0 2020-10-05 [1] standard (@1.4.0)
readxl 1.3.1 2019-03-13 [1] standard (@1.3.1)
reprex 2.0.1 2021-08-05 [1] CRAN (R 4.1.0)
rlang 0.4.11 2021-04-30 [1] standard (@0.4.11)
rmarkdown 2.11 2021-09-14 [1] CRAN (R 4.1.0)
rprojroot 2.0.2 2020-11-15 [1] standard (@2.0.2)
rstudioapi 0.13 2020-11-12 [1] CRAN (R 4.1.0)
rvest 1.0.0 2021-03-09 [1] standard (@1.0.0)
scales 1.1.1 2020-05-11 [1] standard (@1.1.1)
sessioninfo 1.1.1 2018-11-05 [1] standard (@1.1.1)
stringi 1.6.2 2021-05-17 [1] standard (@1.6.2)
stringr * 1.4.0 2019-02-10 [1] standard (@1.4.0)
tibble * 3.1.2 2021-05-16 [1] standard (@3.1.2)
tidyr * 1.1.3 2021-03-03 [1] standard (@1.1.3)
tidyselect 1.1.1 2021-04-30 [1] standard (@1.1.1)
tidyverse * 1.3.1 2021-04-15 [1] CRAN (R 4.1.0)
utf8 1.2.2 2021-07-24 [1] CRAN (R 4.1.0)
vctrs 0.3.8 2021-04-29 [1] standard (@0.3.8)
withr 2.4.2 2021-04-18 [1] standard (@2.4.2)
xfun 0.29 2021-12-14 [1] CRAN (R 4.1.0)
xml2 1.3.2 2020-04-23 [1] standard (@1.3.2)
yaml 2.2.1 2020-02-01 [1] standard (@2.2.1)
[1] /Library/Frameworks/R.framework/Versions/4.1/Resources/library
发布于 2022-01-04 14:32:30
bookdown特性可以与其他单一格式一起使用base_format参数,如描述的这里。
如果bookdown的所有特性都与提取格式不完全兼容,则定理和证明处理应该是这样的。因此,这样做是可行的:
---
title: "Test Title"
description: |
Test description
author: Test author
date: 2021-12-31
output:
bookdown::html_document2:
self_contained: false
base_format: distill::distill_article
---
```{r setup, include=FALSE}knitr::opts_chunk$set(echo =真)
# TL;DR;
Trying to ensure that theorem environments are working in `distill::distill_article`.
::: {#pythagoras .theorem name="Pythagorean theorem"}
For a right triangle, if $c$ denotes the length of the hypotenuse and $a$ and $b$ denote the lengths of the other two sides, we have
$$a^2 + b^2 = c^2$$
:::
We have a labeled and named theorem below, and \@ref(thm:pythagoras).

您将得到与bookdown中相同的HTML呈现。
有关更多上下文,请参见Github上的这一相关问题。
发布于 2022-01-03 05:49:06
在YAML之后添加以下内容,然后:::之间的方法将起作用:
<style>
.theorem{
display: block;
font-style: italic;
}
.theorem::before{
content:"Theorem. ";
font-weight: bold;
font-style: normal;
}
.theorem[name]::before{
content: "Theorem (" attr(name) ") ";
}
</style>
::: {.theorem name="Pythagorean theorem"}
For a right triangle, if $c$ denotes the length of the hypotenuse
and $a$ and $b$ denote the lengths of the other two sides, we have
$$a^2 + b^2 = c^2$$
:::

如果您希望能够通过超级链接引用定理,可以使用href,如下所示:
如果你想引用你的定理,你可以这样做。考虑到<a href="#Pythagorean theorem">Pythagorean定理</a>,应该有一种方法将其联系起来。

发布于 2022-01-04 04:08:16
我并没有把它们都做完,但这里有一个是关于引理的。这使用两个类:引理和lemmaS。当您使用类引理时,它会更改整数,当您使用lemmaS时,它会增加十进制数。此方法可应用于所有不同类型的块的公式。
更新后的样式:
<style>
h1 {
counter-reset: lemma;
}
h2 {
counter-reset: lemmaS;
}
.lemma, .lemmaS, .theorem { /* updated to add two types of lemma */
display: block;
font-style: italic;
}
.lemma:first-of-type::before,
.lemmaS:first-of-type::before {
counter-set: lemma 1;
}
.theorem::before{
content:"Theorem. ";
font-weight: bold;
font-style: normal;
}
.theorem[name]::before{
content: "Theorem (" attr(name) ") ";
}
.lemma::before { /* This will increment by whole numbers: 1, 2, 3 */
counter-increment: lemma;
content: "Lemma " counter(lemma) "." counter(lemmaS);
font-weight: bold;
font-style: normal;
}
.lemmaS::before { /* This will increment by decimals numbers: 2.1, 2.2 */
counter-increment: lemmaS;
content: "Lemma " counter(lemma) "." counter(lemmaS) " ";
font-weight: bold;
font-style: normal;
}
</style>代码,使用h1或#重置整数;使用<h2>或##重置十进制。
# TL;DR;
::: {.theorem name="Pythagorean theorem"}
For a right triangle, if $c$ denotes the length of the hypotenuse
and $a$ and $b$ denote the lengths of the other two sides, we have
$$a^2 + b^2 = c^2$$
:::
<div class="lemma" name="pythag">
For a right triangle, if $c$ denotes the length of the hypotenuse
and $a$ and $b$ denote the lengths of the other two sides, we have
$$a^2 + b^2 = c^2$$
</div>
<div class="lemmaS" name="YetAnotherPythag">
For a right triangle, if $c$ denotes the length of the hypotenuse
and $a$ and $b$ denote the lengths of the other two sides, we have
$$a^2 + b^2 = c^2$$
</div>
## Tell me about lemmas
<div class="lemma" name="andMore">
For a right triangle, if $c$ denotes the length of the hypotenuse
and $a$ and $b$ denote the lengths of the other two sides, we have
$$a^2 + b^2 = c^2$$
</div>在我输入它的时候,我已经想到了几种方法来使这个cleaner...but --我只想让它在那里工作!我确信有一种方法只使用一类引理,使用标题来表示何时增加整数。不管是哪种方式,这都会让你有其他选择。如果你不想要数字,使用定理设置,只需将单词定理改为你想要看到的单词。如果你想给它们编号,把引理改为你想要出现的单词。如果需要以上所有内容,请在CSS中追加名称。
例如,要使用编号,但添加推论-您可以在没有使用“内容”的地方,在使用“内容”的地方追加“内容”,复制并更改该词:
.corrolary,
.lemma,
.lemmaS,
.theorem { /* updated to add two types of lemma */
display: block;
font-style: italic;
}
.corollary::before{. /* Copy of .theorem, updated for Corollary */
content:"Corollary. ";
font-weight: bold;
font-style: normal;
}

https://stackoverflow.com/questions/70557340
复制相似问题