【问题标题】:How to set text margin without conflict with block environment?如何设置文本边距而不与块环境冲突?
【发布时间】:2022-11-11 23:29:37
【问题描述】:

我想减少内容文本和页面边缘之间的边距。我遵循以下方法:https://tex.stackexchange.com/questions/354022/modifying-the-margins-of-all-slides-in-beamer,使用\setbeamersize{text margin left=1.40mm, text margin left=1.40mm}

但是,它会使块不在幻灯片中居中。那么,如何在不影响块设置的情况下设置文本边距呢? 还有另一种设置文本边距的方法吗?

完整脚本如下:

\documentclass[t]{beamer}

\usetheme{Madrid}
\usecolortheme{beaver}
\usefonttheme{structurebold} 

\usepackage{graphicx} 
\usepackage{booktabs} 
\usepackage{multicol} 

\title[Short title]{Full Title of the Talk} 

\author{JJ XX} 
\institute[UCLA] 
{
University of California \\ 
\medskip
\textit{jx@111.com} 
}
\date{\today} 

% set the text margin
\setbeamersize{text margin left=1.40mm, text margin left=1.40mm}
\settowidth{\leftmargini}{\usebeamertemplate{itemize item}}
\settowidth{\leftmargini}{\usebeamertemplate{enumerate item}}
\addtolength{\leftmargini}{-0.2\labelsep}


\begin{document}

\begin{frame}
\titlepage % Print the title page as the first slide
\end{frame}

\begin{frame}
  \frametitle{Contents}
  \begin{multicols}{2}
    \tableofcontents
  \end{multicols}
\end{frame}

\section{blocka}
\begin{frame}
  \frametitle{blocka}
  \begin{itemize}
  \item First
  \item Second
  \end{itemize}
  \begin{exampleblock}{Introduction to Beamer}
    Beamer is a class of \LaTeX.
  \end{exampleblock}
\end{frame}

\section{blockb}
\begin{frame}
  The second example.
  \frametitle{blockb}
  \begin{block}{Beamer Intro}
    New is New.
  \end{block}
\end{frame}

【问题讨论】:

  • 我想知道您是否已经尝试过\usetheme{CambridgeUS} 而不是您的自定义修改?默认情况下,它的边距很窄,并使用您的颜色主题。
  • 我检查了主题,我也喜欢这个主题。但是,我检查后它们的边距是一样的

标签: latex beamer


【解决方案1】:

beamer 块的边距被设计成块内的文本仍然与周围的文本对齐。如果您单独设置边距,这将打破这种对齐方式:

documentclass[t]{beamer}

usetheme{Madrid}
usecolortheme{beaver}
setbeamersize{text margin left=1.40mm, text margin left=1.40mm}


makeatletter
setbeamertemplate{block begin}
{%
  parskipmedskipamount%
  hfillegin{minipage}{.98	extwidth}%
  egin{beamerboxesrounded}[upper=block title,lower=block body,shadow=true]%
    {
aggedrightusebeamerfont*{block title}insertblocktitle}%
    
aggedright%
    usebeamerfont{block body}%
}
setbeamertemplate{block end}
{end{beamerboxesrounded}end{minipage}skipsmallskipamount}
makeatother

egin{document}

egin{frame}
  The second example.
  rametitle{blockb}
  egin{block}{Beamer Intro}
    New is New.
  end{block}
end{frame}

end{document}


或者,您可以使用 tcolorbox 内部主题:

documentclass[t]{beamer}

usetheme{Madrid}
usecolortheme{beaver}
setbeamersize{text margin left=1.40mm, text margin left=1.40mm}

useinnertheme{tcolorbox}
	cbset{
  center,
  width=linewidth
}

egin{document}

egin{frame}
  The second example.
  rametitle{blockb}
  egin{block}{Beamer Intro}
    New is New.
  end{block}
end{frame}

end{document}

【讨论】:

  • 它只能解决阻塞问题。标题页和内容页怎么样?标题框仍然太靠近页面的左边缘。
  • 我用的是 texlive 2019,所以好像没有tcolorbox
  • TL2019 确实有 tcolorbox,只是缺少 tcolorbox 内部主题。我今年夏天才发布了这个主题,所以你需要 TL2022 才能使用它。或者,您可以从raw.githubusercontent.com/samcarter/beamertheme-tcolorbox/main/… 下载 sty 文件
  • 如果您对扉页有新问题,请提出新问题。扉页不使用块,它直接使用beamercolorboxes,因此与关于块边距的问题无关。
猜你喜欢
  • 2016-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-23
  • 1970-01-01
  • 1970-01-01
  • 2019-07-12
  • 1970-01-01
相关资源
最近更新 更多