我正在使用bookdown
,并且希望通过清楚地区分PDF版本中的标准“示例”和“定义” environments(例如),例如,添加一些背景底纹。
我该怎么做?我什至找不到这些环境的定义位置(例如,preamble.tex
中没有定义)。
Yihui的书says
”如果您是LaTeX或HTML专家,则可能需要自定义 无论如何,这些环境的风格(请参见第4章)。 “
这意味着有可能。我已经阅读了该部分,但是我仍然在努力(因此而发):显然我不是专家!
例如,只是为了测试我想做的事情是否可行,我尝试了一些非常简单的开始:我将此添加到了preamble.tex
:
\makeatletter
\renewenvironment{example}
{\begin{quote}}
{\end{quote}}
\makeatother
LaTeX编译报告:
! LaTeX Error: Environment example undefined.
因此,这可能根本不是标准环境。确实,这本书暗示它可能是一个定理。但是我不知道如何重新定义一个定理...
那么有没有一种方法可以为PDF输出重新定义这些标准块(如果可以,如何重新定义)?
P。
答案 0 :(得分:1)
标准块是环境,但是它们是在自定义序言之后 定义的。使用# CSV of news articles, with authors, articles, and comments
df = pd.read_csv('articles.csv')
# Counts per author
art_count = df['AUTHOR'].value_counts()
# Calculate # of comments per article
def comment_sum(df, channel, channel_name, target):
# ex) sum(df[df['AUTHOR'] == 'NYTIMES']['COMMENTS'])
return sum(df[df[channel] == channel_name][target])
# Calculate # of comments
com_count = []
for newspaper in art_count.index:
com_count.append(comment_sum(df,'AUTHOR',newspaper,'COMMENTS'))
,您可以将自己的更改移到该定义之外:
\AtBeginDocument
注意:
---
output:
bookdown::pdf_document2:
keep_tex: yes
header-includes:
- \AtBeginDocument{\renewenvironment{example}{\begin{quote}}{\end{quote}}}
---
# Some section
```{example}
Here is my example.
```
```{definition}
Here is my definition.
```
而不是header-includes
,但这没关系。preamble.tex
对于分析这样的事情很有帮助。keep_tex: yes
创建的。它可能会提供更方便的自定义挂钩。