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

【前端:Typst】--let关键字的用法

在 Typst 中,#let 命令是用于定义变量和函数的核心指令,其用法非常灵活。以下是详细的用法说明和示例。

目录

1.基础变量定义

2.函数定义

3.默认参数

4.内容块参数(Content Blocks)

5.递归函数


1.基础变量定义

// 定义简单变量
#let name = "Typst"
#let version = 0.10
#let is_active = true// 使用变量
当前系统: #name\
版本号: #version\
激活状态: #if is_active  {"激活"} else {"未激活"}

注意:Typst 不支持中文作为变量或直接输出的标识符,需要使用引号"中文字符"

2.函数定义

// 基本函数
#let greet(name) = "Hello, " + name + "!"
#greet("World")  // 输出:Hello, World!

多参数函数

#let add(a, b) = a + b 
1 + 2 = #add(1, 2)

注意:调用函数和变量的时候都需要添加 #

3.默认参数

#let banner(text1, color: blue) = {set text(fill: color, weight: "bold")[ #text1 ]
}#banner("重要通知")\  // 蓝色
#banner("紧急警告", color: red)  // 红色

注意:在 Typst 中,大括号 {} 是代码块,中括号 [] 表示内容块(文本段落)。如果你想让一个函数“输出”一段可见的文本内容,必须把它写在 [] 中。,文本前面需要添加‘#’

也就是说:通过函数调用文本需要是一下格式:

  [ #text1 ]

注意:大括号用来定义函数体的内部约束,定义函数或组件,第二就是代码块

4.内容块参数(Content Blocks)

#let framed(body) = {box(stroke: 1pt,inset: 8pt,body)
}#framed[这是一个带边框的内容区块,可以包含 *任意* 内容。
]
box创建一个矩形容器,可用于布局

5.递归函数

#let countdown(n) = {if n <= 0 {text("发射!")} else {str(n) + " " + countdown(n - 1)  
}
}#countdown(5)

http://www.dtcms.com/a/279837.html

相关文章:

  • 高德开放平台携手阿里云,面向开发者推出地图服务产品MCP Server
  • 外部协作不力影响项目进度,如何加强外部沟通
  • 项目进度压缩影响质量,如何平衡进度与质量
  • LeetCode|Day11|557. 反转字符串中的单词 III|Python刷题笔记
  • 稀土化合物:助力高效种植与健康养殖
  • vue笔记3 VueRouter VueX详细讲解
  • 对象的使用
  • CAN终端电阻为什么是60R+60R,而不直接用120R?
  • 前端vue对接海康摄像头流程
  • Flink窗口处理函数
  • C++-linux 5.gdb调试工具
  • 【从语言幻觉看趋势】从语言幻觉到多智能体协作:GPT多角色系统的技术演进与实践路径
  • 判断端口处于监听状态的方法
  • 腾讯云WAF域名分级防护实战笔记
  • EPLAN 电气制图(八):宏应用与变频器控制回路绘制全攻略
  • ssm学习笔记day07mybatis
  • 如何在 Shopify 中创建退货标签
  • 【C语言】浮点数在内存中的存储:从科学计数法到内存存储
  • 从输入URL到页面呈现都发生了什么?
  • MFC UI大小改变与自适应
  • wpf 实现窗口点击关闭按钮时 ​​隐藏​​ 而不是真正关闭,并且只有当 ​​父窗口关闭时才真正退出​​ 、父子窗口顺序控制与资源安全释放​
  • AI 优化大前端动画性能:流畅性与资源消耗的平衡
  • Django REST framework 源码剖析-URL地址详解(Returning URLs)
  • 亚马逊广告进阶玩法:如何巧妙利用ASIN广告优化产品排名
  • Java面试总结(经典题)(Java多线程)(一)
  • 数据结构——优先队列(priority_queue)的巧妙运用
  • 排序树与无序树:数据结构中的有序性探秘
  • K8s存储系统(通俗易懂版)
  • 约束|additional
  • 如何更改Blender插件安装位置呢?