1<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="format-detection" content="telephone=no"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><link rel="icon" href="/images/icons/favicon-16x16.png?v=2.6.1" type="image/png" sizes="16x16"><link rel="icon" href="/images/icons/favicon-32x32.png?v=2.6.1" type="image/png" sizes="32x32"><meta name="description" content="åºäº Typst çæ°ä¸ä»£ç妿¯å¹»ç¯çï¼Slidesï¼ç¥å¨ ââ Touying Typst æ¯ä¸ºåä½èè¯ççåºäºæ è®°çæçç³»ç»ï¼Typst çç®æ æ¯æä¸ºåè½å¼ºå¤§çæçå·¥å ·ï¼å¹¶ä¸è®©ç¨æ·å¯ä»¥æå¿«å°ä½¿ç¨å®ãç®åæ¥è¯´ï¼Typst = LaTeX çæçè½å + Markdown çç®æ´è¯æ³ + 强大ä¸ç°ä»£çèæ¬è¯è¨ãå ·ä½ä»ç»ä½ å¯ä»¥åèè¿ç¯æç« ã è Touying æ¯"> 2<meta property="og:type" content="article"> 3<meta property="og:title" content="åºäº Typst çæ°ä¸ä»£ç妿¯å¹»ç¯çï¼Slidesï¼ç¥å¨ ââ Touying"> 4<meta property="og:url" content="https://blog.orangex4.cool/post/touying/index.html"> 5<meta property="og:site_name" content="OrangeX4's Blog"> 6<meta property="og:description" content="åºäº Typst çæ°ä¸ä»£ç妿¯å¹»ç¯çï¼Slidesï¼ç¥å¨ ââ Touying Typst æ¯ä¸ºåä½èè¯ççåºäºæ è®°çæçç³»ç»ï¼Typst çç®æ æ¯æä¸ºåè½å¼ºå¤§çæçå·¥å ·ï¼å¹¶ä¸è®©ç¨æ·å¯ä»¥æå¿«å°ä½¿ç¨å®ãç®åæ¥è¯´ï¼Typst = LaTeX çæçè½å + Markdown çç®æ´è¯æ³ + 强大ä¸ç°ä»£çèæ¬è¯è¨ãå ·ä½ä»ç»ä½ å¯ä»¥åèè¿ç¯æç« ã è Touying æ¯"> 7<meta property="og:locale" content="zh_CN"> 8<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530222510.png"> 9<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530230252.png"> 10<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530222308.png"> 11<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530234209.png"> 12<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530234340.png"> 13<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530234638.png"> 14<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530234516.png"> 15<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530235341.png"> 16<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530235446.png"> 17<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530235636.png"> 18<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530235650.png"> 19<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240531171810.png"> 20<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20231223211411.png"> 21<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20231127180414.png"> 22<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20231127180437.png"> 23<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240531173702.png"> 24<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240531173932.png"> 25<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240531174245.png"> 26<meta property="og:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240531174252.png"> 27<meta property="article:published_time" content="2024-05-30T16:00:00.000Z"> 28<meta property="article:modified_time" content="2024-05-31T09:50:27.527Z"> 29<meta property="article:author" content="OrangeX4"> 30<meta property="article:tag" content="Study"> 31<meta property="article:tag" content="VS Code"> 32<meta property="article:tag" content="Math"> 33<meta property="article:tag" content="Chinese"> 34<meta property="article:tag" content="Typst"> 35<meta property="article:tag" content="Slides"> 36<meta property="article:tag" content="Presentation"> 37<meta property="article:tag" content="Typesetting"> 38<meta name="twitter:card" content="summary"> 39<meta name="twitter:image" content="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530222510.png"><title>åºäº Typst çæ°ä¸ä»£ç妿¯å¹»ç¯çï¼Slidesï¼ç¥å¨ ââ Touying | OrangeX4's Blog</title><link ref="canonical" href="https://blog.orangex4.cool/post/touying/"><link rel="alternate" href="/atom.xml" type="application/atom+xml"><link rel="dns-prefetch" href="https://cdn.jsdelivr.net"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css" type="text/css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gitalk@latest/dist/gitalk.min.css" type="text/css"><link rel="stylesheet" href="/css/index.css?v=2.6.1"><link rel="dns-prefetch" href="https://hm.baidu.com">
39<script>var _hmt = _hmt || []; 40(function() { 41 var hm = document.createElement('script'); 42 hm.src = 'https://hm.baidu.com/hm.js?5da695d1427042af7e2e176caea247f2'; 43 hm.async = true; 44 45 if (false) { 46 hm.setAttribute('data-pjax', ''); 47 } 48 var s = document.getElementsByTagName('script')[0]; 49 s.parentNode.insertBefore(hm, s); 50})();</script>
50<script>var Stun = window.Stun || {}; 51var CONFIG = { 52 root: '/', 53 algolia: undefined, 54 assistSearch: ["google","bing","baidu"], 55 fontIcon: {"prompt":{"success":"fas fa-check-circle","info":"fas fa-arrow-circle-right","warning":"fas fa-exclamation-circle","error":"fas fa-times-circle"},"copyBtn":"fas fa-copy"}, 56 sidebar: {"offsetTop":"20px","tocMaxDepth":6}, 57 header: {"enable":true,"showOnPost":false,"scrollDownIcon":true}, 58 postWidget: {"endText":true}, 59 nightMode: {"enable":true}, 60 back2top: {"enable":true}, 61 codeblock: {"style":"simple","highlight":"dark","wordWrap":false}, 62 reward: false, 63 fancybox: false, 64 zoomImage: {"gapAside":"20px"}, 65 galleryWaterfall: undefined, 66 lazyload: true, 67 pjax: undefined, 68 externalLink: {"icon":{"enable":true,"name":"fas fa-external-link-alt"}}, 69 shortcuts: undefined, 70 prompt: {"copyButton":"å¤å¶","copySuccess":"å¤å¶æå","copyError":"å¤å¶å¤±è´¥"}, 71 sourcePath: {"js":"js","css":"css","images":"images"}, 72}; 73 74window.CONFIG = CONFIG;</script>
74<meta name="generator" content="Hexo 5.3.0"></head><body><div class="container" id="container"><header class="header" id="header"><div class="header-inner header-inner--height header-inner--bgcolor"><nav class="header-nav header-nav--sticky"><div class="header-nav-inner"><div class="header-nav-menubtn"><i class="fas fa-bars"></i></div><div class="header-nav-menu"><div class="header-nav-menu-item"><a class="header-nav-menu-item__link" href="/"><span class="header-nav-menu-item__icon"><i class="fas fa-home"></i></span><span class="header-nav-menu-item__text">é¦é¡µ</span></a></div><div class="header-nav-menu-item"><a class="header-nav-menu-item__link" href="javascript:;" onclick="return false;"><span class="header-nav-menu-item__icon"><i class="fas fa-layer-group"></i></span><span class="header-nav-menu-item__text">åç±»</span></a><div class="header-nav-submenu"><div class="header-nav-submenu-item"><a class="header-nav-submenu-item__link" href="/categories/Product/"><span class="header-nav-submenu-item__icon"><i class="fas fa-coffee"></i></span><span class="header-nav-submenu-item__text">产å</span></a></div><div class="header-nav-submenu-item"><a class="header-nav-submenu-item__link" href="/categories/Technology/"><span class="header-nav-submenu-item__icon"><i class="fas fa-keyboard"></i></span><span class="header-nav-submenu-item__text">ææ¯</span></a></div><div class="header-nav-submenu-item"><a class="header-nav-submenu-item__link" href="/categories/Study/"><span class="header-nav-submenu-item__icon"><i class="fas fa-book"></i></span><span class="header-nav-submenu-item__text">å¦ä¹ </span></a></div><div class="header-nav-submenu-item"><a class="header-nav-submenu-item__link" href="/categories/Thoughts/"><span class="header-nav-submenu-item__icon"><i class="fas fa-lightbulb"></i></span><span class="header-nav-submenu-item__text">æ³æ³</span></a></div><div class="header-nav-submenu-item"><a class="header-nav-submenu-item__link" href="/categories/Lesson/"><span class="header-nav-submenu-item__icon"><i class="fas fa-pen"></i></span><span class="header-nav-submenu-item__text">第é¶è¯¾</span></a></div></div></div><div class="header-nav-menu-item"><a class="header-nav-menu-item__link" target="_blank" rel="noopener" href="https://notes.orangex4.cool/"><span class="header-nav-menu-item__icon"><i class="fas fa-book"></i></span><span class="header-nav-menu-item__text">ç¬è®°</span></a></div><div class="header-nav-menu-item"><a class="header-nav-menu-item__link" href="/friends/"><span class="header-nav-menu-item__icon"><i class="fas fa-users"></i></span><span class="header-nav-menu-item__text">åé¾</span></a></div><div class="header-nav-menu-item"><a class="header-nav-menu-item__link" href="javascript:;" onclick="return false;"><span class="header-nav-menu-item__icon"><i class="fas fa-flask"></i></span><span class="header-nav-menu-item__text">æ¼ç¤º</span></a><div class="header-nav-submenu"><div class="header-nav-submenu-item"><a class="header-nav-submenu-item__link" target="_blank" rel="noopener" href="https://ch.orangex4.cool/"><span class="header-nav-submenu-item__icon"><i class="fas fa-book"></i></span><span class="header-nav-submenu-item__text">å°æ</span></a></div><div class="header-nav-submenu-item"><a class="header-nav-submenu-item__link" target="_blank" rel="noopener" href="https://orangex.orangex4.cool/"><span class="header-nav-submenu-item__icon"><i class="fas fa-times"></i></span><span class="header-nav-submenu-item__text">æ©å¼</span></a></div><div class="header-nav-submenu-item"><a class="header-nav-submenu-item__link" href="/demo/warma/"><span class="header-nav-submenu-item__icon"><i class="fas fa-flask"></i></span><span class="header-nav-submenu-item__text">æ²ç</span></a></div><div class="header-nav-submenu-item"><a class="header-nav-submenu-item__link" href="/demo/guesswords/"><span class="header-nav-submenu-item__icon"><i class="far fa-question-circle"></i></span><span class="header-nav-submenu-item__text">ççç</span></a></div><div class="header-nav-submenu-item"><a class="header-nav-submenu-item__link" href="/demo/truthtable/"><span class="header-nav-submenu-item__icon"><i class="fas fa-table"></i></span><span class="header-nav-submenu-item__text">
74çå¼è¡¨</span></a></div><div class="header-nav-submenu-item"><a class="header-nav-submenu-item__link" target="_blank" rel="noopener" href="http://1.15.246.22/"><span class="header-nav-submenu-item__icon"><i class="fas fa-adjust"></i></span><span class="header-nav-submenu-item__text">é»ç½æ£</span></a></div><div class="header-nav-submenu-item"><a class="header-nav-submenu-item__link" target="_blank" rel="noopener" href="http://1.15.246.22:3367/"><span class="header-nav-submenu-item__icon"><i class="fas fa-keyboard"></i></span><span class="header-nav-submenu-item__text">æ¼é³</span></a></div></div></div><div class="header-nav-menu-item"><a class="header-nav-menu-item__link" href="/about/"><span class="header-nav-menu-item__icon"><i class="fas fa-fingerprint"></i></span><span class="header-nav-menu-item__text">å ³äº</span></a></div><div class="header-nav-menu-item"><a class="header-nav-menu-item__link" href="javascript:;" onclick="return false;"><span class="header-nav-menu-item__icon"><i class="far fa-caret-square-down"></i></span><span class="header-nav-menu-item__text">æ´å¤</span></a><div class="header-nav-submenu"><div class="header-nav-submenu-item"><a class="header-nav-submenu-item__link" target="_blank" rel="noopener" href="https://github.com/OrangeX4"><span class="header-nav-submenu-item__icon"><i class="fab fa-github"></i></span><span class="header-nav-submenu-item__text">GitHub</span></a></div><div class="header-nav-submenu-item"><a class="header-nav-submenu-item__link" href="/archives/"><span class="header-nav-submenu-item__icon"><i class="fas fa-folder-open"></i></span><span class="header-nav-submenu-item__text">彿¡£</span></a></div><div class="header-nav-submenu-item"><a class="header-nav-submenu-item__link" href="/tags/"><span class="header-nav-submenu-item__icon"><i class="fas fa-tags"></i></span><span class="header-nav-submenu-item__text">æ ç¾</span></a></div></div></div></div><div class="header-nav-search"><span class="header-nav-search__icon"><i class="fas fa-search"></i></span><span class="header-nav-search__text">æç´¢</span></div><div class="header-nav-mode"><div class="mode"><div class="mode-track"><span class="mode-track-moon"></span><span class="mode-track-sun"></span></div><div class="mode-thumb"></div></div></div></div></nav></div></header><main class="main" id="main"><div class="main-inner"><div class="content-wrap" id="content-wrap"><div class="content" id="content"><!-- Just used to judge whether it is an article page--><div id="is-post"></div><div class="post"><header class="post-header"><h1 class="post-title">åºäº Typst çæ°ä¸ä»£ç妿¯å¹»ç¯çï¼Slidesï¼ç¥å¨ ââ Touying</h1><div class="post-meta"><span class="post-meta-item post-meta-item--createtime"><span class="post-meta-item__icon"><i class="far fa-calendar-plus"></i></span><span class="post-meta-item__info">å表äº</span><span class="post-meta-item__value">2024-05-31</span></span><span class="post-meta-item post-meta-item--updatetime"><span class="post-meta-item__icon"><i class="far fa-calendar-check"></i></span><span class="post-meta-item__info">æ´æ°äº</span><span class="post-meta-item__value">2024-05-31</span></span><span class="post-meta-item post-meta-item--wordcount"><span class="post-meta-item__icon"><i class="far fa-file-word"></i></span><span class="post-meta-item__info">åæ°ç»è®¡</span><span class="post-meta-item__value">2.8k</span></span><span class="post-meta-item post-meta-item--readtime"><span class="post-meta-item__icon"><i class="far fa-clock"></i></span><span class="post-meta-item__info">é 读æ¶é¿</span><span class="post-meta-item__value">17å</span></span></div></header><div class="post-body"> 75 <h1 id="åºäº-typst-çæ°ä¸ä»£ç妿¯å¹»ç¯çslidesç¥å¨-touying" > 76 <a href="#åºäº-typst-çæ°ä¸ä»£ç妿¯å¹»ç¯çslidesç¥å¨-touying" class="heading-link"><i class="fas fa-link"></i></a>åºäº Typst çæ°ä¸ä»£ç妿¯å¹»ç¯çï¼Slidesï¼ç¥å¨ ââ Touying</h1> 77 78<p><span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://github.com/typst/typst" >Typst</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> æ¯ä¸ºåä½èè¯ççåºäºæ è®°çæçç³»ç»ï¼Typst çç®æ æ¯æä¸ºåè½å¼ºå¤§çæçå·¥å ·ï¼å¹¶ä¸è®©ç¨æ·å¯ä»¥æå¿«å°ä
78½¿ç¨å®ãç®åæ¥è¯´ï¼Typst = LaTeX çæçè½å + Markdown çç®æ´è¯æ³ + 强大ä¸ç°ä»£çèæ¬è¯è¨ãå ·ä½ä»ç»ä½ å¯ä»¥åèè¿ç¯æç« ã</p> 79<p>è <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://github.com/touying-typ/touying" >Touying</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> æ¯ä¸º Typst å¼åçå¹»ç¯ç/æ¼ç¤ºæç¨¿å ãTouying ä¹ç±»ä¼¼äº LaTeX ç Beamerï¼ä½æ¯å¾çäº Typstï¼ä½ å¯ä»¥æ¥ææ´å¿«ç渲æéåº¦ä¸æ´ç®æ´çè¯æ³ã</p> 80<p>Touying åèªä¸æéçãæå½±ããç¸è¾èè¨ï¼LaTeX ä¸ç Beamer å°±æ¯å¾·æçæå½±ä»ªçææã</p> 81<a id="more"></a> 82 83 <h2 id="为ä»ä¹ä½¿ç¨-touying" > 84 <a href="#为ä»ä¹ä½¿ç¨-touying" class="heading-link"><i class="fas fa-link"></i></a>为ä»ä¹ä½¿ç¨ Touying</h2> 85 86<ul> 87<li>ç¸è¾äº PowerPointï¼Touying å¹¶éãæç¤ºå³æå¾çãï¼ä½ å¯ä»¥ä½¿ç¨ä¸ç§ãå 容䏿 ·å¼å离ãçæ¹å¼ç¼åä½ ç slidesï¼å°¤å ¶æ¯ Typst ä½ä¸ºä¸ä¸ªæ°å ´çæçè¯è¨ï¼æä¾äºç®æ´ä½å¼ºå¤§çè¯æ³ï¼å¯¹äºä»£ç åãæ°å¦å ¬å¼åå®ççå 容æçæ´å¥½çæ¯æãå¦ä¸ä¸ªä¼å¿æ¯ï¼å¨æç模æ¿çæ åµä¸ï¼ç¨ Touying ç¼å slides è¦æ¯ PowerPoint å¿«å¾å¤ãå æ¤ Touying ç¸è¾äº PowerPointï¼æ´éåæçã妿¯åä½ãéæ±çç¨æ·ä½¿ç¨ã</li> 88<li>ç¸è¾äº Markdown Slidesï¼Touying æä¾æç Typst æçæ´å¼ºå¤§çæçæ§å¶è½åï¼ä¾å¦é¡µçã页èãå¸å±å便æ·çèªå®ä¹å½æ°ï¼èè¿æ¯ Markdown å¾é¾å ·å¤ãæè 说å¾é¾å好çè½åãå¹¶ä¸ Touying æä¾äº <code>#pause</code> å <code>#meanwhile</code> æ è®°ï¼æä¾äºæ´ä¸ºä¾¿æ·ç卿 slides è½åã</li> 89<li>ç¸è¾äº Beamerï¼Touying æçæ´å¿«çç¼è¯éåº¦ãæ´ç®æ´çè¯æ³ï¼ä»¥åæ´ç®åçèªå®ä¹ä¸»é¢çè½åãç¸è¾äº Beamer å¨è¾å ç§å åç§çç¼è¯æ¶é´ï¼Touying çç¼è¯éåº¦åºæ¬ä¸è½å¤ç»´æå¨å 毫ç§å 忝«ç§ç峿¶æ¸²æãå¹¶ä¸ Touying çè¯æ³ç¸è¾äº Beamer æ´ä¸ºç®æ´ï¼ä¹æ´å®¹ææ´æ¹æ¨¡æ¿ä¸»é¢ï¼ä»¥ååå»ºä½ èªå·±ç模æ¿ãå¨åè½ä¸ï¼Touying æ¯æäº Beamer 大é¨åçè½åï¼å¹¶ä¸è¿æä¾äºä¸äº Beamer ææ²¡æç便å©åè½ã</li> 90<li>ç¸è¾äº Polyluxï¼Touying æä¾äºä¸ç§ oop 飿 ¼çè¯æ³ï¼è½å¤éè¿å ¨å±å便¨¡ææä¾ãå ¨å±åéãçè½åï¼è¿èå¯ä»¥æ¹ä¾¿å°ç¼å主é¢ãå¹¶ä¸ Touying å¹¶ä¸ä¾èµ <code>counter</code> å <code>locate</code> æ¥å®ç° <code>#pause</code>ï¼å æ¤è½ææ´å¥½çæ§è½ãTouying è¿æä¾äºè®¸å¤ç¬ç¹çåè½ï¼ä¾å¦å¤ç§å¤æ ·çå¨ç»è½åã</li> 91</ul> 92<p><strong>ä¸å¾æµå¯¹æ¯ï¼</strong></p> 93<p> 94 <img class="lazyload lazyload-gif" 95 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530222510.png" alt="" /> 96 </p> 97 98 <h2 id="ç¯å¢æå»º" > 99 <a href="#ç¯å¢æå»º" class="heading-link"><i class="fas fa-link"></i></a>ç¯å¢æå»º</h2> 100 101<p>å¼å§ä½¿ç¨ Typst æ¯ååç®åçï¼ä½ å¯ä»¥éæ© <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://typst.app/app/" >å¨çº¿ç¼è¾</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span>ï¼ä¹å¯ä»¥éæ©æ¬å°ç¼è¾ï¼</p> 102<ol> 103<li>å®è£ <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://code.visualstudio.com/" >VS Code</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> ä½ä¸ºæ¬å° Typst ç¼è¾å·¥å ·ã</li> 104<li>å¨ VS Code ä¸å®è£ <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=myriad-dreamin.tinymist" >Tinymist Typst</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> å <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=mgt19937.typst-preview" >Typst Preview</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> æä»¶ãåè è´è´£è¯æ³é«äº®åéè¯¯æ£æ¥çåè½ï¼åè è´è´£é¢è§ã 105<ul> 106<li>乿¨èä¸è½½ <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=CalebFiggers.typst-companion" >Typst Companion</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> æä»¶ï¼å ¶æä¾äºä¾å¦ <code>Ctrl + B</code> è¿è¡å ç²ç便æ·çå¿«æ·é®ã</li> 107<li>ä½ è¿å¯ä»¥ä¸è½½æå¼åç <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=OrangeX4.vscode-typst-sync" >Typst Sync</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> å <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=OrangeX4.vscode-typst-sympy-calculator" >Typst Sympy Calculator</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> æä»¶ï¼åè æä¾äºæ¬å°å çäºåæ¥åè½ï¼åè æä¾äºåºäº Typst è¯æ³çç§å¦è®¡ç®å¨åè½ã</li> 108</ul> 109</li> 110<li>æå¼ä»»æå·¥ä½åºï¼å¹¶æ°å»ºä¸ä¸ª <code>.typ</code> åç¼çæä»¶ï¼ä¾å¦ <code>main.typ</code>ã</li> 111<li>æåç¨ VS Code æå¼çæçç®å½ï¼æå¼å¯¹åºç <code>.typ</code> æä»¶ï¼å¹¶æä¸ <code>Ctrl + K V</code> è¿è¡å®æ¶ç¼è¾åé¢è§ã</li> 112</ol> 113 114 <h2 id="示ä¾ä»£ç " > 115 <a href="#示ä¾ä»£ç " class="heading-link"><i class="fas fa-link"></i></a>示ä¾ä»£ç </h2> 116 117<p>Touying çè¯æ³å¾ç®åï¼ä½ å¯ä»¥éè¿æ 颿¥åå Slidesãä¸ä¸ªç®åç示ä¾ï¼</p> 118<figure class="highlight plain"><div class="table-container"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><span class="line">#import "@preview/touying:0.4.2": *</span><br><span class="line"></span><br><span class="line">#let s = themes.simple.register(aspect-ratio: "16-9")</span><br><span class="line">#let (init, slides) = utils.methods(s)</span><br><span class="line">#show: init</span><br><span class="line"></span><br><span class="line">#let (slide, empty-slide) = utils.slides(s)</span><br><span class="line">#show: slides</span><br><span class="line"></span><br><span class="line">= Title</span><br><span class="line"></span><br><span class="line">==
118 First Slide</span><br><span class="line"></span><br><span class="line">Hello, Touying!</span><br><span class="line"></span><br><span class="line">#pause</span><br><span class="line"></span><br><span class="line">Hello, Typst!</span><br></pre></td></tr></table></div></figure> 119<p> 120 <img class="lazyload lazyload-gif" 121 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530230252.png" alt="" /> 122 </p> 123<p>æ´å¤çç¨æ³å¯ä»¥åè <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://touying-typ.github.io/touying/zh/" >Touying ä¸æææ¡£</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span>ãTouying æä¾äºè®¸å¤å ç½®ä¸»é¢æ¨¡æ¿ï¼ä½ å¯ä»¥å¨ <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://touying-typ.github.io/touying/zh/docs/category/themes" >è¿é</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> æ¾å°ã</p> 124<p>åæ¶ Touying éè¿ GitHub Wiki æä¾äºä¸ä¸ª <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://github.com/touying-typ/touying/wiki" >Gallery</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> 页é¢ï¼å¯ä»¥å¨å ¶ä¸æµè§ç± Touying ç¨æ·å建çä¼é å¹»ç¯çãä¾å¦ <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://github.com/OrangeX4/typst-talk" >å¹¶ä¸å¤æç Typst 讲座</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> å°±æ¯ä½¿ç¨ Touying ç¼åï¼ä½ å¯ä»¥æµè§ <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://orangex4.github.io/typst-talk/" >å¨çº¿çæ¬</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span>ã</p> 125<p> 126 <img class="lazyload lazyload-gif" 127 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530222308.png" alt="" /> 128 </p> 129 130 <h2 id="妿¯å¹»ç¯çåºæçç¹æ§" > 131 <a href="#妿¯å¹»ç¯çåºæçç¹æ§" class="heading-link"><i class="fas fa-link"></i></a>妿¯å¹»ç¯çåºæçç¹æ§</h2> 132 133<p>让æä»¬æèä¸ä¸ä¸ä¸ªå¥½ç妿¯ Slides å·¥å ·åºè¯¥æåªäºç¹æ§ï¼</p> 134<ol> 135<li>å¯ä»¥å¨ Slides éå±ç¤ºä¸ä¸ªç¨æ·å¯è§çè¿åº¦æ¡æå½åå©ä½é¡µæ°æç¤ºã</li> 136<li>æäºå å ¥ä»£ç åï¼è¦ææ£ç¡®çé«äº®ï¼ä»¥åæå¥½è½å¤åå°å¯å¤å¶ï¼èä¸ä» æ¯æªä¸å¼ å¾çã</li> 137<li>è½å¤éè¿èæ¬è½åå¤ç¨é¨åæ ·å¼åï¼ä¾å¦é«äº®ãæç¤ºæ¡æå®çåçã</li> 138<li>æäºç¼åæ°å¦å ¬å¼ï¼æå¥½æ¯è½ç´æ¥å¤ç¨å·²æçæ°å¦å ¬å¼æºæä»¶ï¼ä¸æäºç¼è¾ã</li> 139<li>è½å¤æ¹ä¾¿å°è®¾ç½®ææ¬æ ·å¼ï¼ä¾å¦åå·ãåéåé¢è²ã</li> 140<li>è½å¤å¤ç¨å·²ææ¨¡æ¿ï¼ç¨æ·åªéè¦åä¸äºå¡«å å·¥ä½ã</li> 141<li>æãç®åå¨ç»ãè½åï¼å¨ Powerpoint æä¸é¨åå¨ç»ææï¼å¨ Beamer éæ <code>\pause</code> å½ä»¤ã</li> 142<li>æãæ¼è®²è è§å¾ãï¼å¯ä»¥å±ç¤ºä» æ¼è®²è å¯è§çæç¤ºæç¬è®°ã</li> 143<li>è½å¤æ¹ä¾¿å°éææ¾ç½®å¾çã以åå¾çä¹é´çå±å è¦çï¼å³åºäºé¡µé¢çç»å¯¹å®ä½å¸å±ã</li> 144<li>è½å¤å å ¥ä¸äºç®å¤´ãé«äº®æè¯´æææ¬ï¼å¯¹ Slides çå 容è¿è¡è§£éã</li> 145<li>è½å¤å å ¥ GIF å¨å¾æè è§é¢ã</li> 146<li>è½å¤éè¿å¨çº¿é¾æ¥è¿è¡æ´æ¹ä¾¿çåäº«åæ¾æ ï¼ä¹è½ååæ®é PDF æä»¶ä½ä¸ºè®²ä¹ã</li> 147<li>è½æå¨æè¿æ¸¡å¨ç»ææï¼ä¾å¦æ·¡å ¥æ·¡åºãå¹³æ»çã</li> 148</ol> 149<p>LaTeX ç Beamer è½å¤å®ç° 1~7ï¼å使ç¨ç±»ä¼¼äº <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://pdfpc.github.io/" >pdfpc</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> è¿æ ·çå·¥å ·ä¹è½å®ç° 8ï¼ä½æ¯ 9~13 å°±å¾é¾åå°äºã</p> 150<p>PowerPoint ä½ä¸ºæèççæç¤ºå³æå¾ Slides 软件ï¼å¯ä»¥å¾æ¹ä¾¿å°æ¯æ 5~11ï¼ä¹è½ä¸å®ç¨åº¦ä¸å®ç° 4 æ°å¦å ¬å¼æ¯æï¼ä½æ¯å¹¶ä¸æ¹ä¾¿ãèæ è®ºæ¯è¡å 代ç ã代ç åæä¼ªä»£ç ï¼PowerPoint ç表ç°é½ä¸å°½äººæï¼ä¸»è¦è¿æ¯å
150¨äºä¸æ¹ä¾¿ï¼ä¸å¤èªå¨åãè 1 çèªå¨åè¿åº¦æ¡æ´æ¯é¾ä»¥æ¾å°è§£å³æ¹æ¡ï¼ä¸»è¦æ ¹æºå¨äº PowerPoint 并䏿¯ä¸ä¸ªå¯ç¼ç¨ç Slides 软件ï¼ä¹è®¸åªè½é æä»¶å®ç°è¿äºåè½ã</p> 151<p>è Typst å®é ä¸è½å¤å®ç° 1~13 大é¨åè½åï¼åªæå¨æè¿æ¸¡å¨ç»ææç®åè¿æ¯é¾ä»¥å®ç°ã(åç»æ¯æ HTML 导åºå <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://github.com/andreasKroepelin/polylux/issues/122" >å¯è½å°±å¯ä»¥å®ç°äº</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span>ï¼æªæ¥å¯æ?)</p> 152<p>å ¶ä¸ 1~6 å¯ä»¥éè¿å®ä½ç±»ä¼¼äº Beamer ç <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://github.com/andreasKroepelin/polylux" >Polylux</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> å®ç°ï¼é颿ä¾äºä¸äºç®åçå 置模æ¿ï¼å½ç¶ä½ ä¹å¯ä»¥å®ç°ä¸ä¸ªèªå·±ç模æ¿ï¼ç¸ä¿¡ä½¿ç¨ Typst æä¾çç®åè¯æ³ï¼åå°è¿ä»¶äºå¹¶ä¸é¾ã</p> 153<p>èå ³äº 8ï¼ä½ å¯ä»¥ä½¿ç¨ <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://github.com/touying-typ/touying-exporter" >Touying HTML 导åº</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> æ¥å®ç°æ¾æ ï¼è¿æ¯æå¯¼åºä¸º PPTX æ ¼å¼ãæè ä½ ä¹å¯ä»¥éæ©ä½¿ç¨ Touying ç <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://touying-typ.github.io/touying/zh/docs/external/pdfpc" >Pdfpc</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> æ¯ææ <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://touying-typ.github.io/touying/zh/docs/external/pympress" >Pympress</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> æ¯æã</p> 154<p>èå ³äº 11ï¼è½ç¶ Typst ç PDF 导åºç¡®å®ä¸æ¯æ GIF å¨å¾åè§é¢ï¼ä½æ¯ä½ å¯ä»¥ä½¿ç¨ Typst Preview æä»¶å®ç° GIF å¨å¾çé¢è§ï¼ä»¥å <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://github.com/touying-typ/touying-exporter" >Touying HTML 导åº</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> 乿¯æ¯æ GIF å¨å¾çã</p> 155<p>èå ³äº 9 å 10ï¼ä½ å¯ä»¥ä½¿ç¨æå¼åçä¸ä¸ª Typst å <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://github.com/OrangeX4/typst-pinit/" >Pinit</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span>ï¼å ¶æä¾äºä¸ä¸ªåºäºé¡µé¢ç»å¯¹å®ä½ä¸åºäºãå¾éãpins ç¸å¯¹å®ä½çè½åï¼å¯ä»¥å¾æ¹ä¾¿å°å®ç°ç®å¤´æç¤ºä¸è§£é说æçææã</p> 156<p>ä¸é¢æä»¬å ·ä½ä»ç»ä¸ä¸ Touying çç¹æ®ä¸å¼ºå¤§çè½åã</p> 157 158 <h2 id="ç°ä»£åçæ¨¡æ¿" > 159 <a href="#ç°ä»£åçæ¨¡æ¿" class="heading-link"><i class="fas fa-link"></i></a>ç°ä»£åçæ¨¡æ¿</h2> 160 161<p>Touying å ç½®çæ¨¡æ¿è¶³å¤ç¾è§å¤§æ¹ï¼ä½ å¯ä»¥ç®åå°å¼ç®±å³ç¨ãTouying æä¾äºè®¸å¤å ç½®ä¸»é¢æ¨¡æ¿ï¼ä½ å¯ä»¥å¨ <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://touying-typ.github.io/touying/zh/docs/category/themes" >è¿é</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> æ¾å°ã</p> 162<p><span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://touying-typ.github.io/touying/zh/docs/themes/metropolis" >Metropolis 主é¢ï¼</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span></p> 163<p> 164 <img class="lazyload lazyload-gif" 165 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530234209.png" alt="" /> 166 </p> 167<p><span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://touying-typ.github.io/touying/zh/docs/themes/dewdrop" >Dewdrop 主é¢ï¼</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span></p> 168<p> 169 <img class="lazyload lazyload-gif" 170 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530234340.png" alt="" /> 171 </p> 172<p><span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://touying-typ.github.io/touying/zh/docs/themes/university" >University 主é¢ï¼</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span></p> 173<p> 174 <img class="lazyload lazyload-gif" 175 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530234638.png" alt="" /> 176 </p> 177<p><span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://touying-typ.github.io/touying/zh/docs/themes/aqua" >Aqua 主é¢ï¼</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span></p> 178<p> 179 <img class="lazyload lazyload-gif" 180 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530234516.png" alt="" /> 181 </p> 182<p>å½ç¶ï¼åºäº Typst æä¾çç®æ´è¯æ³ï¼ä½ å½ç¶ä¹å¯ä»¥èªå®ä¹ä¸ä¸ªèªå·±å欢ç主é¢ã</p> 183 184 <h2 id="å¨ç»" > 185 <a href="#å¨ç»" class="heading-link"><i class="fas fa-link"></i></a>å¨ç»</h2> 186 187<p>Touying æ¯æåç§åæ ·çå¨ç»å½ä»¤ï¼æç®åçå¨ç»å½ä»¤æ¯ <code>#pause</code> å <code>#meanwhile</code>ã</p> 188<p><code>#pause</code> çç¨éå¾ç®åï¼å°±æ¯ç¨äºå°åç»çå 容æ¾å°ä¸ä¸å¼ åå¹»ç¯çä¸ï¼å¹¶ä¸å¯ä»¥ä½¿ç¨å¤ä¸ª <code>#pause</code>
188 以å建å¤å¼ åå¹»ç¯çï¼ä¸ä¸ªç®åçä¾åï¼</p> 189<figure class="highlight plain"><div class="table-container"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">#slide[</span><br><span class="line"> First #pause Second</span><br><span class="line"></span><br><span class="line"> #pause</span><br><span class="line"></span><br><span class="line"> Third</span><br><span class="line">]</span><br></pre></td></tr></table></div></figure> 190<p> 191 <img class="lazyload lazyload-gif" 192 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530235341.png" alt="" /> 193 </p> 194<p>æäºæ åµä¸ï¼æä»¬éè¦å¨ <code>#pause</code> çåæ¶å±ç¤ºä¸äºå ¶ä»å 容ï¼è¿æ¶åæä»¬å°±å¯ä»¥ç¨ <code>#meanwhile</code>ã</p> 195<figure class="highlight plain"><div class="table-container"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line">#slide[</span><br><span class="line"> First</span><br><span class="line"> </span><br><span class="line"> #pause</span><br><span class="line"> </span><br><span class="line"> Second</span><br><span class="line"></span><br><span class="line"> #meanwhile</span><br><span class="line"></span><br><span class="line"> Third</span><br><span class="line"></span><br><span class="line"> #pause</span><br><span class="line"></span><br><span class="line"> Fourth</span><br><span class="line">]</span><br></pre></td></tr></table></div></figure> 196<p> 197 <img class="lazyload lazyload-gif" 198 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530235446.png" alt="" /> 199 </p> 200<p>Touying è¿æ¯æ <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://touying-typ.github.io/touying/zh/docs/dynamic/equation" >æ°å¦å ¬å¼</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> å é¨ãCeTZ å Fletcher ç <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://touying-typ.github.io/touying/zh/docs/dynamic/other" >å ¶ä»ä½å¾å </a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> å é¨ä½¿ç¨ <code>#pause</code> å <code>#meanwhile</code> å½ä»¤ï¼</p> 201<p> 202 <img class="lazyload lazyload-gif" 203 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530235636.png" alt="" /> 204 </p> 205<p> 206 <img class="lazyload lazyload-gif" 207 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240530235650.png" alt="" /> 208 </p> 209<p>å ¶ä¸ <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://typst.app/universe/package/cetz" >CeTZ</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> å <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://typst.app/universe/package/fletcher" >Fletcher</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> æ¯ Typst éåå强大便æ·çç»å¾å ï¼å¯ä»¥å¯¹æ LaTeX ä¸ç TikZã</p> 210 211 <h2 id="æ ·å¼å" > 212 <a href="#æ ·å¼å" class="heading-link"><i class="fas fa-link"></i></a>æ ·å¼å</h2> 213 214<p>Typst æä¾äºè®¸å¤æ ·å¼åæè å®çåå ï¼ä¾å¦ <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://typst.app/universe/package/showybox" >
214showybox</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> å <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://typst.app/universe/package/ctheorems" >ctheorems</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> å ï¼</p> 215<p> 216 <img class="lazyload lazyload-gif" 217 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240531171810.png" alt="" /> 218 </p> 219<p>å¯ä»¥å¾æ¹ä¾¿å°ä¸ºä½ ç Slides å å ¥ç¾è§çæ ·å¼åï¼æ´å¥½å°çªåºä½ éè¦å±ç¤ºçå 容ã</p> 220 221 <h2 id="æ°å¦å ¬å¼" > 222 <a href="#æ°å¦å ¬å¼" class="heading-link"><i class="fas fa-link"></i></a>æ°å¦å ¬å¼</h2> 223 224<p>Typst çæ°å¦å ¬å¼è¯æ³ç¡®å®ä¸ LaTeX æ°å¦å ¬å¼è¯æ³ä¸åï¼è¿æ¯ä¸ºäºå®ç°æ´ç®æ´ææçæ°å¦å ¬å¼è¯æ³ï¼ä¾å¦ <code>(x + 1) / x >= 1 => 1/x >= 0</code> ä¸ <code>\frac{x + 1}{x} \ge 1 \Rightarrow \frac{1}{x} \ge 0</code>ï¼åè æ¾ç¶æ´ä¸ºç®æ´ææã</p> 225<p>ä½å¦æä½ éè¦å¨ Typst é宿¶ä¹¦å忏²æ LaTeX å ¬å¼ï¼ä¹å¯ä»¥åå°ï¼ä½ å¯ä»¥ä½¿ç¨ <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://github.com/OrangeX4/mitex" >MiTeX</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> å ï¼å¯ä»¥éæ¶å¤ç¨ä½ å·²æç LaTeX æ°å¦å ¬å¼ã</p> 226<figure class="highlight plain"><div class="table-container"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line">#import "@preview/mitex:0.2.4": *</span><br><span class="line"></span><br><span class="line">Write inline equations like #mi("x") or #mi[y].</span><br><span class="line"></span><br><span class="line">Also block equations (this case is from #text(blue.lighten(20%), link("https://katex.org/")[katex.org])):</span><br><span class="line"></span><br><span class="line">#mitex(`</span><br><span class="line"> f(x) = \int_{-\infty}^\infty</span><br><span class="line"> \hat f(\xi)\,e^{2 \pi i \xi x}</span><br><span class="line"> \,d\xi</span><br><span class="line">`)</span><br></pre></td></tr></table></div></figure> 227<p> 228 <img class="lazyload lazyload-gif" 229 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20231223211411.png" alt="" /> 230 </p> 231 232 <h2 id="ç¸å¯¹å®ä½æ 注" > 233 <a href="#ç¸å¯¹å®ä½æ 注" class="heading-link"><i class="fas fa-link"></i></a>ç¸å¯¹å®ä½æ 注</h2> 234 235<p>ä½ å¯ä»¥ä½¿ç¨æå¼åçä¸ä¸ª Typst å <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://github.com/OrangeX4/typst-pinit/" >Pinit</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span>ï¼å ¶æä¾äºä¸ä¸ªåºäºé¡µé¢ç»å¯¹å®ä½ä¸åºäºãå¾éãpins ç¸å¯¹å®ä½çè½åï¼å¯ä»¥å¾æ¹ä¾¿å°å®ç°ç®å¤´æç¤ºä¸è§£é说æçææã</p> 236<p>è¿ç§è½å对ç¼å Slides ååæå¸®å©ï¼ä½ å¯ä»¥éæå°å¯¹å·²æçå 容使ç¨ç®å¤´è¿è¡æ 注ï¼è¾¾å°å PowerPoint 䏿 ·å¼ºå¤§çä»»æå¸å±è½åã</p> 237<p> 238 <img class="lazyload lazyload-gif" 239 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20231127180414.png" alt="" /> 240 </p> 241<p> 242 <img class="lazyload lazyload-gif" 243 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20231127180437.png" alt="" /> 244 </p> 245 246 <h2 id="æ¾æ å·¥å ·" > 247 <a href="#æ¾æ å·¥å ·" class="heading-link"><i class="fas fa-link"></i></a>æ¾æ å·¥å ·</h2> 248 249<p>Touying æ¯æå¤ç§æ¾æ å·¥å ·ï¼å¸¸è§æ¹å¼å¦ä¸ï¼</p> 250<p><strong>纯 PDF æ ¼å¼</strong>ï¼å¯¼åºçº¯ PDF æ ¼å¼ï¼ä½¿ç¨ä»»æç PDF Viewer ææµè§å¨è¿è¡æ¾æ ã</p> 251<p><strong>Pdfpc æ ¼å¼</strong>ï¼å¯¼åº PDF æä»¶å <code>.pdfpc</code> æä»¶ï¼ç¶åä½¿ç¨ <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://touying-typ.github.io/touying/zh/docs/external/pdfpc" >Pdfpc</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> å·¥å ·è¿è¡æ¾æ ï¼å¯æ¯æãæ¼è®²è è§å¾ãåè½ï¼ä½ç¼ºç¹æ¯ Windows ä¸å®è£ 䏿¹ä¾¿ã</p> 252<p><strong>Pympress æ¾æ </strong>ï¼å¯¼åºå³ä¾§å¸¦æç¬è®°ç PDF æä»¶ï¼ç¶å使ç¨å¼ºå¤§ç PDF æ¾æ å·¥å · <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://touying-typ.github.io/touying/zh/docs/external/pympress" >pympress</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> è¿è¡æ¾æ ã</p> 253<p> 254 <img class="lazyload lazyload-gif" 255 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240531173702.png" alt="" /> 256 </p> 257<p><strong>PowerPoint æ¾æ </strong>ï¼éè¿ <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://github.com/touying-typ/touying-exporter" >Touying Exporter</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> å·¥å ·å¯¼åºä¸º PPTX æ ¼å¼ï¼å ¶æ¬è´¨å°±æ¯å åµäºè®¸å¤ PNG å¾çä¸å¸¦æ¼è®²è 注éç PPTX æå æä»¶ï¼ä½ç¨æ¥æ¾æ ä¹å®å ¨è¶³å¤ã</p> 258<p> 259 <img class="lazyload lazyload-gif" 260 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240531173932.png" alt="" /> 261 </p> 262<p><strong>HTML 导åºä¸å¨çº¿æ¾æ </strong>ï¼éè¿ <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://github.com/touying-typ/touying-exporter" >Touying Exporter</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span> å·¥å ·å¯¼åºä¸º HTML æ ¼å¼ï¼å ¶ä½¿ç¨äº impress.js æ¡æ¶ï¼å° Slides 导åºä¸º SVG æ ¼å¼å¹¶å°è£ æäºä¸ä¸ªç¬ç«ç HTML æä»¶ï¼æ¢å¯ä»¥ç´æ¥æå¼ HTML æä»¶ï¼ä¹å¯ä»¥å°å ¶é¨ç½²å° GitHub Pages çå°æ¹ï¼æå¼é¾æ¥ç´æ¥å¨çº¿æ¾æ ã<strong>ç±äºæ¯æ GIF å¨å¾åæ¼è®²è è§å¾ï¼è¿è½çº¿ä¸æçº¿ä¸ååï¼å æ¤è¿æ¯ææ¨èçæ¾æ æ¹å¼ã</strong></p> 263<p>ä½ è¿å¯ä»¥ä½¿ç¨ Touying æä¾ç <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://github.com/touying-typ/touying-template" >Template ä»åº</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span>ï¼åªéè¦é¼ æ ç¹å»å ä¸å¤å¶ä¸ä¸ªä»åºï¼å°±è½éè¿ GitHub Pages å建ä¸ä¸ªä½ èªå·±ç <span class="exturl"><a class="exturl__link" target="_blank" rel="noopener" href="https://touying-typ.github.io/touying-template/" >å¨çº¿æ¾æ 龿¥</a><span class="exturl__icon"><i class="fas fa-external-link-alt"></i></span></span>ã</p> 264<p> 265 <img class="lazyload lazyload-gif" 266 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240531174245.png" alt="" /> 267 </p> 268<p> 269 <img class="lazyload lazyload-gif" 270 src="/images/loading.svg" data-src="https://picgo-1258602555.cos.ap-nanjing.myqcloud.com/20240531174252.png" alt="" /> 271 </p> 272</div><footer class="post-footer"><div class="post-ending ending"><div class="ending__text">------ æ¬æç»æï¼æè°¢æ¨çé 读 ------</div></div><div class="post-copyright copyright"><div class="copyright-author"><span class="copyright-author__name">æ¬æä½è : </span><span class="copyright-author__value"><a href="https://blog.orangex4.cool">OrangeX4</a></span></div><div class="copyright-link"><span class="copyright-link__name">æ¬æé¾æ¥: </span><span class="copyright-link__value"><a href="https://blog.orangex4.cool/post/touying/">https://blog.orangex4.cool/post/touying/</a></span></div><div class="copyright-notice"><span class="copyright-notice__name">çæå£°æ: </span><span class="copyright-notice__value">æ¬åå®¢æææç« é¤ç¹å«å£°æå¤ï¼åéç¨ <a href="https://creativecommons.org/licenses/by-nc/4.0/deed.en" rel="external nofollow" target="_blank">BY-NC</a> 许å¯åè®®ãç¦æ¢åç¨ï¼è½¬è½½è¯·æ³¨æåºå¤ï¼</span></div></div><div class="post-tags"><span class="post-tags-item"><span class="post-tags-item__icon"><i class="fas fa-tag"></i></span><a class="post-tags-item__link" href="https://blog.orangex4.cool/tags/Study/">Study</a></span><span class="post-tags-item"><span class="post-tags-item__icon"><i class="fas fa-tag"></i></span><a class="post-tags-item__link" href="https://blog.orangex4.cool/tags/VS-Code/">VS Code</a></span><span class="post-tags-item"><span class="post-tags-item__icon"><i class="fas fa-tag"></i></span><a class="post-tags-item__link" href="https://blog.orangex4.cool/tags/Math/">Math</a></span><span class="post-tags-item"><span class="post-tags-item__icon"><i class="fas fa-tag"></i></span><a class="post-tags-item__link" href="https://blog.orangex4.cool/tags/Chinese/">Chinese</a></span><span class="post-tags-item"><span class="post-tags-item__icon"><i class="fas fa-tag"></i></span><a class="post-tags-item__link" href="https://blog.orangex4.cool/tags/Typst/">Typst</a></span><span class="post-tags-item"><span class="post-tags-item__icon"><i class="fas fa-tag"></i></span><a class="post-tags-item__link" href="https://blog.orangex4.cool/tags/Slides/">Slides</a></span><span class="post-tags-item"><span class="post-tags-item__icon"><i class="fas fa-tag"></i></span><a class="post-tags-item__link" href="https://blog.orangex4.cool/tags/Presentation/">Presentation</a></span><span class="post-tags-item"><span class="post-tags-item__icon"><i class="fas fa-tag"></i></span><a class="post-tags-item__link" href="https://blog.orangex4.cool/tags/Typesetting/">Typesetting</a></span></div><nav class="post-paginator paginator"><div class="paginator-next"><a class="paginator-next__link" href="/post/typst-for-chinese/"><span class="paginator-prev__text">Typst ä¸æç¨æ·ä½¿ç¨ä½éª</span><span class="paginator-next__icon"><i class="fas fa-angle-right"></i></span></a></div></nav></footer></div></div><div class="comments" id="comments"><div id="gitalk-container"></div></div></div><div class="sidebar-wrap" id="sidebar-wrap"><aside class="sidebar" id="sidebar"><div class="sidebar-nav"><span class="sidebar-nav-toc current">æç« ç®å½</span><span class="sidebar-nav-ov">ç«ç¹æ¦è§</span></div><section class="sidebar-toc"><ol class="toc"><li class="toc-item toc-level-1"><a class="toc-link" href="#%E5%9F%BA%E4%BA%8E-typst-%E7%9A%84%E6%96%B0%E4%B8%80%E4%BB%A3%E7%9A%84%E5%AD%A6%E6%9C%AF%E5%B9%BB%E7%81%AF%E7%89%87slides%E7%A5%9E%E5%99%A8-touying"><span class="toc-number">1.</span> <span class="toc-text"> 273 åºäº Typst çæ°ä¸ä»£ç妿¯å¹»ç¯çï¼Slidesï¼ç¥å¨ ââ Touying</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BD%BF%E7%94%A8-touying"><span class="toc-number">1.1.</span> <span class="toc-text"> 274 为ä»ä¹ä½¿ç¨ Touying</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA"><span class="toc-number">1.2.</span> <span class="toc-text"> 275 ç¯å¢æå»º</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81"><span class="toc-number">1.3.</span> <span class="toc-text"> 276 示ä¾ä»£ç </span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%AD%A6%E6%9C%AF%E5%B9%BB%E7%81%AF%E7%89%87%E5%BA%94%E6%9C%89%E7%9A%84%E7%89%B9%E6%80%A7"><span class="toc-number">1.4.</span> <span class="toc-text"> 277 妿¯å¹»ç¯çåºæçç¹æ§</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%8E%B0%E4%BB%A3%E5%8C%96%E7%9A%84%E6%A8%A1%E6%9D%BF"><span class="toc-number">1.5.</span> <span class="toc-text"> 278 ç°ä»£åçæ¨¡æ¿</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%8A%A8%E7%94%BB"><span class="toc-number">1.6.</span> <span class="toc-text"> 279 å¨ç»</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%A0%B7%E5%BC%8F%E5%9D%97"><span class="toc-number">1.7.</span> <span class="toc-text"> 280 æ ·å¼å</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%95%B0%E5%AD%A6%E5%85%AC%E5%BC%8F"><span class="toc-number">1.8.</span> <span class="toc-text"> 281 æ°å¦å ¬å¼</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%9B%B8%E5%AF%B9%E5%AE%9A%E4%BD%8D%E6%A0%87%E6%B3%A8"><span class="toc-number">1.9.</span> <span class="toc-text"> 282 ç¸å¯¹å®ä½æ 注</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%94%BE%E6%98%A0%E5%B7%A5%E5%85%B7"><span class="toc-number">1.10.</span> <span class="toc-text"> 283 æ¾æ å·¥å ·</span></a></li></ol></li></ol></section><!-- ov = overview--><section class="sidebar-ov hide"><div class="sidebar-ov-author"><div class="sidebar-ov-author__avatar"><img class="sidebar-ov-author__avatar_img" src="/images/icons/profile.jpg" alt="avatar"></div><p class="sidebar-ov-author__text">Tech-otaku save the world. ð</p></div><div class="sidebar-ov-social"><a class="sidebar-ov-social-item" href="https://github.com/OrangeX4" target="_blank" rel="noopener" data-popover="Github" data-popover-pos="up"><span class="sidebar-ov-social-item__icon"><i class="fab fa-github"></i></span></a><a class="sidebar-ov-social-item" href="https://www.zhihu.com/people/xia-chong-yu-bing-34-67" target="_blank" rel="noopener" data-popover="ç¥ä¹" data-popover-pos="up"><span class="sidebar-ov-social-item__icon">ç¥</span></a><a class="sidebar-ov-social-item" href="https://space.bilibili.com/15329464" target="_blank" rel="noopener" data-popover="Bilibili" data-popover-pos="up"><span class="sidebar-ov-social-item__icon">Bili</span></a></div><div class="sidebar-ov-feed"><span class="sidebar-ov-feed-rss"><a class="sidebar-ov-feed-rss__link" href="/atom.xml" target="_blank" rel="noopener"><span class="sidebar-ov-feed-rss__icon"><i class="fas fa-rss"></i></span><span>RSS 订é </span></a></span></div></section><div class="sidebar-reading"><div class="sidebar-reading-info"><span class="sidebar-reading-info__text">ä½ å·²é è¯»äº </span><span class="sidebar-reading-info__num">0</span><span class="sidebar-reading-info__perc">%</span></div><div class="sidebar-reading-line"></div></div></aside></div><div class="clearfix"></div></div></main><footer class="footer" id="footer"><div class="footer-inner"><div><span>Copyright © 2024</span><span class="footer__icon"><i class="fas fa-heart"></i></span><span>OrangeX4</span></div><div><span>ç± <a href="http://hexo.io/" title="Hexo" target="_blank" rel="noopener">Hexo</a> 强å驱å¨</span><span> v5.3.0</span><span class="footer__devider">|</span><span>ä¸»é¢ - <a href="https://github.com/liuyib/hexo-theme-stun/" title="Stun" target="_blank" rel="noopener">Stun</a></span><span> v2.6.1</span></div></div></footer><div class="loading-bar" id="loading-bar"><div class="loading-bar__progress"></div></div><div class="back2top" id="back2top"><span class="back2top__icon"><i class="fas fa-rocket"></i></span></div></div><div class="search-mask"></div><div class="search-popup"><span class="search-close"></span><div class="search-input"><input placeholder="æç´¢æç« ï¼æ¯æå¤å ³é®è¯ï¼è¯·ç¨ç©ºæ ¼åéï¼"><div class="search-btns">ä½¿ç¨æç´¢ï¼<span class="search-btns-item search-btns-item--google"><i class="fab fa-google"></i>è°·æ</span><span class="search-btns-item search-btns-item--bing"><i></i>å¿ åº</span><span class="search-btns-item search-btns-item--baidu"><i></i>ç¾åº¦</span></div></div><div class="search-results"></div></div>
283<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script>
283<script src="https://cdn.jsdelivr.net/npm/[email protected]/velocity.min.js"></script>
283<script src="https://cdn.jsdelivr.net/npm/[email protected]/velocity.ui.min.js"></script>
283<script src="https://cdn.jsdelivr.net/npm/ribbon.js@latest/dist/ribbon.min.js" size="120" alpha="0.6" zIndex="-1"></script>
283<script src="https://cdn.jsdelivr.net/npm/[email protected]/lazyload.min.js"></script>
283<script>function initSearch() { 284 var isXML = true; 285 var search_path = 'search.json'; 286 287 if (!search_path) { 288 search_path = 'search.xml'; 289 } else if (/json$/i.test(search_path)) { 290 isXML = false; 291 } 292 293 var path = '/' + search_path; 294 $.ajax({ 295 url: path, 296 dataType: isXML ? 'xml' : 'json', 297 async: true, 298 success: function (res) { 299 var datas = isXML ? $('entry', res).map(function () { 300 // å° XML 转为 JSON 301 return { 302 title: $('title', this).text(), 303 content: $('content', this).text(), 304 url: $('url', this).text() 305 }; 306 }).get() : res; 307 var $input = $('.search-input input'); 308 var $result = $('.search-results'); 309 // æç´¢å¯¹è±¡ï¼æ é¢ãå 容ï¼çæéï¼å½±åæ¾ç¤ºé¡ºåº 310 var WEIGHT = { title: 100, content: 1 }; 311 var searchPost = function () { 312 var searchText = $input.val().toLowerCase().trim(); 313 // æ ¹æ®ç©ºç½å符åéå ³é®å 314 var keywords = searchText.split(/[\s]+/); 315 // æç´¢ç»æ 316 var matchPosts = []; 317 318 // æå¤ä¸ªå ³é®åæ¶ï¼å°åæåæ´ä¸ªä¿å䏿¥ 319 if (keywords.length > 1) { 320 keywords.push(searchText); 321 } 322 // 鲿¢æªè¾å ¥åç¬¦æ¶æç´¢ 323 if (searchText.length > 0) { 324 datas.forEach(function (data) { 325 var isMatch = false;
326 // æ²¡ææ é¢çæç« 使ç¨é¢è®¾ç i18n åéä»£æ¿ 327 var title = (data.title && data.title.trim()) || '[ æç« æ æ é¢ ]'; 328 var titleLower = title && title.toLowerCase(); 329 // å é¤ HTML æ ç¾ å ææç©ºç½å符 330 var content = data.content && data.content.replace(/<[^>]+>/g, ''); 331 var contentLower = content && content.toLowerCase(); 332 // å é¤éå¤ç / 333 var postURL = data.url && decodeURI(data.url).replace(/\/{2,}/g, '/'); 334 // æ é¢ä¸å¹é å°çå ³é®è¯ 335 var titleHitSlice = []; 336 // å 容ä¸å¹é å°çå ³é®è¯ 337 var contentHitSlice = []; 338 339 keywords.forEach(function (keyword) { 340 /** 341 * è·åå¹é çå ³é®è¯çç´¢å¼ 342 * @param {String} keyword è¦å¹é çå ³é®å 343 * @param {String} text åæå 344 * @param {Boolean} caseSensitive æ¯å¦åºå大å°å 345 * @param {Number} weight å¹é 对象çæéãæé大çä¼å æ¾ç¤º 346 * @return {Array} 347 */ 348 function getIndexByword (word, text, caseSensitive, weight) { 349 if (!word || !text) { 350 return []; 351 }; 352 353 var startIndex = 0; // æ¯æ¬¡å¹é çå¼å§ç´¢å¼ 354 var index = -1; // å¹é å°çç´¢å¼å¼ 355 var result = []; // å¹é ç»æ 356 357 if (!caseSensitive) { 358 word = word.toLowerCase(); 359 text = text.toLowerCase(); 360 } 361 362 while((index = text.indexOf(word, startIndex)) !== -1) { 363 var hasMatch = false; 364 // ç´¢å¼ä½ç½®ç¸åçå ³é®è¯ï¼ä¿çé¿åº¦è¾é¿ç 365 titleHitSlice.forEach(function (hit) { 366 if (hit.index === index && hit.word.length < word.length) { 367 hit.word = word; 368 hasMatch = true; 369 } 370 }); 371 startIndex = index + word.length; 372 !hasMatch && result.push({ index: index, word: word, weight: weight }); 373 } 374 return result; 375 } 376 titleHitSlice = titleHitSlice.concat(getIndexByword(keyword, titleLower, false, WEIGHT.title)); 377 contentHitSlice = contentHitSlice.concat(getIndexByword(keyword, contentLower, false, WEIGHT.content)); 378 }); 379 380 var hitTitle = titleHitSlice.length; 381 var hitContent = contentHitSlice.length; 382 383 if (hitTitle > 0 || hitContent > 0) { 384 isMatch = true; 385 } 386 if (isMatch) { 387 ;[titleHitSlice, contentHitSlice].forEach(function (hit) { 388 // æç §å¹é æåçç´¢å¼çéå¢é¡ºåºæåº 389 hit.sort(function (left, right) { 390 return left.index - right.index; 391 }); 392 }); 393 /** 394 * ç»ææ¬ä¸å¹é å°çå ³é®è¯æ·»å æ è®°ï¼ä»èè¿è¡é«äº®æ¾ç¤º 395 * @param {String} text åææ¬ 396 * @param {Array} hitSlice å¹é 项çç´¢å¼ä¿¡æ¯ 397 * @param {Number} start å¼å§ç´¢å¼ 398 * @param {Number} end ç»æç´¢å¼ 399 * @return {String} 400 */ 401 function highlightKeyword (text, hitSlice, start, end) { 402 if (!text || !hitSlice || !hitSlice.length) { 403 return; 404 } 405 406 var result = ''; 407 var startIndex = start; 408 var endIndex = end; 409 hitSlice.forEach(function (hit) { 410 if (hit.index < startIndex) { 411 return; 412 } 413 414 var hitWordEnd = hit.index + hit.word.length; 415 result += text.slice(startIndex, hit.index); 416 result += '<b>' + text.slice(hit.index, hitWordEnd) + '</b>'; 417 startIndex = hitWordEnd; 418 }); 419 result += text.slice(startIndex, endIndex); 420 return result; 421 } 422 423 var postData = {}; 424 // æç« æ»çæç´¢æé 425 var postWeight = titleHitSlice.length * WEIGHT.title + contentHitSlice.length * WEIGHT.content; 426 // æ è®°å¹é å ³é®è¯åçæ é¢ 427 var postTitle = highlightKeyword(title, titleHitSlice, 0, title.length) || title; 428 // æ è®°å¹é å ³é®è¯åçå 容 429 var postContent; 430 // æ¾ç¤ºå 容çé¿åº¦ 431 var SHOW_WORD_LENGTH = 200; 432 // å½ä¸å ³é®è¯åçå符æ¾ç¤ºé¿åº¦ 433 var SHOW_WORD_FRONT_LENGTH = 20; 434 var SHOW_WORD_END_LENGTH = SHOW_WORD_LENGTH - SHOW_WORD_FRONT_LENGTH; 435 436 // æªåå¹é ç第ä¸ä¸ªå符ï¼ååå ± 200 个åç¬¦æ¥æ¾ç¤º 437 if (contentHitSlice.length > 0) { 438 var firstIndex = contentHitSlice[0].index; 439 var start = firstIndex > SHOW_WORD_FRONT_LENGTH ? firstIndex - SHOW_WORD_FRONT_LENGTH : 0; 440 var end = firstIndex + SHOW_WORD_END_LENGTH; 441 postContent = highlightKeyword(content, contentHitSlice, start, end); 442 } else { // æªå¹é å°å 容ï¼ç´æ¥æªåå 200 个åç¬¦æ¥æ¾ç¤º 443 postContent = content.slice(0, SHOW_WORD_LENGTH); 444 } 445 postData.title = postTitle; 446 postData.content = postContent; 447 postData.url = postURL; 448 postData.weight = postWeight; 449 matchPosts.push(postData); 450 } 451 }); 452 } 453 454 var resultInnerHtml = ''; 455 if (matchPosts.length) { 456 // ææééå¢çé¡ºåºæåºï¼ä½¿æé大çä¼å æ¾ç¤º 457 matchPosts.sort(function (left, right) { 458 return right.weight - left.weight; 459 }); 460 resultInnerHtml += '<ul>';
461 matchPosts.forEach(function (post) { 462 resultInnerHtml += '<li><a class="search-results-title" href="' + post.url + '">'; 463 resultInnerHtml += post.title; 464 resultInnerHtml += '</a><div class="search-results-content">'; 465 resultInnerHtml += post.content; 466 resultInnerHtml += '</div></li>'; 467 }); 468 resultInnerHtml += '</ul>'; 469 } else { 470 resultInnerHtml += '<div class="search-results-none"><i class="far fa-meh"></i></div>'; 471 } 472 $result.html(resultInnerHtml); 473 }; 474 $input.on('input', searchPost); 475 $input.on('keyup', function (e) { 476 if (e.keyCode === Stun.utils.codeToKeyCode('Enter')) { 477 searchPost(); 478 } 479 }); 480 } 481 }); 482} 483 484function closeSearch () { 485 $('body').css({ overflow: 'auto' }); 486 $('.search-popup').css({ display: 'none' }); 487 $('.search-mask').css({ display: 'none' }); 488} 489 490window.addEventListener('DOMContentLoaded', function () { 491 Stun.utils.pjaxReloadLocalSearch = function () { 492 $('.header-nav-search').on('click', function (e) { 493 e.stopPropagation(); 494 $('body').css('overflow', 'hidden'); 495 $('.search-popup') 496 .velocity('stop') 497 .velocity('transition.expandIn', { 498 duration: 300, 499 complete: function () { 500 $('.search-popup input').focus(); 501 } 502 }); 503 $('.search-mask') 504 .velocity('stop') 505 .velocity('transition.fadeIn', { 506 duration: 300 507 }); 508 509 initSearch(); 510 }); 511 $('.search-mask, .search-close').on('click', function () { 512 closeSearch(); 513 }); 514 $(document).on('keydown', function (e) { 515 // Escape <=> 27 516 if (e.keyCode === Stun.utils.codeToKeyCode('Escape')) { 517 closeSearch(); 518 } 519 }); 520 }; 521 522 Stun.utils.pjaxReloadLocalSearch(); 523}, false); 524 525function safeOpenUrl(url) { 526 var newTab = window.open(); 527 newTab.opener = null; 528 newTab.location = url; 529} 530 531function extSearch(engine) { 532 var engines = { 533 google: 'https://www.google.com/search?q=', 534 bing: 'https://cn.bing.com/search?q=', 535 baidu: 'https://www.baidu.com/s?ie=UTF-8&wd=', 536 }; 537 var host = window.location.host; 538 var query = $('.search-input input').val().toLowerCase().trim(); 539 var uri = engines[engine] + query + ' site:' + host; 540 541 if (query) {
542 safeOpenUrl(uri); 543 } else { 544 Stun.utils.popAlert('warning', '请è¾å ¥å符'); 545 } 546} 547 548var assistSearchList = window.CONFIG.assistSearch; 549 550if (Array.isArray(assistSearchList)) { 551 assistSearchList.forEach(function (name) { 552 document.querySelector('.search-btns-item--' + name).addEventListener('click', function () { 553 extSearch(name); 554 }, false); 555 }); 556}</script>
556<script src="https://cdn.jsdelivr.net/npm/gitalk@latest/dist/gitalk.min.js"></script>
556<script src="https://cdn.jsdelivr.net/npm/js-md5@latest/src/md5.min.js"></script>
556<script>function loadGitalk () { 557 if (!document.getElementById('gitalk-container')) { 558 return; 559 } 560 561 var gitalk = new Gitalk({ 562 id: md5(window.location.pathname.slice(1)), 563 clientID: '28173b6f255de5669f75', 564 clientSecret: '29e73beb9e3ea797b86446d0cdc682011b302a6a', 565 repo: 'gitalk', 566 owner: 'OrangeX4', 567 admin: ['OrangeX4'], 568 distractionFreeMode: 'false', 569 language: 'zh-CN' 570 }); 571 gitalk.render('gitalk-container'); 572} 573 574if (false) { 575 loadGitalk(); 576} else { 577 window.addEventListener('DOMContentLoaded', loadGitalk, false); 578}</script>
578<script src="/js/utils.js?v=2.6.1"></script>
578<script src="/js/stun-boot.js?v=2.6.1"></script>
578<script src="/js/scroll.js?v=2.6.1"></script>
578<script src="/js/header.js?v=2.6.1"></script>
578<script src="/js/sidebar.js?v=2.6.1"></script>
578<script type="application/json" src="/search.json"></script>
578</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.