TexStudio中的Latex,PDFLatex,XeLatex和LuaLatex的區別

多種LaTeX編譯器

一、多種LaTeX編譯器

1.1?PDFLaTeX(1994年

  • 默認、最常用的引擎。

  • 輸入文件通常是 ASCII 或 UTF-8 編碼(但中文需要 CJK 宏包或 ctex 宏包支持)。

  • 字體選擇受限:只能使用 TeX 自帶的字體或者 Type 1 格式的字體(TTF/OTF 字體不能直接使用)。

  • 優點:穩定、速度快、兼容性好,很多模板(尤其是期刊/會議)要求用它

  • 缺點:對多語言(特別是中文、日文、韓文等)和系統字體支持差。

Optima這種復雜的現代字體不像是PDFLaTeX可以編譯出來的。

1.2?Xe? LaTeX(2004年

  • 基于 XeTeX 引擎,原生支持 Unicode,直接支持 UTF-8 輸入(不用額外的宏包)。

  • 可以通過 fontspec 宏包直接調用操作系統字體(如宋體、Times New Roman)。

  • 對多語言排版支持好,特別適合 中文、日文、韓文

  • 缺點:比 PDFLaTeX 編譯稍慢,有些老的宏包可能兼容性不好。

1.3?LuaLaTeX(2007年

  • 基于 LuaTeX 引擎,和 XeLaTeX 一樣支持 Unicode + 系統字體

  • 內置 Lua 腳本語言,允許用戶在編譯過程中寫 Lua 腳本,做自定義處理(如復雜的排版邏輯)。

  • 對 OpenType 字體特性支持更好(連字、變體字形等)。

  • 優點:靈活、現代化,適合需要擴展功能的場景(比如復雜排版、自動化處理)。

  • 缺點:速度較慢,生態相對新,部分模板可能不完全兼容。

lua語言在工業數據采集中具有重要應用

1.4?選擇建議

  • 寫英文論文、默認模板 → 用 PDFLaTeX(最快、最穩定)。

  • 寫中文/多語言 → 推薦 XeLaTeX(最簡單,直接調用系統字體)。

  • 需要復雜排版/編程擴展 → 用 LuaLaTeX

  • 一些期刊/出版社會強制要求 PDFLaTeX,因為它兼容性最好。

二、文本編譯專業知識

2.1 三大編碼

ASCII全稱American Standard Code for Information Interchange,說白了就是美國人用的計算機編碼方式;

Unicode 是一個字符編碼標準,旨在為世界上所有書寫系統的字符分配唯一的編碼。它支持全球幾乎所有的書寫系統,涵蓋了多種語言的字符,包括拉丁字母、漢字、日文假名、希臘字母等;

為世界上所有書寫系統的字符分配唯一的編碼

UTF-8是Unicode 的一種編碼方式,兼容 ASCII。

2.2?Type 1?TTF/OTF

Type 1 是 Adobe 公司開發的一種字體格式,也被稱為 PostScript Type 1 字體,主要用于 打印機排版系統

TTF全稱TrueType 是由 AppleMicrosoft 開發的一種字體格式,旨在提供與 Type 1 字體類似的功能,但具有更好的兼容性和可操作性。

OTF全稱OpenType 是由 MicrosoftAdobe 共同開發的字體格式,它是 TrueType 字體的擴展,加入了更多的功能和更強的跨平臺兼容性。

Optima 字體

Optima 字體是 OpenType (OTF) 字體格式的一種,比較適合用LuaLaTeX進行編譯。

2.3 Lua語言

來自百度百科:

Lua?[1]?是一個小巧的腳本語言。它是巴西里約熱內盧天主教大學(Pontifical Catholic University of Rio de Janeiro)里的一個由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo三人所組成的研究小組于1993年開發的。 其設計目的是為了通過靈活嵌入應用程序中從而為應用程序提供靈活的擴展和定制功能。Lua由標準C編寫而成,幾乎在所有操作系統和平臺上都可以編譯、運行。Lua并沒有提供強大的庫,這是由它的定位決定的。所以Lua不適合作為開發獨立應用程序的語言。Lua 有一個同時進行的JIT項目,提供在特定平臺上的即時編譯功能。

標題

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/95831.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/95831.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/95831.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

容器化部署:用Docker封裝機器翻譯模型與服務詳解

文章目錄一、機器翻譯容器化的技術棧選型1.1 為什么需要容器化MT模型?1.2 基礎鏡像選擇對比1.3 典型依賴分層方案1.4 性能對比(容器化 vs 原生部署)二、關鍵部署模式2.1 輕量級API服務封裝2.2 模型熱更新策略三、Docker鏡像構建3.1 編寫Docke…

leetcode_42 接雨水

1. 題意 給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之后能接多少雨水。 2. 題解 這個題不會做,全部是看得題解捏。 不過能看懂題解感覺自己也很棒了! 看完題解后感覺最難的是如何求出有多少…

Spring Boot 整合 Thymeleaf 模板引擎:從零開始的完整指南

引言:為什么選擇 Thymeleaf? Thymeleaf 是一個現代化的服務器端 Java 模板引擎,專為 Web 開發而設計。與 JSP 不同,Thymeleaf 模板是純 HTML 文件,可以直接在瀏覽器中預覽,無需后端服務器支持。這種"…

pytest介紹(python測試框架)(@pytest.mark.parametrize、@pytest.fixtures)

文章目錄**1. 核心特點**- **簡潔易用**:無需復雜的配置,只需編寫簡單的函數或類即可進行測試。- **豐富的斷言**:直接使用 Python 內置的 assert 語句,失敗時提供詳細的錯誤信息。- **自動發現測試**:通過約定的命名規…

[Python 基礎課程]繼承

在 Python 的面向對象編程(OOP)中,繼承(Inheritance) 是一種重要的機制,它允許一個類(稱為子類或派生類)從另一個類(稱為父類、基類或超類)中繼承屬性和方法。…

QT之設計器組件功能(8大類55個組件)

組件名稱 功能描述關鍵屬性1. Layouts(布局組件)(1) Vertical Layout(垂直布局)將子控件按垂直方向依次排列layoutSpacing:控件之間的間距layoutMargin:布局邊緣的邊距layoutStretch:設置各控件…

java中list的api詳細使用

在Java中,List是集合框架中最常用的接口之一,繼承自Collection,代表有序、可重復的元素集合(允許null元素)。其核心實現類有ArrayList(數組實現,隨機訪問高效)、LinkedList&#xff…

Azure AI Search 探索總結

Azure AI Search 原名 Azure Cognitive Service,是Azure中用來給AI項目構建知識庫的組件。知識庫本質和數據庫很像,但是內部的存儲結構和檢索算法不一樣。比如并不是知識庫的每一列都可以用來過濾、檢索或group by,而是要根據實際情況配置。A…

高效解決 pip install 報錯 SSLError: EOF occurred in violation of protocol

高效解決 pip install 報錯 SSLError: EOF occurred in violation of protocol 標簽: Python, pip, SSLError, Clash, 網絡代理, 問題解決 一、問題描述 在Python開發中,pip 是我們最親密的伙伴。然而,當你身處需要科學上網的環境&#xff0c…

CSS 核心知識點全解析:從基礎到實戰應用

大家好!今天這篇文章將系統總結 CSS 的核心知識點,從最基礎的樣式引入到復雜的選擇器應用,再到盒子模型、文本處理等實戰技巧,全程結合代碼示例,讓你輕松掌握 CSS 的精髓。一、CSS 是什么?為什么需要它&…

ClickHouse的學習與了解

什么是ClickHouse? ClickHouse是一個用于聯機分析(OLAP)的列式數據庫管理系統(DBMS)。 在傳統的行式數據庫系統中,數據按如下順序存儲:RowWatchIDJavaEnableTitleGoodEventEventTime#0893543506621Investor Relations12016/5/18 5:19#1903295…

安卓11 12系統修改定制化_____修改系統 解鎖system分區 去除data加密 自由刪減系統應用

在定制化系統中。修改系統分區 解鎖system。讓用戶可以自由刪減應用。這個在定制化服務中比較常見。對于此項修改服務。需要我們了解基礎的分區常識以及常用的幾種基礎修改步驟。 通過博文了解?????? 1??????-----修改rom 解鎖 system 分區有什么意義 2????…

JetPack系列教程(八):PDF庫——讓Android應用也能優雅“翻頁”

JetPack系列教程(八):PDF庫——讓Android應用也能優雅“翻頁” 在Android開發的世界里,加載PDF文件一直是個讓人又愛又恨的“小妖精”。愛它,因為PDF是文檔界的“萬能鑰匙”;恨它,因為原生Andr…

Three.js三大組件:場景(Scene)、相機(Camera)、渲染器(Renderer)

上一篇中我們學習了第一個Three.js場景"Hello World"。這一篇就來學習three.js的核心組件。 此圖來源(Three.js中文網) three.js的核心由三大組件構成:場景(Scene)、相機(Camera)和渲染器(Renderer)。下面我將詳細介紹這三大件的作…

AI幻覺終結之后:GPT-5開啟的“可靠性”新賽道與開發者生存指南

摘要: Sam Altman關于GPT-5將基本終結幻覺的宣告,不僅僅是一次技術升級,它標志著一個“萬物皆可AI,但萬事皆需驗證”的混亂時代的結束。本文將從一個全新的戰略視角出發,探討當“可靠性”取代“創造性”成為AI競賽的核…

ubuntu遠程桌面很卡怎么解決?

服務端方案 完成XRDP的性能優化配置: 1. 首先檢查當前的xrdp.ini文件 grep -n "tcp_send_buffer_bytes" /etc/xrdp/xrdp.ini2. 編輯xrdp.ini文件,修改TCP發送緩沖區大小 sudo sed -i s/#tcp_send_buffer_bytes32768/tcp_send_buffer_bytes4194…

[Linux] Linux系統負載監控 Linux服務管理

目錄 Linux系統負載監控 系統負載介紹 查看系統負載 負載解讀 top 命令 Linux服務管理 systemd 介紹 系統啟動管理進程 基本概念 systemd 架構 unit 類型 查看 unit 列表信息 查看單個 unit 信息 控制系統服務 systemctl 命令 unit 配置文件 例:開發…

vector 手動實現 及遇到的各種細節問題

之前對vector的一些功能使用了一下 接下來手動實現一下vector vector的實現和string還是有不小區別的 有很多地方都有細節的問題不同于string的成員變量一個指針一個size一個capacity的成員變量 vector里面存的是三個迭代器iterator 這的迭代器其實就是模版T的指針 這樣就…

OpenStack Neutron中的L2 Agent與L3 Agent:新手友好指南

引言:云網絡的幕后英雄 在當今的云計算世界中,OpenStack作為開源云平臺的佼佼者,為成千上萬的企業提供了靈活、可擴展的基礎設施服務。而在OpenStack的眾多組件中,Neutron(網絡服務)扮演著至關重要的角色—…

【自用】JavaSE--特殊文件Properties與XML、日志技術

特殊文件概述使用特殊文件可以存儲多個有關系的數據,作為系統的配置信息屬性文件類似于鍵值對,一一對應存儲數據(比如用戶名與密碼)XML文件存儲多個用戶的多個屬性更適合,適合存儲更復雜的數據Properties注:這個屬性文件的后綴即使…