Code Monkey home page Code Monkey logo

sjtubeamer's Introduction

SJTUBeamer 🤓

overleaf discussions Build

欢迎使用 SJTUBeamer! 🥳

SJTUBeamer 是上海交通大学的非官方 Beamer 模版。您可以使用 SJTUBeamer 制作幻灯片,展示您的成果。

这个仓库中包含 SJTUBeamer 所使用的宏包 sjtubeamer,以及一个示例文档。

快速上手 👋

目前的 main.tex 是一个示例文档《如何使用 LaTeX 排版论文》。您可以将里面的内容替换掉。下面是一个最简示例:

点击展开代码片段
\documentclass[
    % draft,          % 草稿模式
    aspectratio=169,  % 使用 16:9 比例
]{ctexbeamer}
\mode<presentation>

\usetheme[min]{sjtubeamer}
% 使用 maxplus/max/min 切换标题页样式
% 使用 red/blue 切换主色调
% 使用 light/dark 切换亮/暗色模式
% 使用外样式关键词以获得不同的边栏样式
%   miniframes infolines  sidebar 
%   default    smoothbars split	 
%   shadow     tree       smoothtree
% 使用 topright/bottomright 切换徽标位置
% 使用逗号分隔列表以同时使用多种选项

% \tikzexternalize[prefix=build/]
% 如果您需要缓存 tikz 图像,请取消注释上一行,并在编译选项中添加 -shell-escape。

\usepackage[backend=biber,style=gb7714-2015]{biblatex}
\addbibresource{thesis.bib}

\institute[SJTUG]{上海交通大学 Linux 用户组} % 组织

\title{SJTUBeamer 幻灯片模板}         % 标题
\subtitle{SJTUBeamer Template}       % 副标题
\author{SJTUG}                       % 作者
\date{\today}                        % 日期  

\begin{document}

\maketitle                           % 创建标题页

\part{第一部分}

% 使用节目录
\AtBeginSection[]{
  \begin{frame}
    % \tableofcontents[currentsection,hideallsubsections]  % 传统节目录             
    \sectionpage                        % 节页
  \end{frame}
}

\section{第 1 节}

\begin{frame}
  \frametitle{标题}
  \paragraph{列表} 这个\alert{幻灯片}有下面几项:
  \begin{itemize}
    \item 第 1 项
    \item 第 2 项
    \item 第 3 项
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{标题}
  \framesubtitle{子标题}
  \begin{equation}
    x^2+2x+1=(x+1)^2
  \end{equation}
\end{frame}

\section{第 2 节}
\begin{frame}
  \frametitle{一些盒子}
  \begin{block}{盒子}
    这是一个盒子\cite{thelegendofjiang}
  \end{block}
  \begin{alertblock}{注意}
    注意内容
  \end{alertblock}
  \begin{exampleblock}{示例}
    示例内容
  \end{exampleblock}
\end{frame}

\begin{frame}[fragile]          % 注意添加 fragile 标记
  \frametitle{代码块}
  % 代码块参数:语言,标题
  % 请减少代码初始的缩进
  \begin{codeblock}[language=c++]{C++代码}
#include<iostream>

int main(){
  // Console Output
  std::cout << "Hello, SJTU!" << std::endl;
  return 0;
}
  \end{codeblock}
\end{frame}

\part{参考文献}
\begin{frame}[allowframebreaks]
  \printbibliography[heading=none]
\end{frame}

\makebottom       % 创建结束页

\end{document}

使用方法 🧰

普通用户只需编辑 main.tex 即可开始使用。

模版下载与编译

  • Overleaf
    • 直接使用 Overleaf 模板库链接
    • 或者手动上传至 Overleaf 使用:
      • 下载开发版压缩包。页面右上角 Code - Download Zip 即可。
      • 或下载 最新版 压缩包,点击 “Source Code (zip)” 即可下载。
      • 或下载 最新版 最小依赖压缩包,点击 sjtubeamer-online.zip 下载。
      • 上传至 Overleaf。
      • Overleaf 的设置中需要选择“XeLaTeX”编译器编译。
  • 本地使用
    • 安装 TeXLive 套件。
    • 下载模板至本地:
      • 使用 git 克隆仓库 git clone https://github.com/sjtug/SJTUBeamer/git clone https://mirror.sjtu.edu.cn/git/SJTUBeamer.git/
      • 或下载开发版压缩包。页面右上角 Code - Download Zip 即可。
      • 或下载 最新版 压缩包。点击 “Source Code (zip)” 即可下载。
    • 之后通过 latexmk -xelatex main.tex 命令进行编译即可。
    • VSCode 用户可以使用 LaTeX Workshop 中的 “Recipe: latexmk (latexmkrc)” 进行编译。

目前模版最新的稳定版是 v3.0.0。您可以在 发布页 查看修改日志和更多资料。通常来说,SJTUBeamer 的一个稳定版本包括如下内容:

  • sjtubeamerquickstart.pdf:SJTUBeamer 快速入门,另见对应 源代码
  • sjtubeamer.pdf: 强烈推荐在使用前阅读一遍 👍👍👍 SJTUBeamer 用户文档。
  • sjtubeamerdevguide.pdf: SJTUBeamer 开发指南。
  • sjtulib-talk-max-red.pdf: 示例文档《如何使用 LaTeX 排版论文》的 max,red 主题版本。
  • sjtulib-talk-maxplus-blue.pdf: 示例文档《如何使用 LaTeX 排版论文》的 maxplus,blue 主题版本。
  • sjtulib-talk-maxplus-red.pdf: 示例文档《如何使用 LaTeX 排版论文》的 maxplus,red 主题版本。
  • sjtulib-talk-min-red.pdf: 示例文档《如何使用 LaTeX 排版论文》的 min,red 主题版本。
  • sample-all-covers.pdf: 所有配色主题的封面封底。
  • sjtubeamer-ctan.zip: 包含所有文档和样式的压缩包。
  • sjtubeamer-online.zip:包含插件与最小依赖,适合于在线平台使用。
  • SJTUBeamer 源代码。

请使用 Chrome 浏览器或 Adobe Acrobat 打开 SJTUBeamer 用户文档,以避免 PDF 兼容性导致的显示问题。

使用反馈与贡献代码 👷

  • 文件清单详见 MANIFEST
  • 在使用过程中,您可以在 GitHub Discussions 讨论区提问任何使用上的问题、交流想法。
  • 在开发过程中,您可以通过 GitHub Issues 提供 SJTUBeamer 的 Bug 反馈和新功能提案。同时,也欢迎您直接提交 Pull Request 代码修改帮助我们改进。
  • 所有对模版的修改应该在 .dtx 文件中进行,而后用 l3build 生成 sty 文件。
  • 您可以阅读发布页面中的《SJTUBeamer 开发指南》sjtubeamerdevguide.pdf 了解模版的实现细节与编译方法。

整个开发流程如下:

  • 修改 .dtx 文件。
  • 运行 make generate 将生成的 sty 文件拷贝到根目录下。
  • 更新 main.tex,运行 make build 查看模版修改后的效果。
  • 更新开发文档,运行 make build-dev 编译所有开发文档,运行单元测试。
  • (可选)运行 make format-dev 格式化所有文件。
  • 发 PR。

新贡献者可以将自己的信息加入 src/doc/sjtubeamerdevguide.texDeveloper 章节。

展示 🧐

详细展示见 样式一览

Red Cover Blue Cover

许可证

SJTUBeamer 仓库同时包含 SJTUBeamer 包和一个示例文档。其中内容的许可证各不相同。您可以阅读各个文件的开头部分,了解该文件所使用的许可证。

  • SJTUBeamer 包使用的许可证为 Apache-2.0。
  • SJTUBeamer 示例文档使用 CC-BY-SA 4.0 许可。
  • sjtuvi 和 sjtucover 库及其附属徽标、图片由上海交通大学持有版权。校属各单位及个人以经营为目的使用视觉形象识别系统,须向学校申请使用许可。校外单位及个人未经许可,不得制作或使用载有视觉形象识别系统的物品。您可以在 vi.sjtu.edu.cn 阅读许可协议。

sjtubeamer's People

Contributors

cascades-sjtu avatar logcreative avatar nbwzx avatar sjwsl avatar skyzh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sjtubeamer's Issues

长宽比

目前似乎只有16:9,可否支持4:3

字号选项暂不可用

由于 outer 尚未重构完成(需要修改单位为字号匹配),使用文档类选项更改字号会出现顶部标题栏排版错位。

页面底部控制栏错位

问题描述:

image

系统信息:

  • OS版本(带版本号): GitHub CI
  • TeX 发行版(带版本号): TeX Live

日志信息:

logo 正文消失

问题描述:

logo 正文颜色消失

系统信息:

  • OS版本(带版本号): GitHub CI
  • TeX 发行版(带版本号): TeX Live 2021

Enhance development experience

目前 SJTUBeamer 编译的过程产物和 tex 文件处于同一文件夹中,浏览起来比较麻烦。与此同时,根目录下文件太多,也有些难看。因此,之后可能:

  • 编译脚本默认将产物输出到 build 文件夹
  • 把图形素材归入 vi 文件夹中

VSC Snippets 环境补全 bug

使用 VS Code Snippet 自动补全时,environment 的代码补全会有 bug。

\begin{code

补全 ->

\begin{\begin{codeblock}[]

\end{codeblock}

支持自定义 math font

默认的 math font 不包含 \Join 这个数学符号:

image

需要手动设置 XITSMath 才能正常显示。

\setmathfont{XITSMath-Regular}
[    Extension = .otf,
      BoldFont = XITSMath-Bold,
]

如果能像 SJTUThesis 一样添加一个 math-font 文档选项,可以大大方便字体切换 🤣

math-font=auto|termes|stixtwo|xits|pagella|cambria|newcm|lm|none

如何修改模板中\title的字体大小

我正在用beamer中maxplus模板制作我的答辩ppt。

使用\title填写论文标题时,由于论文标题字数过大,超出了一行。该如何调整以使得字体大小适当,从而保证标题在一行中完成

贡献插件😎

现在 SJTUBeamer 已经加入插件功能,诚挚欢迎向 SJTUBeamer 贡献插件!

您可以向 SJTUBeamer 提供:

  • 子主题 针对于自己所在组织制作的特定子主题,或者是自定义封面
  • 插件 通过覆盖加载改变主模板的部分外观,或者是方便输入的区块
  • 主题大纲 提供一种演示主题的基本书写框架
  • 子模块 长期频繁更新的项目

贡献方法详见 CONTRIBUTING,插件的文档预览将会在本 Issue 更新。PR 后请注意向 Maintainer 提交代码审查请求。

封面字体大小

请问怎样可以调整封面姓名学校日期的字体大小呢,感觉现在的有点小,想放大一号,谢谢!

fontawesome 宏包字体问题

问题描述:

编译示例文档时,会显示

! Package fontspec Error: The font "PingFang SC" cannot be found.

后续删除 FontAwesome 后,会显示

! Package fontspec Error: The font "FontAwesome" cannot be found.

系统信息:

  • OS版本(带版本号): macOS
  • TeX 发行版(带版本号): MacTeX

Color scheme selection support

可以考虑同时支持红色/蓝色两种配色,并且把主题相关的内容放到 sjtu-{blue/red}.sty 文件中。用户可以自己选择使用哪一套配色。

适配 beamerposter

beamerposter 相结合以更好地制作海报。

  • 基础适配
  • headline
  • footline
  • 背景
  • 相关宏
  • 修改度量单位 #122

提供最小可用文档

现在的示例文档比较复杂,不好修改。可以考虑在根目录下给用户提供一个 min.tex。看起来 src/doc 里面已经有了?

SJTUVI 包独立草案

@AlexaraWu 提供了 SJTUVI 的 tikz 编译版本。我们或许将会考虑使用新的机制引入 vi 文件夹内的文件:传递源码,下载预编译出PDF。

如果可能的话需要完成下面的步骤:

  • 编写SJTUBeamer的本地安装脚本(好像ins是可以运行系统命令的,最好能够标准化流程)
  • 将预编译vi从tex变为PDF的步骤写入安装脚本中 258cc4f
  • 更改接口

部分阅读器透明度失效

最近基于 pdf.js 的阅读器(如 VS Code 插件 LaTeX Workshop, Overleaf 等)在使用 tikzfadingfrompicture 实现的遮罩图形上会出现不透明度无法正常渲染的情况。

VS Code LaTeX Workshop
基于 pdf.js
Adobe Acrobat pympress
基于 poppler
SJTUG 主题 image image image
max 主题 image image image

注意在测试 v2.3.0 的样例文件时并没有发生这种问题,问题出现在近期,LaTeX Workshop 目前的 pdf.js 升级版本:James-Yu/LaTeX-Workshop#3187

该问题最近的一次报告:#94

SJTUBeamer 红色主题颜色与 vi 模版不一致

\definecolor{sjtuRedPrimary}{HTML}{9E1F36}         %engred
\definecolor{sjtuRedSecondary}{HTML}{F28101}       %orange
\definecolor{sjtuRedTertiary}{HTML}{FED201}        %yellow
\definecolor{sjtuBluePrimary}{HTML}{004098}        %problue 
\definecolor{sjtuBlueSecondary}{HTML}{298626}      %lightgreen
\definecolor{sjtuBlueTertiary}{HTML}{004D4B}

比较好奇这些颜色的出处是哪里,看起来 https://vi.sjtu.edu.cn/index.php/articles/base/3 上面并不是这些颜色?

image

special version for thesis pre

基本再过2-3周就要毕业设计答辩了,我还会用这个模板来做PPT。
想问一下是否有必要专门针对毕设答辩做一个主题Beamer?虽然我对于交大整体毕设答辩的统一度还有普遍要求都不够了解,但目前看来需求是有的。

`ctexbeamer` + `sjtubeamer` 无法显示 `\mathbf{\Psi}`

粗体大写希腊字母在 ctexbeamer + sjtubeamer 下会消失:

\documentclass{ctexbeamer}
\usetheme{sjtubeamer}
\begin{document}
\begin{frame}
    $\mathbf{\Gamma} \mathbf{\Delta} \mathbf{\Theta} \mathbf{\Lambda}
    \mathbf{\Xi} \mathbf{\Pi} \mathbf{\Sigma} \mathbf{\Upsilon}
    \mathbf{\Phi} \mathbf{\Psi} \mathbf{\Omega}$
\end{frame}
\end{document}

而如果只使用 beamer 文档类时不会。

关于本地运行main.tex不显示参考文献的问题

问题描述:
从Github上下载v3.0.0到本地后,使用XeLaTex编译后始终参考文献不显示,此外编译其他带参考文献模板的时候均发现参考文献不显示,可以指点一下可能是什么原因吗?

系统信息:

  • OS版本(带版本号): Windows 11 专业版 21H2 22000.1219
  • TeX 发行版(带版本号): TeX Live 0.6.7
    image

日志信息:
image


t3enc.def
357
LaTeX Font Warning: Font shape `T3/lmss/m/n' undefined using `T3/cmr/m/n' instead on input line 357.
main.vrb
3
LaTeX Warning: Citation 'devoftech' on page 39 undefined on input line 3.
main.vrb
4
LaTeX Warning: Citation 'thelegendofjiang' on page 39 undefined on input line 4.
main.tex
189
LaTeX Warning: Empty bibliography on input line 189.
main.tex

LaTeX Font Warning: Some font shapes were not available, defaults substituted.
main.tex

LaTeX Warning: There were undefined references.
main.tex

Package biblatex Warning: Please (re)run Biber on the file: main and rerun LaTeX afterwards.
introduction.tex
104
Overfull \vbox (6.29536pt too high) detected at line 104
introduction.tex
228
Overfull \vbox (22.14632pt too high) detected at line 228
introduction.tex
277
Overfull \vbox (7.97676pt too high) detected at line 277
basis.tex
198
Overfull \vbox (11.56564pt too high) detected at line 198
basis.tex
430
Overfull \vbox (22.16568pt too high) detected at line 430
basis.tex
484
Overfull \vbox (2.65196pt too high) detected at line 484
basis.tex
590
Overfull \vbox (7.41429pt too high) detected at line 590
thesis.tex
109
Overfull \vbox (18.76569pt too high) detected at line 109

-->

SJTUBeamermin 第二阶段的合并进度

第一阶段:#24

SJTUBeamermin 内部的重构

  • vishape 与 colordef 的合并 #26
  • vi 图形的自由着色

API 合并

  • API 的调配确认 #28
  • API 整合
  • 额外功能的开发

文档

  • 用户文档
  • 开发文档

SJTUBeamer Roadmap

最近几天我应该可以加上这些东西:

  • 加上 GitHub Action 自动编译
  • 尝试支持 XeLaTeX
  • Logo 使用 pdf 矢量图
  • 移植 https://github.com/sjtug/sjtulib-latex-talk 的主题
  • 讨论一下 License 问题(使用模版的同学不一定要放出源代码,是不是可以考虑换成限制更少的开源协议?)
  • 社区建设与用户反馈的模式 (应该会采用类似 SJTUThesis 的 Discussion + Issue 模式)

Speed Up for v3

SJTUBeamer 将在下面的版本里逐步优化编译速度:

  • 稳定缓存 tikz 图像,为后面的模板图形做准备 #70
  • 考虑多线程(或者脏区渲染),参见\includeonlyframesbeamer)和tikz中的多线程make缓存(独立项目)
  • 优化构建,使用预编译头 mylatexformat 集成构建 demo 文件,或者扩展到主文件的构建流程 #75
  • 必要时构建半集成环境

构建系统升级

  • 创建 texmf 文件夹,使用 latexmk 的 texmf 识别源文件目录(暂时放弃)
  • 使用 l3build 统一管理脚本和/或提供加速编译系统(实验性)(独立项目)
  • 修正 contrib 文件夹的加载方式(配合 texmf 使用 \IfFileExists 后会误认为属于根路径,\input 不认根路径会报错) 不应当将 contrib 文件夹移到 texmf 下,参考 node-modules 文件夹
  • 针对在线平台的优化(在 SJTU LaTeX 文档助手上减少 maxplus\partpage 卡顿、SJTU LaTeX 文档助手尚不支持 minted 问题已不存在

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.