Изменение размера таблицы.tex в слайдах Rmarkdown Beamer

Проблема:

Таблицы регрессии необходимо сжать, чтобы включить в слайды Beamer, но нельзя сжать их в RMarkdown без копирования и вставки необработанного TeX. Есть ли более простой способ сделать это, чтобы я мог автоматизировать эту часть моего рабочего процесса?

Фон

Мои регрессии автоматически генерируют файлы.tex для таблиц регрессии. Однако, когда я пытаюсь ввести файлы в мои слайды Beamer (созданные в Rmarkdown), они становятся слишком большими, и мне приходится вручную копировать, вставлять и изменять их размер, чтобы они подходили. Ниже MWE

table.tex

\begin{table}[!htbp] \centering
  \caption{Title}
\begin{tabular}{lcccccc}
\\[-1.8ex]\hline
\hline \\[-1.8ex]
 & \multicolumn{6}{c}{Dependent Var} \\
\hline \\[-1.8ex]
 Independent Var & $-$0.031 & 0.012 & $-$0.264 & $-$0.267 & $-$0.107 & $-$1.980 \\
\hline
\hline \\[-1.8ex]
\textit{Note:}  & \multicolumn{6}{l}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\
\end{tabular}
\end{table}

RMarkdown.Rmd

---
title: "Title"
output:
  beamer_presentation:
    slide_level: 3
    keep_tex: false
---

### Test Results
\input{table.tex}

Временное решение

Скопируйте / вставьте таблицу.tex и добавьте \resizebox{}{} окружающих \begin{tabular}...\end{tabular}

Workaround.Rmd

---
title: "Title"
output:
  beamer_presentation:
    slide_level: 3
    keep_tex: false
---

### Test Results
\begin{table}[!htbp] \centering
  \caption{Title}

\resizebox{0.98\textwidth}{!}{

\begin{tabular}{lcccccc}
\\[-1.8ex]\hline
\hline \\[-1.8ex]
 & \multicolumn{6}{c}{Dependent Var} \\
\hline \\[-1.8ex]
 Independent Var & $-$0.031 & 0.012 & $-$0.264 & $-$0.267 & $-$0.107 & $-$1.980 \\
\hline
\hline \\[-1.8ex]
\textit{Note:}  & \multicolumn{6}{l}{$^{*}$p$<$0.1; $^{**}$p$<$0.05; $^{***}$p$<$0.01} \\
\end{tabular}

}

\end{table}

1 ответ

Масштабирование элементов, содержащих текст, может привести к неоптимальной читаемости текста. Вместо этого вы можете использовать fitting библиотека из tcolorbox пакет для автоматического выбора подходящего размера шрифта:

      ---
title: "Title"
output:
  beamer_presentation:
    slide_level: 3
    keep_tex: false
header-includes:
 - \usepackage{tcolorbox}
 - \tcbuselibrary{fitting}
---

### Test Results 
\begin{tcolorbox}[fit,width=\textwidth,height=.9\textheight,size=minimal,colback=white,fit algorithm=fontsize,colframe=white]
  \input{table.tex}
\end{tcolorbox}
Другие вопросы по тегам