Câu hỏi Kích thước phông chữ mã trong Beamer với knitr và latex


Tôi đang cố gắng lấy một số mã R để phù hợp với các slide của tôi. Có vẻ như không thể thay đổi kích thước phông chữ thông qua size đối số cho đoạn mã như bạn có thể làm cho các tài liệu kiểu đan khác. Cách duy nhất có vẻ là với \footnotesize trước mỗi đoạn mã. Điều này là khó chịu, vì tôi có rất nhiều đoạn mã và trong nhiều trường hợp, tôi phải sử dụng \normalsize sau khi cho điểm bullet LaTeX của tôi.

---
title: "Untitled"
output:
 beamer_presentation:
  includes:
   in_header: header.txt
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, size = "footnotesize")
```

## R Markdown

```{r}
summary(cars)
```

\footnotesize
```{r}
summary(cars)
```

enter image description here

trong tôi header.txt (bên dưới) Tôi đã thử nghiệm với một vài bit mã từ http://yihui.name/knitr/demo/beamer/ nhưng không có may mắn.

\ifdefined\knitrout
\renewenvironment{knitrout}{\begin{footnotesize}}{\end{footnotesize}}
\else
\fi

\makeatletter
\let\oldalltt\alltt
\def\alltt{\@ifnextchar[\alltt@i \alltt@ii}
\def\alltt@i[#1]{\oldalltt[#1]\footnotesize}
\def\alltt@ii{\oldalltt\footnotesize}
\makeatother

... nhưng thực sự ở độ sâu của tôi với \def.


10
2017-07-12 08:12


gốc




Các câu trả lời:


Vẽ trên câu trả lời tex.SE này, chúng tôi có thể xác định lại Shaded môi trường xung quanh R mã để làm cho nó chú thích chân trang (và verbatim môi trường cho đầu ra). Thêm mục này vào header.txt của bạn:

%% change fontsize of R code
\let\oldShaded\Shaded
\let\endoldShaded\endShaded
\renewenvironment{Shaded}{\footnotesize\oldShaded}{\endoldShaded}

%% change fontsize of output
\let\oldverbatim\verbatim
\let\endoldverbatim\endverbatim
\renewenvironment{verbatim}{\footnotesize\oldverbatim}{\endoldverbatim}

4
2017-07-12 09:26



cảm ơn nhiều. như xa như tôi thấy điều này chỉ làm việc trên mã R (trong khu vực bóng mờ) và không phải là đầu ra R. có cách nào để trang trải cả hai? - gjabel
@gjabel, chúng tôi sẽ cần xác định lại verbatim là tốt, xem câu trả lời cập nhật - scoa
tuyệt vời. cảm ơn. cũng thấy rằng nếu tôi chuyển đổi knitr::opts_chunk$set(collapse = TRUE) Tôi không cần phải lo lắng về verbatim sửa chữa (mà đã gõ vào hiệu ứng khi được sử dụng ở những nơi khác trong các slide) như là R đầu ra là sau đó cũng trong khu vực bóng mờ. - gjabel