当前位置: 首页 > news >正文

【Typst】自定义彩色盒子

理论基础

使用with

使用with可以在不用搞函数的情况下,申明一些基于内部图形函数的元素。

你可以继续在他们基础上用with创建变体,或者在使用时用为他们设定不一样的参数

#let blue_box = rect.with(fill:rgb("#afe6f8"),inset: 10pt,width: 100%)#let red_box = blue_box.with(fill:red)#red_box(stroke: (left:4pt+orange))[123]

基于with的自定义彩色盒子

// 基础样式盒
#let mbox = rect.with(fill:luma(220),inset: 10pt,width: 100%)// 圆角框
#let r5_box = mbox.with(radius: 5pt)
#let r10_box = mbox.with(radius: 10pt)// 只有左侧边线
#let l4_gray = mbox.with(stroke: (left:4pt+gray),fill:none)
#let l4_orange = l4_gray.with(stroke: (left:4pt+orange))
#let l4_blue = l4_gray.with(stroke: (left:4pt+blue))
#let l4_red = l4_gray.with(stroke: (left:4pt+red))
#let l4_green = l4_gray.with(stroke: (left:4pt+green))// 左侧边线 + 浅色填充
#let l4_gray_box = mbox.with(stroke: (left:4pt+gray),fill:gray.lighten(80%))
#let l4_orange_box = mbox.with(stroke: (left:4pt+orange),fill:orange.lighten(80%))
#let l4_blue_box = mbox.with(stroke: (left:4pt+blue),fill:blue.lighten(80%))
#let l4_red_box = mbox.with(stroke: (left:4pt+red),fill:red.lighten(80%))
#let l4_green_box = mbox.with(stroke: (left:4pt+green),fill:green.lighten(80%))// 四面边框 + 无填充
#let bd_gray = mbox.with(stroke:gray,fill:none)
#let bd_orange = bd_gray.with(stroke:orange)
#let bd_blue = bd_gray.with(stroke:blue)
#let bd_red = bd_gray.with(stroke: red)
#let bd_green = bd_gray.with(stroke: green)#let bd_gray_box = mbox.with(stroke:gray,fill:gray.lighten(80%))
#let bd_orange_box = mbox.with(stroke:orange,fill:orange.lighten(80%))
#let bd_blue_box = mbox.with(stroke:blue,fill:blue.lighten(80%))
#let bd_red_box = mbox.with(stroke:red,fill:red.lighten(80%))
#let bd_green_box = mbox.with(stroke:green,fill:green.lighten(80%))
#let t = [这里是测试文本]#mbox[#t]
#r5_box[#t]
#r10_box[#t]#l4_gray[#t]
#l4_orange[#t]
#l4_blue[#t]
#l4_green[#t]
#l4_red[#t]#l4_gray_box[#t]
#l4_blue_box[#t]
#l4_orange_box[#t]
#l4_green_box[#t]
#l4_red_box[#t]#bd_gray[#t]
#bd_orange[#t]
#bd_blue[#t]
#bd_green[#t]
#bd_red[#t]#bd_gray_box[#t]
#bd_orange_box[#t]
#bd_blue_box[#t]
#bd_green_box[#t]
#bd_red_box[#t]

带标题的框

// 带标题的框
#let title_box(title,body,base_color:gray,align:top) = [#block(inset:(top: 15pt))[// 正文区带边框盒子#mbox(inset: (top:20pt,rest: 20pt),stroke: base_color,fill: base_color.lighten(80%))[#body]// 标题#let ddx = 5pt#if align == center {ddx = 0ptalign = top+center}#place(align,dy:-15pt,dx:ddx)[#mbox(width:auto,fill: base_color.darken(60%))[#text(white)[#title]]]]
]

http://www.lqws.cn/news/574741.html

相关文章:

  • 【NLP 实战】蒙古语情感分析:从 CNN 架构设计到模型训练的全流程解析(内附项目源码及模型成果)
  • BP-Tools21.02下载 加解密利器 金融安全交易算法工具 PCI认证工具 金融和智能卡的数据加解密和数据转换工具
  • 无人机用shell远程登录机载电脑,每次需要环境配置原因
  • 06_注意力机制
  • (七)集成学习
  • git lfs 提交、拉取大文件
  • 【Linux高级全栈开发】2.4 自研框架:基于 dpdk 的用户态协议栈的实现
  • 华为云Flexus+DeepSeek征文 | 华为云 ModelArts Studio 赋能 AI 法务:合同审查与法律文件生成系统
  • M|艺伎回忆录
  • 从理论到实战:解密大型语言模型的核心技术与应用指南
  • (LeetCode 面试经典 150 题 ) 134. 加油站 (贪心)
  • 日语学习-日语知识点小记-进阶-JLPT-真题训练-N2阶段(5):2022年12月2023年7月
  • 通过HTTPS访问Harbor2.13.1 的配置
  • 1.认识Docker
  • #华为鲲鹏#华为计算#鲲鹏开发者计划2025#
  • Prompt Depth Anything:以提示方式驱动的Depth Anything用于实现4K分辨率下的精确米制深度估计
  • 04-GRU模型
  • python中多线程:线程插队方法join详解、线程停止、通过变量来让线程停止
  • Linux中ssh无法使用配置的环境变量,ssh(非登录环境)环境变量和登录环境变量不同步问题
  • document.write 和 innerHTML、innerText 的区别
  • MATLAB仿真:经过大气湍流的涡旋光束的光斑漂移
  • Transformer超详细全解!含代码实战
  • 双指针的用法
  • 指针篇(6)- sizeof和strlen,数组和指针笔试题
  • 请求转发,响应重定向
  • 在Linux系统中部署Java项目
  • 边界的艺术:支持向量机与统计学习时代的王者
  • 学习日志02 ETF 基础数据可视化分析与简易管理系统
  • 从身体营养元素方向考虑,缺乏哪些元素会导致我偏头痛?
  • GAN的思考及应用