Code Monkey home page Code Monkey logo

Comments (13)

skyzh avatar skyzh commented on May 24, 2024 1

ctex 我觉得可以放进去(

from sjtubeamer.

LogCreative avatar LogCreative commented on May 24, 2024

API 更改(1.3)

描述 默认 备注
cover maxplus 庙门照片主题 标题页与结尾页按照4:3标准模板实现
max 庙门背景主题 d 按照16:9标准模板实现
min 印记矩阵主题 按照 VI 参考实现
color red 红色主题 d 主题色
blue 蓝色主题 学术色
lum light 亮色主题 主要影响标题页和结束页,与暗色进行前景/背景对调
dark 暗色主题 d 标题页与结束页的配色主要采用暗色
lang cn 中文 d
en 英文 logo选择英文版本
nav miniframes 节次进度 d
sidebar 侧栏 (暂不实现,下一版重点实现)
infoline 当前章节与页数

目标结构

+------------------------------------------------+
+                    main.tex                    +
+------------------------------------------------+
+                   sjtubeamer                   +
+------------------------------------------------+
+    color    +   inner   +   outer  +    font   + 
+             +-----------+          +           +
+             +   cover   +          +           +
+------------------------------------+-----------+
+             sjtuvi                 +
+------------------------------------+
+              logo                  +
+------------------------------------+

打算 outer 再分出一个 cover。inner 实现一些内部元素上的基础设施,cover 主要实现标题页和结束页。
这样更方便开发者向整个框架添加自己实现的标题页/结束页模板 促进开发

SJTUBeamermin 删除接口

  • cjkCJKutf8 已经过时,纵使其兼容性较好,但是特性上要比 ctex 差。Windows 系统仍可使用 pdflatex 编译(主要是 Windows 上这个更快一些),非 Windows 系统强制使用 xelatex 编译。如果想自行采用其它中文方案/其它语种方案,直接设定为 en,自行载入宏包。
  • gbt:bibtex 还是 biblatex,应当由用户自行决定,或者是该幻灯片没有引用就不必引入该类宏包。引用的相关用法可以在文档中展示。
  • pattern:作用已经没有那么明显,初衷是为了加速编译,现在可以采用 draft 草稿开关直接关闭,并在编写宏时设定相关条件。

可以进一步修改,多提点意见
比较纠结的还是 ctex 该不该放进 theme 定义里,但是如果不引用中文包的话,字体基本没法设 该版暂不实现

from sjtubeamer.

LogCreative avatar LogCreative commented on May 24, 2024

执行中

beamer 没用 l3 语法,我也不用了(反正我也不会)

from sjtubeamer.

skyzh avatar skyzh commented on May 24, 2024

en | 英文 |   | 不载入中文宏包,logo选择英文版本

en 其实也可以载入 ctex 宏包,ctex 提供了很多好用的宏,可能在排版上会更方便一点?

from sjtubeamer.

LogCreative avatar LogCreative commented on May 24, 2024

主要是 ctex 会把 \today 翻译成 年月日figure 翻译成图之类
除非直接用底层 xeCJK😳

from sjtubeamer.

LogCreative avatar LogCreative commented on May 24, 2024

好像能关掉 当然跟只用底层没区别了

from sjtubeamer.

LogCreative avatar LogCreative commented on May 24, 2024

有道理 都用上吧

from sjtubeamer.

LogCreative avatar LogCreative commented on May 24, 2024

代码风格

  • 我个人比较倾向于键值对的方案 lang=en,也是 beamer 倾向的一种方案,可以用其内部机制引导(基于 keyval)。
  • 使用 bool 值,如果需要加强程序鲁棒性,就需要在同类中一个选项选择后,将其余选项置否,否则很有可能会设置失败。当然如果处理的好的话,这个可以让用户的输入变得相对方便一些。当然这种处理的好也会导致一定的扩展性下降。⚠️菜鸡代码警告↓
    image
  • 或者是二选一的用 bool,多选的用 kv,可能造成一定的输入接口不统一。(我觉得也不错?好像我觉得这个行🥺)
  • 或者是其他更好的方案。

我感觉宏包使用 beamer 内置的更好,因为可以在设定之后传递参数。kvoptions 不太能在设定之后传参。pgfoptsmtheme 用的方法。(我喜欢原生

from sjtubeamer.

AlexaraWu avatar AlexaraWu commented on May 24, 2024
  • 我觉得 font theme 可以暂时不做,用户可以根据自己的需要选用 beamer 类或 ctexbeamer 类;
  • kvoptions 也支持 bool 选项。

from sjtubeamer.

LogCreative avatar LogCreative commented on May 24, 2024
  • 我觉得 font theme 可以暂时不做,用户可以根据自己的需要选用 beamer 类或 ctexbeamer 类;

好的👌

  • kvoptions 也支持 bool 选项。

怎么传参呢 这个方面有一点顾虑,以前的话我是用偏beamer方法的

\DeclareOptionBeamer{lang}{
    \def\beamer@sjtubeamermin@lang{#1}
    \PassOptionsToPackage{lang=#1}{beamerouterthemesjtubeamermin}
    \PassOptionsToPackage{lang=#1}{beamerinnerthemesjtubeamermin}
}
\def\beamer@sjtubeamermin@langcn{cn}%
\def\beamer@sjtubeamermin@langen{en}%

image
就这个底层没暴露出来

要不然我还是直接第三种 二选一用bool,多选用键值

from sjtubeamer.

LogCreative avatar LogCreative commented on May 24, 2024

要不然我先用我的菜鸡代码搞一阵吧 Code Review 时候再讨论 毕竟现在接口不多🥺

from sjtubeamer.

AlexaraWu avatar AlexaraWu commented on May 24, 2024

kvoptions 还有一个 \DeclareStringOption

from sjtubeamer.

LogCreative avatar LogCreative commented on May 24, 2024

有道理 我试试

from sjtubeamer.

Related Issues (20)

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.