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

【前端: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.xdnf.cn/news/15398.html

相关文章:

  • 排序树与无序树:数据结构中的有序性探秘
  • 自定义类型 - 联合体与枚举(百度笔试题算法优化)
  • 理解Linux文件系统:从物理存储到统一接口
  • vue3 JavaScript 数据累加 reduce
  • 七、深度学习——RNN
  • 编程语言设计目的与侧重点全解析(主流语言深度总结)
  • 游戏框架笔记
  • 【小白量化智能体】应用5:编写通达信股票交易指标及生成QMT自动交易Python策略程序
  • 控制台打开mysql服务报错解决办法
  • 【STM32】什么在使能寄存器或外设之前必须先打开时钟?
  • 2025js——面试题(8)-http
  • YOLOv11开发流程
  • 为什么资深C++开发者大部分选vector?揭秘背后的硬核性能真相!
  • 【第一章编辑器开发基础第二节编辑器布局_3GUI元素和布局大小(3/4)】
  • SpringMVC3
  • JavaScript进阶篇——第二章 高级特性核心
  • 【笔记】chrome 无法打开特定协议或访问特定协议时卡死
  • Flink窗口处理函数
  • 0-1搭建springboot+vue的教务管理系统(核心源码)
  • Spring Boot 自带的 JavaMail 集成
  • Python在量化投资中的应用
  • 庸才的自我唤醒
  • Rust语言实战:LeetCode算法精解
  • Spring Boot 双数据源配置
  • 《解锁音频处理新姿势:探索Librosa的无限可能》
  • C++ 左值右值、左值引用右值引用、integral_constant、integral_constant的元模板使用案例
  • vue2/3生命周期使用建议
  • SpringBoot JAR 反编译替换文件
  • OneCode3.0 MCPServer:注解驱动的AI原生服务架构与实践
  • Docker部署语音转文字(STT)服务并接入Home Assistant