\documentclass[12pt,a4paper]{article} % ============================================================ % 中文技术文档模板 % 建议在 Overleaf 中使用 XeLaTeX 编译 % ============================================================ \usepackage[UTF8]{ctex} \usepackage[margin=2.5cm]{geometry} \usepackage{titlesec} \usepackage{fancyhdr} \usepackage{listings} \usepackage{xcolor} \usepackage{graphicx} \usepackage{amsmath} \usepackage{amssymb} \usepackage{booktabs} \usepackage{longtable} \usepackage{tabularx} \usepackage{array} \usepackage{enumitem} \usepackage{tcolorbox} \usepackage{setspace} \usepackage{url} \usepackage{hyperref} \tcbuselibrary{skins,breakable} % ============================================================ % 页面设置 % ============================================================ \geometry{ a4paper, left=2.5cm, right=2.5cm, top=2.5cm, bottom=2.5cm } \onehalfspacing \setlength{\parindent}{2em} \setlength{\parskip}{0.3em} \setlength{\emergencystretch}{2em} \setlist[itemize]{ itemsep=0.2em, topsep=0.4em } \setlist[enumerate]{ itemsep=0.2em, topsep=0.4em } \setcounter{tocdepth}{2} \setcounter{secnumdepth}{3} % ============================================================ % 文档信息占位符 % ============================================================ \newcommand{\doctitle}{CODEXDOCUMENTTITLE} \newcommand{\docsubtitle}{CODEXDOCUMENTSUBTITLE} \newcommand{\projectname}{CODEXPROJECTNAME} \newcommand{\docauthor}{CODEXDOCUMENTAUTHOR} \newcommand{\docversion}{CODEXDOCUMENTVERSION} \newcommand{\docdescription}{CODEXDOCUMENTDESCRIPTION} % ============================================================ % 颜色 % ============================================================ \definecolor{primaryblue}{RGB}{35,85,145} \definecolor{secondaryblue}{RGB}{65,105,170} \definecolor{codebg}{RGB}{247,248,250} \definecolor{codeframe}{RGB}{205,210,218} \definecolor{codegreen}{RGB}{40,130,80} \definecolor{codegray}{RGB}{110,115,125} \definecolor{codepurple}{RGB}{145,70,165} \definecolor{warningorange}{RGB}{210,125,30} \definecolor{softgray}{RGB}{245,245,245} % ============================================================ % 页眉页脚 % ============================================================ \pagestyle{fancy} \fancyhf{} \fancyhead[L]{\small\doctitle} \fancyhead[R]{\small\leftmark} \fancyfoot[C]{\thepage} \renewcommand{\headrulewidth}{0.4pt} \renewcommand{\footrulewidth}{0pt} % ============================================================ % 标题格式 % ============================================================ \titleformat{\section} {\Large\bfseries\color{primaryblue}} {\thesection} {1em} {} [\titlerule] \titleformat{\subsection} {\large\bfseries\color{secondaryblue}} {\thesubsection} {1em} {} \titleformat{\subsubsection} {\normalsize\bfseries} {\thesubsubsection} {1em} {} % ============================================================ % 表格 % ============================================================ \newcolumntype{Y}{>{\raggedright\arraybackslash}X} \renewcommand{\arraystretch}{1.25} % ============================================================ % 代码样式 % ============================================================ \lstdefinestyle{codestyle}{ backgroundcolor=\color{codebg}, commentstyle=\color{codegreen}, keywordstyle=\color{primaryblue}\bfseries, numberstyle=\tiny\color{codegray}, stringstyle=\color{codepurple}, basicstyle=\ttfamily\footnotesize, breakatwhitespace=false, breaklines=true, captionpos=b, keepspaces=true, numbers=left, numbersep=8pt, showspaces=false, showstringspaces=false, showtabs=false, tabsize=4, frame=single, rulecolor=\color{codeframe}, columns=fullflexible } \lstdefinestyle{commandstyle}{ backgroundcolor=\color{codebg}, basicstyle=\ttfamily\footnotesize, breaklines=true, frame=single, rulecolor=\color{codeframe}, numbers=none, columns=fullflexible } \lstdefinelanguage{json}{ basicstyle=\ttfamily\footnotesize, string=[s]{"}{"}, stringstyle=\color{codepurple}, comment=[l]{//}, commentstyle=\color{codegreen}, keywords={true,false,null}, keywordstyle=\color{primaryblue}\bfseries } \lstset{style=codestyle} % ============================================================ % 信息框 % ============================================================ \newtcolorbox{infobox}[2][]{ enhanced, breakable, colback=blue!4!white, colframe=primaryblue, fonttitle=\bfseries, title={#2}, #1 } \newtcolorbox{warningbox}[2][]{ enhanced, breakable, colback=orange!5!white, colframe=warningorange, fonttitle=\bfseries, title={#2}, #1 } \newtcolorbox{filebox}[2][]{ enhanced, breakable, colback=softgray, colframe=gray!65!black, fonttitle=\bfseries\ttfamily, title={文件:#2}, #1 } \newtcolorbox{functionbox}[2][]{ enhanced, breakable, colback=blue!2!white, colframe=secondaryblue, fonttitle=\bfseries\ttfamily, title={函数:#2}, #1 } \newtcolorbox{qabox}[2][]{ enhanced, breakable, colback=blue!4!white, colframe=primaryblue, fonttitle=\bfseries, title={问题:#2}, #1 } \newtcolorbox{answerbox}[1][]{ enhanced, breakable, colback=green!4!white, colframe=green!55!black, leftrule=4pt, #1 } % ============================================================ % 行内代码 % ============================================================ \newcommand{\code}[1]{\texttt{\detokenize{#1}}} % ============================================================ % 超链接 % ============================================================ \hypersetup{ colorlinks=true, linkcolor=primaryblue, urlcolor=primaryblue, citecolor=green!50!black, bookmarks=true, bookmarksnumbered=true, pdftitle={\doctitle}, pdfauthor={\docauthor} } % ============================================================ % 文档正文 % ============================================================ \begin{document} % ============================================================ % 封面 % ============================================================ \begin{titlepage} \centering \vspace*{2.8cm} {\Huge\bfseries\color{primaryblue}\doctitle\par} \vspace{0.7cm} {\Large\docsubtitle\par} \vspace{2cm} \rule{\linewidth}{0.6mm} \vspace{1cm} \begin{tabular}{rl} \textbf{项目或主题:} & \projectname \\[0.6em] \textbf{作者:} & \docauthor \\[0.6em] \textbf{日期:} & \today \\[0.6em] \textbf{版本:} & \docversion \end{tabular} \vspace{1cm} \rule{\linewidth}{0.6mm} \vfill \begin{minipage}{0.85\textwidth} \centering \small \docdescription \end{minipage} \end{titlepage} % ============================================================ % 目录 % ============================================================ \tableofcontents \newpage % ============================================================ % 正文占位符 % ============================================================ CODEXDOCUMENTBODY \end{document}