latex|算法algorithm宏包和注意事項

LaTeX 中 algorithm 環境完整指南

在科研論文里,寫清楚算法步驟通常需要用到 偽代碼環境。最常見的選擇有兩個包:

  • algorithm2e —— 功能最強大,適合期刊/學位論文
  • algorithmicx + algpseudocode —— 更靈活、可定制,常用于會議模板

1?? 常用包的選擇

  1. algorithm2e

    \usepackage[ruled,vlined]{algorithm2e}
    
    • ruled:算法標題在上方,并有橫線
    • vlined:每行后加豎線(折線效果),用來表示語句塊作用域
    • linesnumbered :為每一行添加行號
    • 提供 \KwIn, \KwOut, \For, \If, \While 等高階命令
    • 自帶行號、自動縮進、美觀
  2. algorithmicx + algpseudocode

    \usepackage{algorithm}
    \usepackage{algpseudocode}
    
    • algorithm 負責浮動體,類似 figure/table
    • algpseudocode 提供命令,比如 \State, \If, \For
    • 優點:高度可控,適合需要精細排版的場景

2?? 基本結構

algorithm2e 示例

\begin{algorithm}[!t]\SetAlgoLined\caption{Power Allocation Algorithm}\KwIn{User set $\mathcal{U}$, channel gains $h_u$, total power $P$}\KwOut{Optimal power allocation $\{p_u\}$}Initialize $p_u \gets 0$ for all $u$\;\For{each user $u \in \mathcal{U}$}{Compute priority weight $w_u$\;\If{$w_u > \text{threshold}$}{Allocate power $p_u \gets f(h_u, w_u)$\;}}\Return $\{p_u\}$
\end{algorithm}

在這里插入圖片描述

algorithmicx + algpseudocode 示例

\begin{algorithm}[!t]
\caption{Power Allocation Algorithm}
\begin{algorithmic}[1]
\Require User set $\mathcal{U}$, channel gains $h_u$, total power $P$
\Ensure Optimal power allocation $\{p_u\}$\State Initialize $p_u \gets 0$ for all $u$
\For{each user $u \in \mathcal{U}$}\State Compute priority weight $w_u$\If{$w_u > \text{threshold}$}\State Allocate power $p_u \gets f(h_u, w_u)$\EndIf
\EndFor
\State \Return $\{p_u\}$
\end{algorithmic}
\end{algorithm}

在這里插入圖片描述


3?? 注意事項

🔹 (1) 包沖突問題

  • 有些模板(如 IEEEtran)自帶 algorithm 環境,可能會和 algorithm2e 沖突
  • 解決方法:如果用 algorithm2e,建議 \usepackage[linesnumbered,ruled,vlined]{algorithm2e} 并避免同時加載 algorithmicx

🔹 (2) 算法位置控制

  • \begin{algorithm}[!t] —— 強制浮動到頁面頂部
  • [!h] —— 盡量放在當前位置
  • [!b] —— 底部

🔹 (3) 行號 & 標題規范

  • 行號:algorithm2e\SetAlgoNlRelativeSize{-1} 調整大小
  • 標題:最好簡潔,避免超過一行
  • 如果論文模板要求“Algorithm 1: xxx”,需檢查 期刊模板 是否自帶樣式

🔹 (4) 中英文混排

  • 建議輸入輸出統一用 \KwIn\KwOut,保持一致
  • 中文論文里標題可寫中文,但正文盡量保持英文變量與符號

🔹 (5) 長算法分頁

  • algorithm2e 自帶分頁支持
  • algorithmicx 需要加 \usepackage{algcompatible} 來避免分頁問題

🔹 (6) 折線(豎線)控制

  • algorithm2e 里,折線由 vlined 選項決定
  • 如果不想要折線,有兩種方法:

全局關閉:在導言區去掉 vlined

\usepackage[ruled]{algorithm2e}

局部關閉:在某個算法內部用命令

\SetVline{false}

需要恢復時再寫

\SetVline{true}

👉 這樣你可以靈活決定:有的算法直觀用折線表示作用域,有的算法則更簡潔無豎線。


4?? 小技巧

  • 偽代碼中寫注釋

    \tcp{This is a comment in algorithm2e}
    % or
    \Comment{This is a comment in algpseudocode}
    
  • 多行輸入/輸出

    \KwIn{$\mathcal{U}$: set of users, $P$: total power}
    \KwOut{Optimal allocation $\{p_u\}$}
    
  • 強制換行
    algorithm2e 里用 \;


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

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

相關文章

純Qt結合ffmpeg實現本地攝像頭采集/桌面采集/應用程序窗口采集/指定采集幀率和分辨率等

一、前言說明 ffmpeg的功能真的是包羅萬象,除了基本的編解碼,還有個專門的avdevice模塊用來對本地設備的采集支持,最開始用到ffmpeg采集本地攝像頭的緣由,還不是因為Qt不給力,Qt5開始有個qcamera類,但是只…

【論文筆記】Multi-Agent Based Character Simulation for Story Writing

論文信息 論文標題: Multi-Agent Based Character Simulation for Story Writing - In2Writing 2025 論文作者: Tian Yu, Ken Shi, Zixin Zhao, Gerald Penn 論文鏈接: https://aclanthology.org/2025.in2writing-1.9/ 論文領域:…

GaussianLSS

背景 BEV感知能夠聚合多個傳感器輸入得到統一的空間表征,在3D感知、下游應用以及跨模態融合中發揮重要作用。現有的BEV感知分為2D反投影(LSS)以及3D投影(BEVFormer),其中3D投影依賴于3D體素的投影&#xff…

衛生許可證識別技術:通過OCR與NLP實現高效合規管理,提升審核準確性與效率

在食品安全、公共衛生管理日益重要的今天,衛生許可證成為企業合規經營的關鍵憑證。傳統人工審核方式效率低、易出錯,而衛生許可證識別技術應運而生,正逐步革新監管與合規流程。下面深入解析這項技術的核心要素。核心技術原理衛生許可證識別本…

【habitat學習一】Habitat-Lab 配置鍵文檔詳解(CONFIG_KEYS.md)

該文件是 Habitat-Lab(Facebook Research 開發的 Embodied AI 模擬框架)的核心配置文檔,詳細定義了 Habitat 配置系統(基于 OmegaConf)中所有可配置參數的層級結構、默認值、取值范圍及功能說明。以下內容嚴格按文件結…

AI-調查研究-55-機器人 百年進化史:從Unimate到人形智能體的技術躍遷

點一下關注吧!!!非常感謝!!持續更新!!! 🚀 AI篇持續更新中!(長期更新) AI煉丹日志-31- 千呼萬喚始出來 GPT-5 發布!“快的…

【python實用小腳本-190】Python一鍵刪除PDF任意頁:輸入頁碼秒出干凈文件——再也不用在線裁剪排隊

Python一鍵刪除PDF任意頁:輸入頁碼秒出干凈文件——再也不用在線裁剪排隊 PDF刪頁, 零依賴腳本, 命令行秒用, 小白神器, 瑞士軍刀 故事開場:一把瑞士軍刀救了你 周一早高峰,老板發來 200 頁 PDF: “把第 18、25、37 頁刪掉&#x…

RH134 運行容器知識點

1. 相比較虛擬機,容器有哪些技術優勢?答:輕量級:容器共享宿主操作系統的內核,比虛擬機更輕量級,啟動速度更快,資源占用更少。高效性:容器可以快速部署和擴展,適合于微服務…

亞矩陣云手機智能定位:助力Snapchat矩陣賬號的本地化內容運營穿透技術

——構建跨地理圍欄的智能社交營銷網絡**??一、技術架構&#xff1a;動態定位引擎與多維度穿透體系??動態定位引擎??多源信號融合定位?&#xff1a;集成GPS/基站/WiFi三角定位技術&#xff0c;通過亞矩陣云手機底層驅動注入真實坐標數據&#xff08;誤差<5米&#xf…

數據處理和統計分析 —— Pandas 基礎(附數據集)

目錄 一、概述 &#xff08;一&#xff09;series 1、組成 2、創建方式 3、Series常用屬性 &#xff08;二&#xff09;DataFrame 1、組成&#xff1a; 2、構建方式 &#xff08;三&#xff09;數據導入和導出 二、加載數據集 加載部分數據 loc / iloc 三、分組和聚合計算 需求…

github 如何在 readme 顯示Star History

在GitHub的README文件中顯示Star History&#xff08;星標歷史&#xff09;圖表&#xff0c;可以通過以下幾種方式實現&#xff1a; 使用Star History服務 你可以使用Star History服務來生成并嵌入星標歷史圖表 。具體步驟如下&#xff1a; 訪問 Star History 網站: https:/…

安全防范方案

一、基于地理位置的訪問控制&#xff08;核心方案&#xff09; 原理&#xff1a;通過內置GeoIP數據庫或第三方IP庫識別訪問源國家/地區&#xff0c;動態攔截非目標區域IP。 配置步驟&#xff1a; 啟用GeoIP模塊 登錄管理控制臺 → 安全策略 → 地理位置策略 → 加載MaxMind Ge…

Python爬蟲實戰:研究optimesh庫,構建Github網格數據采集系統

1. 引言 1.1 研究背景與意義 在計算機輔助設計(CAD)、有限元分析(FEA)、計算流體力學(CFD)等領域,網格作為離散化連續空間的基礎載體,其質量直接影響數值模擬的精度與效率。高質量的網格應具備單元形狀規則、分布均勻、邊界貼合度高等特征,而低質量網格可能導致計算…

利用Qwen大模型進行c++11并發庫的學習,與時俱進!!!!

文章目錄 1、學習新的東西可以借助ai和官方文檔 1.1 會問問題 異步編程教程 1. std::future 2. std::shared_future 3、std::promise 4、4. std::packaged_task 5. std::async 6. std::future_status 和等待函數 綜合代碼 總結 1、學習新的東西可以借助ai和官方文檔 因為別人寫…

曲面/線 擬合gnuplot

1. 下載gnuplot windows 版&#xff0c;安裝&#xff0c;&#xff08;別的綠色的可能下載即用&#xff0c;推薦下面鏈接這款&#xff09; gnuplot - Browse Files at SourceForge.net 2. 準備數據&#xff0c;存成data.dat或者其它文件名稱&#xff0c;放桌面 數據內容如下…

CentOS Linux 7 (Core)上部署Oracle 11g、19C RAC詳細圖文教程

一、部署參考鏈接&#xff1a; 墨天輪數據庫社區 - 樂知樂享&#xff0c;同心共濟 實戰篇&#xff1a;一步步教你 Linux 7 安裝 Oracle 11GR2 RAC 實戰篇&#xff1a;Linux7 安裝 Oracle 19C RAC 詳細圖文教程 Linux7 安裝 Oracle 19C RAC 詳細圖文教程

WebSocket DevTools 開發調試工具完全指南 – 實時監控、消息攔截、性能分析一站式解決方案

概述 WebSocket DevTools 是一款專為 WebSocket 連接調試而設計的瀏覽器開發者工具擴展。它提供了實時監控、消息攔截、連接管理等功能&#xff0c;幫助開發者快速定位和解決 WebSocket 相關問題。 主要特性 &#x1f50d; 實時監控&#xff1a;實時顯示 WebSocket 連接狀態…

常見的光源頻閃控制方式

一、光源頻閃的優勢消除運動模糊&#xff0c;提升成像質量 光源以極短脈沖&#xff08;微秒級&#xff09;與相機曝光嚴格同步&#xff0c;實現“瞬時凍結”高速運動物體。增強特征對比度&#xff0c;提高缺陷檢出率 頻閃模式下&#xff0c;LED可短時超負荷工作&#xff0c;峰值…

讀From GPT-2 to gpt-oss: Analyzing the Architectural Advances(續)

序 本篇由來&#xff0c;在COC上我當面感謝了組委會和姜寧老師&#xff0c;隨即被姜寧老師催稿&#xff0c;本來當天晚上寫了一個流水賬&#xff0c;感覺甚為不妥。于是決定慢慢寫&#xff0c;緩緩道來。要同時兼顧Show me the code&#xff0c;Show me the vide。希望能形成一…

6-7 TIM編碼器接口 [江科協STM32]

一、引入&#xff08;1&#xff09;編碼器接口的好處&#xff1a;節約軟件資源&#xff1a;外部中斷計次&#xff0c;程序頻繁進入中斷&#xff0c;則軟件資源會被簡單頻繁的工作給占用&#xff0c;效率不高使用定時器的編碼器接口&#xff0c;再配合編碼器&#xff0c;就可以測…