众所周知,随着显示器普及宽屏化,PPT排版需要多列化来充分利用页面的横向空间。
这节课我们来学习如何创建列,即在beamer中增加列内容,以及如何对齐列。

1 使用不同的宽度来创建列

在beamer中我们通过在页面上使用columns环境来创建列。接着,在最开始的地方我们使用\column命令,再在后面添加上列的宽度,或者使用\begin{column}...\end{column}

在接下来的这个实例中,我们创建了两个不同宽度的列:

% !TEX program = xelatex\documentclass[aspectratio=169]{beamer}
\usetheme{AnnArbor}
\usecolortheme{crane}
\usepackage{fontspec}
\usepackage{xeCJK}
\usepackage{tikz}
\usetikzlibrary{intersections}
\setmainfont{AlibabaPuHuiTi-3-55-Regular.ttf}
\setCJKmainfont{AlibabaPuHuiTi-3-55-Regular.ttf}
\setsansfont{Arial}
\setmonofont{Consolas}\title[中间脚注]{耳东小白的beamer学习测试}
\subtitle{哆哆嗦嗦的历险之旅}
\author[左侧脚注]{耳东小白\inst{1} \and 耳东大白\inst{2}}
\institute[]{\inst{1} 耳东小白工作室 \and \inst{2} 耳东大白工作室}
\date[右侧脚注]{\today}
\titlegraphic{\begin{tikzpicture}[overlay, remember picture]\node[left=0.2cm] at (current page.15){\includegraphics[width = 1cm]{./pics/Logo.png}};\end{tikzpicture}
}\begin{document}\begin{frame}{Columns in beamer}\begin{columns}\column{0.6\textwidth}\centeringThis is column one with 0.6 text width.\column{0.4\textwidth}\centeringThis is column two with 0.4 text width.\end{columns}\end{frame}\end{document}

这里可以忽略一下小白这个风格的相关设置,仅关注今天这个话题的核心部分:

% Columns in beamer
\documentclass{beamer}% Theme choice:
\usetheme{AnnArbor}
\usecolortheme{crane}\begin{document}\begin{frame}{Columns in beamer}\begin{columns}\column{0.6\textwidth}\centeringThis is column one with 0.75 text width.\column{0.4\textwidth}\centeringThis is column two with 0.25 text width.\end{columns}
\end{frame}\end{document}

在这里插入图片描述

初步评论:

  • 我们使用了AnnArbor主题,因为小白喜欢这个主题,载入的方法是\usetheme{AnnArbor}
  • 页面的标题为"Columns in beamer";
  • 我们创建了两列:其中一个占文本宽度的60%,另一个占文本宽度的40%;
  • 文本在每列中使用\centering来居中文本。

2 beamer中文字旁边的附图

与以上的方法相同,我们可以把文本和图片像下面这样放在同一页中:

\begin{document}\begin{frame}{Text and Image in beamer}\begin{columns}\column{0.4\textwidth}This is an example of text and image in the same slide using columns environment.\column{0.6\textwidth}\begin{figure}\centering\includegraphics[width=\textwidth]{Neural-Network.jpg}\caption{Neural Network with 5 neurons in the hidden layer. }\end{figure}\end{columns}
\end{frame}\end{document}

其中,页面右列插入了一张神经网络图。这里插入的是一张jpg图片,名字就叫Neural-Network.jpg.

在这里插入图片描述

需要注意的是,右侧的图像是通过一个叫tikz的包绘制的,而这个包的作者和beamer的作者是同一人——Till TanTau,小白目前正在努力学习这个强大的绘图包,相信很快也会有一个系列的文章来和大家一同学习如何使用它。

至于如何绘制这张图,可以参考以下网址的博客:
read the post

那么小白因为略微看了一下Tantau大神的tikz的文档(这位神是一个文档狂热爱好者,tikz的文档长达上千页,你敢信),所以暂时帮大家把这段绘图代码直接嵌入到beamer中:

\begin{frame}{Text and Image in beamer}\begin{columns}\column{0.4\textwidth}This is an example of text and image in the same slide using columns environment.\column{0.6\textwidth}\begin{figure}% Input layer neurons'number\newcommand{\inputnum}{3} % Hidden layer neurons'number\newcommand{\hiddennum}{5}  % Output layer neurons'number\newcommand{\outputnum}{2} \begin{tikzpicture}% Input Layer\foreach \i in {1,...,\inputnum}{\node[circle, minimum size = 6mm,fill=orange!30] (Input-\i) at (0,-\i) {};}% Hidden Layer\foreach \i in {1,...,\hiddennum}{\node[circle, minimum size = 6mm,fill=teal!50,yshift=(\hiddennum-\inputnum)*5 mm] (Hidden-\i) at (2.5,-\i) {};}% Output Layer\foreach \i in {1,...,\outputnum}{\node[circle, minimum size = 6mm,fill=purple!50,yshift=(\outputnum-\inputnum)*5 mm] (Output-\i) at (5,-\i) {};}% Connect neurons In-Hidden\foreach \i in {1,...,\inputnum}{\foreach \j in {1,...,\hiddennum}{\draw[->, shorten >=1pt] (Input-\i) -- (Hidden-\j);   }}% Connect neurons Hidden-Out\foreach \i in {1,...,\hiddennum}{\foreach \j in {1,...,\outputnum}{\draw[->, shorten >=1pt] (Hidden-\i) -- (Output-\j);}}% Inputs\foreach \i in {1,...,\inputnum}{            \draw[<-, shorten <=1pt] (Input-\i) -- ++(-1,0)node[left]{$x_{\i}$};}% Outputs\foreach \i in {1,...,\outputnum}{            \draw[->, shorten <=1pt] (Output-\i) -- ++(1,0)node[right]{$y_{\i}$};}\end{tikzpicture}\caption{Neural Network with 5 neurons in the hidden layer.}\end{figure}\end{columns}
\end{frame}

绘制的效果大家可以和直接导入jpg的效果比较下:需要说明的是,tikz直接绘制出来的是矢量图,效果非常赞, 图像细节无惧放大和缩小。

在这里插入图片描述

3 两列之间的分割线

为了更明显地区分两列或更多列的区域,我们可以创建一竖直线来分割它们。这可以通过简单地加上一句\rule命令,在两列中间添另一根极窄的线来完成。以下是在两列间添加分割线的示例:

\begin{frame}{Vertical line between columns}\begin{columns}
% Column 1\begin{column}{0.49\textwidth}\begin{itemize}\item Input layer: 2 neurons.\item Hidden layer: 5 neurons.\item Output layer: 2 neurons.\end{itemize}\end{column}% Column 2 (vertical line)\begin{column}{.02\textwidth}\rule{.1mm}{0.7\textheight}\end{column}% Column 3    \begin{column}{0.49\textwidth}\includegraphics[width=\textwidth]{Neural-Network.jpg}\end{column}\end{columns}
\end{frame}

得到的效果如下所示:
在这里插入图片描述

总结一下:

  • 这里创建了三列,宽度分别为页面文本宽度的0.49, 0.02, 0.49倍;
  • 第一列包含一个无序列表,第二列包含这条垂直分割线,第三列包含一张图片;
  • 垂直分割线的宽度为0.1mm,其高度为文本区域高度的70%,这是通过命令\rule{<width>}{<height>}来实现的。

注意:前面我们使用\column命令而这里使用\begin{column}...\end{column}, 这两种用法是等价的。

4 列的垂直对齐

列内容的对齐,对演讲稿的美观度来说非常重要。文本和图像可以被放置在页面的三种位置:顶部、底部和居中。通过在column环境开始之后指定[c][T][b],即可分别将短内容对齐到中心、顶部和底部。

4.1 顶部对齐

\begin{frame}{Vertical alignment (top)}\begin{columns}[T]
% Column 1\begin{column}{0.5\textwidth}This is a neural network with two inputs and two outputs. It has the following parameters:\begin{itemize}\item Input layer: 2 neurons.\item Hidden layer: 5 neurons.\item Output layer: 2 neurons.\end{itemize}The neural network is drawn in \LaTeX{} using Ti\textit{k}Z package. Check latexdraw.com for more details.In Xiaobai's Example, we need to write more text to show the effect of alignment.So these words are just for space occupying.\end{column}% Column 2    \begin{column}{0.5\textwidth}\includegraphics[width=\textwidth]{Neural-Network1.jpg}\end{column}\end{columns}
\end{frame}

注意小白因为采用了宽屏比,为了凸显出对齐效果,特意在文本中加长了一部分“废话”,目的是为了把文本增高,这样才能看出图片与文本块的对齐关系。

在这里插入图片描述

4.2 中间对齐

\begin{frame}{Vertical alignment (center)}\begin{columns}[c]
% Column 1\begin{column}{0.5\textwidth}This is a neural network with two inputs and two outputs. It has the following parameters:\begin{itemize}\item Input layer: 2 neurons.\item Hidden layer: 5 neurons.\item Output layer: 2 neurons.\end{itemize}The neural network is drawn in \LaTeX{} using Ti\textit{k}Z package. Check latexdraw.com for more details.In Xiaobai's Example, we need to write more text to show the effect of alignment.So these words are just for space occupying.\end{column}% Column 2    \begin{column}{0.5\textwidth}\includegraphics[width=\textwidth]{Neural-Network1.jpg}\end{column}\end{columns}
\end{frame}
\begin{frame}{Vertical alignment (bottom)}

在这里插入图片描述

4.3 底部对齐

\begin{columns}[b]
% Column 1\begin{column}{0.5\textwidth}This is a neural network with two inputs and two outputs. It has the following parameters:\begin{itemize}\item Input layer: 2 neurons.\item Hidden layer: 5 neurons.\item Output layer: 2 neurons.\end{itemize}The neural network is drawn in \LaTeX{} using Ti\textit{k}Z package. Check latexdraw.com for more details.In Xiaobai's Example, we need to write more text to show the effect of alignment.So these words are just for space occupying.\end{column}% Column 2    \begin{column}{0.5\textwidth}\includegraphics[width=\textwidth]{Neural-Network1.jpg}\end{column}\end{columns}
\end{frame}

在这里插入图片描述

全文总结

  • 在beamer中可通过column环境创建多列。我们在主列中通过预定义的宽度来实现添加内部列:\begin{columns}{<width>}...\end{columns}
  • 通过使用命令\rule{<width>}{<height>}可以在两列间使用极小的宽度创建垂直分割线;
  • 不同列的内容,其对齐方式可以通过添加[T][b][c],分别对应顶部对齐、底部对齐和中间对齐。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/87178.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/87178.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/87178.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通俗理解JVM细节-面试篇

文章目录 前言JVM概述JVM是什么&#xff1f;解决了什么问题&#xff1f;JVM运行流程JVM 与 JRE&#xff0c;JDK的关系 JVM内存结构JVM区域划分程序计数器栈堆方法区 类加载机制五个阶段加载验证准备解析初始化总结双亲委派模型 垃圾回收内存管理什么是GC&#xff1f;如何判定谁…

意识边疆保卫战:22:47深圳AI-BioFab人机融合危机全息实录

前言 前些天发现了一个巨牛的人工智能免费学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站 &#x1f9e0;《意识边疆保卫战&#xff1a;22&#xff1a;47深圳AI-BioFab人机融合危机全息实录》 副标题&#xff1a;机械义…

langchain从入门到精通(三十四)——RAG优化策略(十)父文档检索器实现拆分和存储平衡

1. 拆分文档与检索的冲突 在 RAG 应用开发中&#xff0c;文档拆分 和 文档检索 通常存在相互冲突的愿望&#xff0c;例如&#xff1a; 我们可能希望拥有小型文档&#xff0c;以便它们的嵌入可以最准确地反映它们的含义&#xff0c;如果太长&#xff0c;嵌入/向量没法记录太多…

Javaweb - 7 xml

XML 是EXtensible Markup Language 的缩写&#xff0c;翻译过来就是可扩展标记语言。即&#xff0c;XML 和 HTML 一样&#xff0c;都是标记语言&#xff0c;也就是说&#xff0c;它们的基本语法都是标签。 特点&#xff1a; 1. 可扩展&#xff1a;即 XML 是允许自定义格式的。但…

qml实现 裁剪进度条

我们需要实现一个垂直进度条效果&#xff0c;但使用图片裁剪的方式。具体需求&#xff1a; 1. 图片位置固定&#xff0c;容器对齐其左边和下边&#xff0c;宽度和图片相同。 2. 容器背景透明&#xff0c;调整裁剪容器的高度&#xff0c;使其有高度进度条的感觉&#xff08;从下…

Dify 工作流全栈解析:从零构建你的 AI 应用流程引擎

AI工作流的导言&#xff1a; 工作流系统&#xff08;Workflow System&#xff09;是 Dify 的核心组成部分&#xff0c;它通过可视化编程界面支持创建复杂的 AI 应用程序。用户可以将不同的功能块连接起来&#xff0c;从而设计出用于处理数据、与 AI 模型交互、管理条件以及执行…

上下位机通讯规则

0&#xff1a;事由 最近开发&#xff0c;上位机Qt与下位机通讯的时候发现通讯规则有些不一样&#xff0c;这里简单记录一下 。所有代码基于元宝生成&#xff0c;属于伪代码不保证真实可用&#xff0c;啊但是逻辑是这么个逻辑。 1&#xff1a;底层通讯规则 以STM32向上位机通讯…

创建平衡二叉树C++

给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡 二叉搜索树。 平衡二叉树&#xff1a;每个节点的左右子树高度差不超过1 class Solution { public:TreeNode* dfs(vector<int>& nums, int left, int right){if(l…

海光の初体验

背景 八张K100的风扇已经将近一年没转过了…早在今年4月29日&#xff0c;Qwen3正式发布并全部开源8款「混合推理模型」。作为Qwen系列中的最新一代大型语言模型&#xff0c;Qwen3在推理、指令遵循、工具调用、多语言能力等方面进行了全面增强。海光DCU&#xff08;Deep Comput…

场外交易(OTC)财富管理系统开发及解决方案报告

——跨境金融科技赋能机构客户新增长 一、OTC市场现状与机构业务痛点 1. 政策机遇与市场扩容 “北向互换通”期限延长&#xff1a;2025年7月1日&#xff0c;中国外汇交易中心联合香港交易所将利率互换合约期限延长至30年&#xff0c;首日交易规模达15.3亿元&#xff0c;填补超…

pytorch底层原理学习--JIT与torchscript

文章目录 0 目的1 TorchScript1.1 语言特性的限定性1.2 设计目的&#xff1a;模型表达的专注性 2pytorch JIT&#xff08;Just-in-time compilation)2.1pytorch JIT定义2.1pytorch JIT整个过程&#xff1a;1. 前端转换层&#xff1a;生成静态计算图2. 中间表示层&#xff08;IR…

Ubuntu+Nginx+php+SQLite3+typecho手动搭建个人博客

零.Ubuntu环境 一.安装nginx 使用以下指令进行nginx web服务器安装&#xff1a; apt-get install nginx 如果提示找不到安装包&#xff0c;也可以更新一下系统的apt环境包&#xff1a; sudo apt update 安装完成后&#xff0c;可以使用以下指令查看nginx是否处于激活状态&#…

网络协议概念与应用层

1.概念 1.1 例子 点外卖 上述这个过程,就是自定义协议 自定义协议,具体的方式也是非常灵活的 2.几种开发中更常见的格式 2.1xml 上古时期的组织数据的格式 通过标签来组织数据 xml的优势:让数据的可读性变得更好了 劣势:标签写起来繁琐,传输的时候也占用更多网络带宽 2.2…

pytorch学习—7.处理多维特征的输入

2. 线性模型 3.梯度下降算法 4.反向传播(用pytorch算梯度) 5.用pytorch实现线性回归 6.logistic回归 7.处理多维特征的输入_哔哩哔哩_bilibili 7.1代码复现: import numpy as np import torch import matplotlib.pyplot as plt# 1. 获取数据集 xy_data = np.lo

AI助手“智普清言”《三元》(Python)诗解

文本逻辑解清晰&#xff0c;诗意对应技法轻。 笔记模板由python脚本于2025-07-01 06:54:55创建&#xff0c;本篇笔记适合喜欢python三元语句的coder翻阅。 学习的细节是欢悦的历程 博客的核心价值&#xff1a;在于输出思考与经验&#xff0c;而不仅仅是知识的简单复述。 Pytho…

本地RAG实战:用Spring AI+Ollama+DeepSeek+ChromaDB增强文档问答

本文手把手教你在本地部署RAG系统&#xff1a; 用 Spring AI 整合 Ollama&#xff08;运行DeepSeek中文模型&#xff09;ChromaDB 存储本地文档&#xff08;PDF/TXT&#xff09;向量Java程序实现&#xff1a;文档解析 → 语义检索 → 增强生成 最终效果&#xff1a;模型回答更准…

Python 数据分析:DataFrame,生成,用字典创建 DataFrame ,键值对数量不一样怎么办?

目录 1 示例代码2 欢迎纠错3 论文写作/Python 学习智能体------以下关于 Markdown 编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右S…

Java 并发编程的 CAS(Compare and Swap)是什么?

CAS&#xff08;Compare and Swap&#xff0c;比较并交换&#xff09; 并非 Java 语言特有的概念&#xff0c;而是现代计算机硬件提供的一条核心原子指令。在 Java 并发编程中&#xff0c;它扮演着“幕后英雄”的角色&#xff0c;是构建高性能、无锁并发工具&#xff08;如原子…

【UnityAssetBundle】AssetBundle打包

AssetBundle生成AB包资源文件方式&#xff1a; Unity编辑器开发&#xff0c;自定义打包工具&#xff1b;官方提供好的打包工具&#xff0c;Asset Bundle Browser 打包 选择一个资源&#xff0c;new一个压缩包名称或选择一个压缩包名称 点击Window->AssetBundle Browser&…

Hush Puppies大中华区鞋类业务移交品牌方继续经营

据悉&#xff0c;随着百丽集团运营的暇步士&#xff08;Hush Puppies&#xff09;大中华区鞋类授权的到期&#xff0c;暇步士&#xff08;Hush Puppies&#xff09;鞋类业务已开始运营权移交。其中线上渠道授权于2025年6月30日正式到期&#xff0c;线下渠道将于2025年12月31日前…