2015-01-17 22 views
6

Tôi đang cố tạo một bản trình bày Beamer Presentation trong RMarkdown/Knitr. Trong slide tôi muốn có một bảng và một hình được đặt cạnh nhau, và sau đó một số văn bản bên dưới. Tôi chỉ có thể nhận được như xa như cố gắng của tôi như thể hiện trong mã. Tôi muốn đặt âm mưu mật độ, bên cạnh Bảng Hmisc.Bàn và hình cạnh nhau trong Knitr hoặc RMarkdown Beamer

Tôi không sử dụng Kable hoặc xtable vì tôi có nhiều quyền kiểm soát hơn đối với các bảng bằng Hmisc.

Ngoài ra, Làm cách nào để điều chỉnh các đặc điểm văn bản (cỡ chữ, loại, màu) trong các trang trình bày riêng lẻ?

--- 
title: "BeamerTest1" 
subtitle: Beamer Subtitle 
author: "Author" 

output: 
    beamer_presentation: 
    theme: CambridgeUS 
    colortheme: "beaver" 
    fonttheme: "structurebold" 
--- 

## Slide with Table, Figure and Text 

My topic for this slide 

\scalebox{0.35}{ 
```{r hmisc-table, echo=FALSE, message=FALSE, results='asis'} 
library(Hmisc) 
latex(head(mtcars), file='', table.env=FALSE, center='none') 
``` 
} 


```{r, echo=FALSE, fig.show='hold', fig.height=1, fig.width=2.5} 
library(ggplot2) 
mt <- ggplot(mtcars, aes(mpg)) + geom_density(alpha=.2, fill="#FF6666") + 
    theme(axis.title.x = element_text(size=10),axis.text.x = element_text(size=8), 
     axis.title.y = element_text(size=10),axis.text.y = element_text(size=8)) 
mt 
``` 

- Here is some Bullet Text 
- And some more 
    - Subtext 
    - More Subtext 

Cảm ơn

Trả lời

1

Tôi nghĩ rằng bạn muốn thiết lập các tùy chọn đoạn fig.align=right như mô tả here

+0

Cảm ơn Jthorpe, nhưng điều đó không giải quyết được vấn đề. Nó di chuyển con số sang bên phải nhưng nó vẫn là một _level bên dưới bảng, cho dù tôi có thay đổi kích cỡ hình hoặc bảng. – SGH

+0

Có lẽ câu trả lời ở cuối trang [this] (http://tex.stackexchange.com/questions/83361/two-column-layout-with-text-and-knitr-chunk) sẽ hữu ích. – Jthorpe

1

Xem xét sử dụng một cách bố trí hai cột, giống như bạn sẽ phải làm gì nếu bạn đã làm điều này trực tiếp trong Beamer . Xem ví dụ:

  • this question khi làm điều này với các công cụ có sẵn với RStudio. (Xin lưu ý rằng đây là một khu vực mà RStudio và gói RMarkdown đã phát triển rất nhiều trong thời gian gần đây và câu hỏi có phần ngày, nhưng nó gợi ý các tính năng hiện có sẵn.)
  • this question cho một giải pháp với LaTeX và Pandoc nội tuyến. (Điều này cũng sẽ làm việc với RStudio khi các bản phát hành mới hơn sử dụng bản sao pandoc kèm theo như công cụ Đánh dấu.)
  • this post on the pandoc mailing list thảo luận cách bao gồm Đánh dấu bên trong các khối LaTeX của bạn, ví dụ: các lệnh/môi trường Beamer cho các cột.
  • this question on TeX Stack Exchange có thể giúp bạn, nhưng bạn sẽ cần phải điều chỉnh nó một chút cho RMarkdown (câu hỏi sử dụng cú pháp kiểu Sweave để nhúng R vào LaTeX với đanr).

Ý tưởng cơ bản cho vấn đề của bạn sẽ là bố cục hai cột cho phần trên của trang trình bày và bố cục một cột ở dưới cùng. Sau đó bạn đặt các khối mã R riêng lẻ vào cột riêng của chúng. (Bạn có thể cần phải chơi với khoảng cách dọc nếu hai hình dạng khác nhau về kích thước.)

Định dạng Rpres là tất cả hoặc không có gì trên bố cục cột cho một trang nhất định (ít nhất là lần cuối cùng tôi đã chọn), để giải pháp đó sẽ ít hơn lý tưởng khi bạn muốn phần dưới cùng của trang trình bày là một 'cột' đơn.

Một giải pháp khác sẽ kết hợp hai số liệu thành một và sau đó hiển thị hình đã hợp nhất. Tôi không chắc bạn sẽ làm gì với bảng và đồ họa, nhưng đối với hai đồ họa, bạn có thể sử dụng gói gridExtra để đặt hai lattice hoặc ggplot2 (hoặc thậm chí cả hỗn hợp không công bằng của cả hai) cạnh nhau trong một grid và do đó trong một hình kết hợp duy nhất.

0

Đã có issue có bố cục hai cột trong bản trình bày beamer. Nhưng trong cùng một bài có cách giải quyết:

Nói tóm lại: Lỗi liên quan đến công cụ chuyển đổi pandoc, mà đối xử với tất cả mọi thứ giữa \begin{...}\end{...} như TeX. Có thể tránh được bằng cách đưa ra định nghĩa mới cho begin{column}end{column} trong tiêu đề yaml.

Tạo mystyle.tex và viết có:

\def\begincols{\begin{columns}} 
\def\begincol{\begin{column}} 
\def\endcol{\end{column}} 
\def\endcols{\end{columns}} 

Trong tập tin RMD sử dụng các định nghĩa mới

--- 
output: 
    beamer_presentation: 
    includes: 
     in_header: mystyle.tex 
--- 


Two Column Layout 
------- 

\begincols 
    \begincol{.48\textwidth} 

This slide has two columns. 

    \endcol 
\begincol{.48\textwidth} 

```{r} 
#No error here i can run any r code 
plot(cars) 
``` 

    \endcol 
\endcols 

Và bạn nhận được:

enter image description here

Các vấn đề liên quan