在Rmarkdown Beamer中使用natbib消除空白页并保留参考文献标题与书签
解决方案
要在保留natbib的前提下消除空白页,同时保留参考文献的框架标题和书签,可直接用原生LaTeX代码替代Markdown的参考文献标题,具体修改如下:
修改test.rmd的参考文献部分
将原有的:
## References {.allowframebreaks}
替换为:
\begin{frame}[allowframebreaks]{References} \bibliographystyle{unsrtnat} \bibliography{ref.bib} \end{frame}
原理说明
原Markdown标题转换为beamer框架时,会与natbib自动插入参考文献的机制产生冲突,导致额外生成空白页。直接使用LaTeX的frame环境手动调用natbib的参考文献命令,既能精准控制框架内容,消除空白页,又能保留框架标题和对应的书签。
完整修改后的test.rmd代码
--- output: beamer_presentation: latex_engine: xelatex citation_package: natbib bibliography: ref.bib biblio-style: "unsrtnat" colorlinks: yes --- ## Papers - Cp @mallows1973some - AIC @akaike1974new - BIC @schwarz1978estimating - GCV @craven1978smoothing - bridge @frank1993statistical - LASSO @tibshirani1996regression - SCAD @fan2001variable - MCP @zhang2010nearly \begin{frame}[allowframebreaks]{References} \bibliographystyle{unsrtnat} \bibliography{ref.bib} \end{frame}
编译后即可得到无空白页、保留参考文献标题和书签的beamer文档,同时继续使用natbib处理引用。
内容的提问来源于stack exchange,提问作者John Stone
相关产品推荐
相关产品推荐

