【工具篇-LaTeX】LaTeX语法

【工具篇-LaTeX】LaTeX语法

文章目录

  • 【工具篇-LaTeX】LaTeX语法
    • 1 快速入门
      • 1.1 简介
      • 1.2 入门示例
        • 1.2.1 导言和正文
        • 1.2.2 环境
    • 2 基础知识
      • 2.1 命令
      • 2.2 文档类
      • 2.3 宏包
      • 2.4 文件组织
        • 2.4.1 载入文件
        • 2.4.2 插入文件
      • 2.5 LaTeX工程中的文件
    • 3 文字排版
      • 3.1 语言支持
        • 3.1.1 编码
        • 3.1.2 中文支持
      • 3.2 注释
      • 3.3 字符
        • 3.3.1 空白符
        • 3.3.2 英文符号
        • 3.3.3 转义字符
      • 3.4 文字强调
      • 3.5 分页换行
    • 4 文档元素
      • 4.1 章节目录
        • 4.1.1 章节标题
        • 4.1.2 目录
        • 4.1.3 文档结构划分
      • 4.2 标题页
      • 4.3 交叉引用
      • 4.4 脚注和边注
      • 4.5 环境
        • 4.5.1 列表
        • 4.5.2 对齐
        • 4.5.3 引用
        • 4.5.4 代码
        • 4.5.5 其他
      • 4.6 表格
        • 4.6.1 列格式
        • 4.6.2 列宽
        • 4.6.3 横线
        • 4.6.4 合并单元格
        • 4.6.5 嵌套
        • 4.6.6 行距
      • 4.7 图片
      • 4.8 盒子
      • 4.9 浮动体
        • 4.9.1 标题
    • 5 公式排版
      • 5.1 数学符号
        • 5.1.1 一般符号
        • 5.1.2 上下标和导数
        • 5.1.3 分式和根式
        • 5.1.4 常规运算符
        • 5.1.5 关系运算符
        • 5.1.6 巨算符
        • 5.1.7 重音和上下括号
        • 5.1.8 箭头
        • 5.1.9 括号和定界符
      • 5.2 多行公式
        • 5.2.1 长公式换行
        • 5.2.2 多行公式
      • 5.3 数组和矩阵
        • 5.3.1 二维数组
        • 5.3.2 矩阵
      • 5.4 公式中的间距
      • 5.5 字体
        • 5.5.1 字体
        • 5.5.2 尺寸
        • 5.5.3 加粗
      • 5.6 定理
    • 6 排版样式
      • 6.1 字体
        • 6.1.1 字体
        • 6.1.2 字号
      • 6.2 段落
        • 6.2.1 长度单位
        • 6.2.2 行距
        • 6.2.3 段落格式
        • 6.2.4 水平间距
        • 6.2.5 垂直间距
      • 6.3 页面
        • 6.3.1 页面参数
        • 6.3.2 内容垂直对齐
        • 6.3.3 分栏
        • 6.3.4 页眉页脚
    • 7 特色工具
      • 7.1 参考文献:BIBTEX工具
        • 7.1.1 BiBTeX数据库
        • 7.1.2 BiBTeX样式
      • 7.2 索引:makeindex工具
      • 7.3 颜色
        • 7.3.1 自定义颜色
        • 7.3.2 带颜色文本
        • 7.3.3 带颜色盒子
      • 7.4 超链接
      • 7.5 PDF
        • 7.5.1 书签
        • 7.5.2 文档属性
    • 8 自定义
      • 8.1 命令
        • 8.1.1 定义新命令
        • 8.1.2 重定义命令
      • 8.2 环境
        • 8.2.1 定义新环境
        • 8.2.2 重定义环境
      • 8.3 宏包和文档类
        • 8.3.1 编写文档类
        • 8.3.2 编写宏包
      • 8.4 计数器
        • 8.4.1 定义计数器
        • 8.4.2 修改计数器
        • 8.4.3 修改输出格式
      • 8.5 可定制命令和参数
        • 8.5.1 标题名称/前后缀等
        • 8.5.2 长度
    • 参考资料

1 快速入门

1.1 简介

TeX的源代码是扩展名为.tex的纯文本文件,可以使用任意文本编辑器打开、编辑器

LaTeX排版格式(对应引擎)有:LaTeX(TeX)pdfLaTeX(pdfTeX)XeLaTeX(XeTeX)LuaLaTeX(LuaTeX),其中只有XeLaTeX(XeTeX)支持中文

1.2 入门示例

\documentclass{article}
\usepackage[utf8]{ctex}

\title{入门示例}
\author{timemiser}
\date{May 2022}

\begin{document}

\maketitle

\section{Introduction}

\end{document}

下面对该示例进行说明:

文档类型

  • \documentclass{article}设置文档类型为article

导入宏包

  • \usepackage[utf8]{ctex}导入中文字体宏包ctex

其他

  • \title{入门示例}\author{timemiser}\date{May 2022}分别添加文章标题、作者和时间,需要添加后面的\maketitle才能显示
  • \section{Introduction}用于添加正文中的节
1.2.1 导言和正文
  • 导言:从\documentclass开始到\begin{document}之前的命令语句称为导言
  • 正文:从\begin{document}开始到\end{document}之间的命令语句称为正文
1.2.2 环境

环境用以令效果在局部生效,或者生成特殊的文档元素

\begin{}
...
\end{}
  • 参数
    • :环境类型

2 基础知识

2.1 命令

LaTeX中命令以反斜线\开头,并忽略其后的所有连续空格

\[]{}
  • 说明

    • :命令名

    • :有三种格式:

      1. [opt1][opt2]...

      2. [opt1, opt2, ...]

      3. [opt1=item1, opt2=item2, ...]

        其中,第一种格式的选项顺序不可互换,后两种格式的选项顺序可以互换

    • :顺序不可任意交换

2.2 文档类

\documentclass[]{}
  • 参数

    • :文档类的选项,可以全局地规定一些排版参数,如如字号、纸张大小、单双面、单双栏等
    • :文档类的名称
  • 常用的文档类(对应的中文文档类)有以下几种:

    • article(ctexart):小篇幅的文章
    • report(ctexrep):中篇幅的报告
    • book(ctexbook):长篇幅的书籍

    中文文类也可以通过导入ctex(中文字体)宏包、ctexcap(中文标题)宏包实现(宏包见下文)

2.3 宏包

\usepackage[]{}
  • 参数
    • :宏包的选项
    • :宏包的名称;可以同时调用多个宏包,使用逗号隔开

2.4 文件组织

2.4.1 载入文件
\includeonly{, , ...}
  • 参数

    • :文件名(相对或绝对路径),可以不带扩展名(默认为.tex
  • 说明:

    • 该命令用于在导言区中只载入某些文件,如果文件不在列表内,正文中的插入文件命令不生效
2.4.2 插入文件
\include{}  % 另起一页插入文件内容

\input{}  % 当前位置插入文件内容
  • 参数
    • :文件名(相对或绝对路径),可以不带扩展名(默认为.tex

2.5 LaTeX工程中的文件

基本

  • .sty:宏包文件。宏包的名称与文件名一致
  • .cls:文档类文件。文档类的名称与文件名一致
  • .bib:BIBTEX参考文献数据库文件
  • .bst:BIBTEX用到的参考文献格式模板

辅助

  • .log:排版引擎生成的日志文件,供排查错误使用
  • .aux:LATEX生成的主辅助文件,记录交叉引用、目录、参考文献的引用等
  • .toc:LATEX生成的目录记录文件
  • .lof:LATEX生成的图片目录记录文件
  • .lot:LATEX生成的表格目录记录文件
  • .bbl:BIBTEX生成的参考文献记录文件
  • .blg:BIBTEX生成的日志文件
  • .idx:LATEX生成的供makeindex处理的索引记录文件
  • .ind:makeindex处理.idx生成的用于排版的格式化索引文件
  • .ilg:makeindex生成的日志文件
  • .out:hyperref宏包生成的PDF书签记录文件

3 文字排版

3.1 语言支持

3.1.1 编码

latex和pdflatex下可以使用inputenc设置编码为UTF-8

\usepackage[utf8]{inputenc}
3.1.2 中文支持
  • 方式一:使用xeCJK宏包,命令为

    \usepackage{xeCJK}
    
  • 方式二:使用ctex宏包,命令为

    \usepackage{ctex}
    
  • 方式三:使用中文文档类,命令为

    \documentclass{ctexart}
    

3.2 注释

命令 含义 说明
% 单行注释 该字符到行末所有字符被忽略(回车也不引入空格)
\iffalse\fi 多行注释 分别标识注释的开始和结束

3.3 字符

3.3.1 空白符
命令 字符 说明
SpaceTab或行末Enter 空格 1. 连续的空格视为一个空格
2. 行开头的空格忽略不计
\quad 空格 1中文字符宽度的空格
\qquad 空格 2中文字符宽度的空格
\ +Space 空格 1 / 3字符宽度的空格
连续两个及以上Enter 分段 1. 即源码中空行
2. 多个空行视为一个空行
\par 分段 写在行末
3.3.2 英文符号
命令 字符
`` ’` 单引号
`` "` 双引号
... 省略号
\ldots\dots 省略号
fffiflffiffl 连字符
3.3.3 转义字符
命令 字符
\+# #
\+$ $
\+% %
\+{ {
\+} }
\+^ ^
\+~ ~
\+_ _
\textunderscore _
\textbackslash \

3.4 文字强调

命令 含义 说明
\underline{content} 下划线 content为添加下划线的文字内容
\uline 下划线 1. 需要导入宏包ulem
2. 可以为多个单词和换行添加下划线
\emph 斜体 嵌套使用\emph则取消斜体

3.5 分页换行

命令 含义 说明
\\[] 换行 1. 写在行末
2. 可以带参数,设置与下一行的垂直间距
3. 用于表格、公式等位置
\newline 换行 1. 不可以带参数
2. 用于文本段落中
\newpage 分页 1. 写在页末
2. 在双栏排版中另起一栏
\clearpage 分页 写在页末

4 文档元素

4.1 章节目录

4.1.1 章节标题
命令 含义 说明
\chapter{}</code></td> <td align="center">章</td> <td align="center">1. 只在<code>book</code>和<code>report</code>文档类中有定义<br>2. <title>为章标题</td> </tr> <tr> <td align="center"><code>\section{<title>}</code></td> <td align="center">节</td> <td align="center"><title>为节标题</td> </tr> <tr> <td align="center"><code>\subsection{<title>}</code></td> <td align="center">一级子节</td> <td align="center"><title>为一级子节标题</td> </tr> <tr> <td align="center"><code>\subsubsection{<title>}</code></td> <td align="center">二级子节</td> <td align="center"><title>为二级子节标题</td> </tr> <tr> <td align="center"><code>\paragraph{<title>}</code></td> <td align="center">段落</td> <td align="center"><title>为段落标题</td> </tr> <tr> <td align="center"><code>\subparagraph{<title>}</code></td> <td align="center">子段落</td> <td align="center"><title>为子段落标题</td> </tr> <tr> <td align="center"><code>\part{<title>}</code></td> <td align="center">部分</td> <td align="center">1. 用来将文档分为大块,但是不影响<code>chapter</code>和<code>section</code>的编号<br>2. <title>为子段落标题</td> </tr> </tbody> </table> <ul> <li>说明 <ul> <li>默认带编号的层级: <ul> <li>artical文档类默认为<code>\section</code>、<code>\subsection</code>和<code>subsubsection</code>三级</li> <li>report/book文档类默认为<code>\chapter</code>、<code>\section</code>和<code>subsection</code>三级</li> </ul> </li> <li>标准文档类没有提供为章节命令定制格式的功能,该功能可由<code>titlesec</code>宏包实现</li> </ul> </li> <li>扩展 <ul> <li>带可选参数的变体:<code>\<command>[<short-title>]{<title>}</code>(<command>为章节命令)含义为标题中使用<title>参数,目录和页眉页脚中使用<short-title>参数</li> <li>带<code>*</code>的变体:<code>\<command>*{<title>}</code>(<command>为章节命令)含义为标题不带编号,也不生成目录项和页眉页脚</li> </ul> </li> </ul> <h5>4.1.2 目录</h5> <pre><code class="prism language-latex">\tableofcontents </code></pre> <ul> <li> <p>说明</p> <ul> <li>正确生成目录项一般需要编译两次源代码</li> <li>该命令生成的目录默认不包含带<code>*</code>的章节标题,该功能可使用<code>tocbibind</code>等宏包修改设置</li> </ul> </li> <li> <p>扩展</p> <ul> <li> <p>如果使用了带<code>*</code>的章节标题,但是需要生成该章节的目录项,可以在标题命令后使用命令</p> <pre><code class="prism language-latex">\addcontentsline{toc}{<level>}{<title>} </code></pre> </li> </ul> </li> </ul> <h5>4.1.3 文档结构划分</h5> <table> <thead> <tr> <th align="center">命令</th> <th align="center">含义</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\appendix</code></td> <td align="center">附录</td> <td align="center">附录部分使用拉丁字母编号</td> </tr> <tr> <td align="center"><code>\frontmatter</code></td> <td align="center">前言</td> <td align="center">前言部分使用小写拉丁字母编号,其前的<code>\chapter</code>不编号</td> </tr> <tr> <td align="center"><code>\mainmatter</code></td> <td align="center">正文</td> <td align="center">正文部分使用阿拉伯数字编号</td> </tr> <tr> <td align="center"><code>\backmatter</code></td> <td align="center">后记</td> <td align="center">后记部分页码格式不变,继续正常计数,其后的<code>\chapter</code>不编号</td> </tr> </tbody> </table> <h4>4.2 标题页</h4> <table> <thead> <tr> <th align="center">命令</th> <th align="center">含义</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\title{<title>}</code></td> <td align="center">标题(必须)</td> <td align="center">没有标题会报错</td> </tr> <tr> <td align="center"><code>\author{<author>}</code></td> <td align="center">作者(必须)</td> <td align="center">没有作者会警告</td> </tr> <tr> <td align="center"><code>\date{<date>}</code></td> <td align="center">时间</td> <td align="center"><code>\date</code>默认使用当前时间(<code>\today</code>命令自动生成当前时间)</td> </tr> </tbody> </table> <ul> <li> <p>说明</p> <ul> <li> <p>默认成页</p> <ul> <li>article文档类的标题默认不单独成页</li> <li>report和book默认单独成页</li> </ul> <p>可以在<code>\documentclass</code>命令调用文档类时指定 <code>titlepage</code>/<code>notitlepage</code>选项修改是否单独成页</p> </li> </ul> </li> <li> <p>扩展</p> <ul> <li><code>\title</code>和<code>\author</code>命令内可以使用<code>\thanks</code>命令生成标题也的脚注,多个人名之间使用<code>\and</code>隔开</li> </ul> </li> </ul> <h4>4.3 交叉引用</h4> <ul> <li> <p>步骤</p> <ol> <li> <p>在能够被交叉引用的地方(章节、公式、图标、定理等位置)使用<code>\label</code>命令</p> <pre><code class="prism language-latex">\label{<label-name>} </code></pre> </li> <li> <p>在其他地方使用<code>\ref</code>或<code>\pageref</code>命令,分别生成交叉引用的编号和页码</p> <pre><code class="prism language-latex">\ref{<label-name} % 生成交叉引用的编号 \pageref{<label-name} % 生成交叉引用的页码 </code></pre> </li> </ol> </li> <li> <p>说明</p> <ul> <li>正确生成交叉引用,一般需要多次编译源代码</li> <li>可以使用的位置有 <ul> <li>章节标题命令之后</li> <li>行内公式的任意位置</li> <li>多行公式每一行的任意位置</li> <li>有序列表环境一个<code>\item</code>之后和下一个<code>\item</code>之前</li> <li>图表标题命令之后</li> <li>定理环境内部任意位置</li> </ul> </li> <li>使用不带编号的命令时不要使用<code>\label</code>命令,否则会引用编号不正确</li> </ul> </li> </ul> <h4>4.4 脚注和边注</h4> <table> <thead> <tr> <th align="center">命令</th> <th align="center">含义</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\footnote{<note>}</code></td> <td align="center">脚注</td> <td align="center">在某些情况(表格环境、盒子内)下,使用<code>\footnote</code>不能生成脚注,此时需要使用扩展方法(见扩展)</td> </tr> <tr> <td align="center"><code>\marginpar[<left-note>]{<right-note>}</code></td> <td align="center">边注</td> <td align="center">如果只给定了<right-note>,则奇偶数页边注都使用<right-note>;如果同时给定了<left-note>,则偶数页边注使用<left-note></td> </tr> </tbody> </table> <ul> <li>扩展 <ul> <li>当<code>\footnote</code>失效时,可以通过一下两个步骤生成脚注: <ol> <li>使用<code>\footnotemark</code>为脚注计数</li> <li>再合适的位置使用<code>\footnotetext</code>生成脚注</li> </ol> </li> </ul> </li> </ul> <h4>4.5 环境</h4> <blockquote> <p>Note:前文提到过通过<env>来确定环境类型</p> </blockquote> <h5>4.5.1 列表</h5> <table> <thead> <tr> <th align="center">环境关键字</th> <th align="center">含义</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center"><code>enumerate</code></td> <td align="center">有序列表</td> <td align="center">自动对列表项编号</td> </tr> <tr> <td align="center"><code>itemize</code></td> <td align="center">无序列表</td> <td align="center">不对列表项编号</td> </tr> <tr> <td align="center"><code>description</code></td> <td align="center">自定义列表</td> <td align="center">列表项<code>\item</code>后的可选参数必填,以粗体显示</td> </tr> </tbody> </table> <ul> <li> <p>说明</p> <ul> <li>列表可以嵌套使用,最多嵌套四级</li> <li>列表默认的间距较宽,可通过<code>enumitem</code>宏包定制列表间距</li> </ul> </li> <li> <p>扩展</p> <ul> <li> <p><strong>列表项</strong></p> <pre><code class="prism language-latex">\item[<ch>] ... </code></pre> <ul> <li><ch>:自定义符号,可以将有序列表的计数或无序列表的符号替换成自定义的符号</li> </ul> </li> <li> <p>列表符号重定义</p> <ul> <li>无序列表:列表符号由<code>\labelitemi</code>和<code>\labelitemiv</code>定义,可通过它们重新定义</li> <li>有序列表:列表符号由<code>\labelenumi</code>和<code>\labelenumiv</code>定义,可通过它们重新定义</li> </ul> </li> </ul> </li> </ul> <h5>4.5.2 对齐</h5> <table> <thead> <tr> <th align="center">环境关键字</th> <th align="center">含义</th> </tr> </thead> <tbody> <tr> <td align="center"><code>flushleft</code></td> <td align="center">左对齐</td> </tr> <tr> <td align="center"><code>center</code></td> <td align="center">居中</td> </tr> <tr> <td align="center"><code>flushright</code></td> <td align="center">右对齐</td> </tr> </tbody> </table> <ul> <li> <p>扩展</p> <ul> <li> <p>对齐命令</p> <table> <thead> <tr> <th align="center">命令</th> <th align="center">含义</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\raggedleft</code></td> <td align="center">左对齐</td> </tr> <tr> <td align="center"><code>\centering</code></td> <td align="center">居中对齐</td> </tr> <tr> <td align="center"><code>\raggedright</code></td> <td align="center">右对齐</td> </tr> </tbody> </table></li> <li> <p>对齐环境和命令的区别</p> <ul> <li>对齐环境会在上下文产生一个额外间距;对齐命令不会在上下文产生额外间距,只改变对齐方式</li> </ul> </li> </ul> </li> </ul> <h5>4.5.3 引用</h5> <table> <thead> <tr> <th align="center">环境关键字</th> <th align="center">含义</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center"><code>quote</code></td> <td align="center">短引用</td> <td align="center">首行不缩进</td> </tr> <tr> <td align="center"><code>quotation</code></td> <td align="center">长引用</td> <td align="center">首行缩进</td> </tr> <tr> <td align="center"><code>verse</code></td> <td align="center">诗歌引用</td> <td align="center">首行悬挂缩进</td> </tr> </tbody> </table> <ul> <li>说明 <ul> <li>和一般文字相比,引用环境一般有额外左右缩进</li> </ul> </li> </ul> <h5>4.5.4 代码</h5> <table> <thead> <tr> <th align="center">环境关键字</th> <th align="center">含义</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center"><code>verbatim</code></td> <td align="center">代码</td> <td align="center">空格和回车正常显示</td> </tr> <tr> <td align="center"><code>verbatim*</code></td> <td align="center">代码</td> <td align="center">空格显示成<code>␣</code></td> </tr> </tbody> </table> <ul> <li> <p>说明</p> <ul> <li><code>verbatim</code>宏包提供了<code>\verbatiminput</code>命令来直接从文件中生成代码环境;<code>fancyvrb</code>宏包提供了可定制格式的<code>Verbatim</code>环境;<code>listings</code>宏包可生成关键字高亮的代码环境</li> </ul> </li> <li> <p>扩展</p> <ul> <li> <p>代码命令</p> <pre><code class="prism language-latex">\verb<delim><code><delim> </code></pre> <ul> <li><delim>:标明代码的分界位置,前后必须一致,除字母、空格或星号外可以任意选择(不与代码冲突)</li> </ul> </li> <li> <p>区别</p> <ul> <li><code>\verb</code>命令一般不能用作其他命令的参数</li> </ul> </li> </ul> </li> </ul> <h5>4.5.5 其他</h5> <table> <thead> <tr> <th align="center">环境关键字</th> <th align="center">含义</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center"><code>abstract</code></td> <td align="center">摘要</td> <td align="center">—</td> </tr> <tr> <td align="center"><code>algorithm</code></td> <td align="center">算法</td> <td align="center">需要调用<code>algorithm</code>或<code>algorithmic</code>宏包</td> </tr> </tbody> </table> <h4>4.6 表格</h4> <pre><code class="prism language-latex">\begin{tabular}{⟨col-spec⟩} ⟨item1⟩ & ⟨item2⟩ & … \\ \hline ⟨item1⟩ & ⟨item2⟩ & … \\ \end{tabular} </code></pre> <ul> <li>参数 <ul> <li><col-spec>:列格式标记,详细介绍见下文</li> <li><itemN>:单元格内容</li> </ul> </li> </ul> <p>其中,<code>&</code>用来分隔单元格;<code>\\</code>用来换行;<code>\hline</code>:绘制行与行之间的横线</p> <ul> <li> <p>说明</p> <ul> <li>直接使用<code>tabular</code>环境会导致表格和周围文字的混排,解决方法为 <ol> <li>使用<code>table</code>浮动体环境(可使用<code>\caption</code>命令添加标题)</li> <li>将<code>tabular</code>环境放置在<code>table</code>环境中</li> </ol> </li> </ul> </li> </ul> <h5>4.6.1 列格式</h5> <table> <thead> <tr> <th align="center">列格式</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center">l / c / r</td> <td align="center">单元格内容左对齐/居中/右对齐,不自动换行</td> </tr> <tr> <td align="center">p{}</td> <td align="center">单元格宽度固定为<width>,自动换行</td> </tr> <tr> <td align="center">|</td> <td align="center">绘制单元格竖线</td> </tr> <tr> <td align="center">@{}</td> <td align="center">自定义内容<string></td> </tr> </tbody> </table> <ul> <li>说明 <ul> <li>表格中每行的单元格数目不能多于列格式里l / c / r / p的总数(可以少于),否则报错</li> <li>@格式可在单元格前后插入任意文本,同时消除单元格前后额外添加的间距。@格式可以适当使用充当竖线。特别的,<code>@{}</code>可直接用来消除单元格前后的间距</li> </ul> </li> <li>扩展 <ul> <li>简写格式:<code>*{<n>}{<col-spec>}</code>表示<col-spec>指定的内容重复<n>次</li> <li><code>array</code>宏包 <ul> <li>辅助格式<code>></code>和<code><</code>用于给列格式前后加上修饰命令</li> <li><code>p</code>格式的<code>m</code>和<code>b</code>格式,分别表示垂直方向上顶端对齐、居中和底端对齐</li> </ul> </li> </ul> </li> </ul> <h5>4.6.2 列宽</h5> <ul> <li><code>tarbularx</code>宏包提供了<code>X</code>格式,这种格式会自动计算列宽,并且多个X列格式平均分配列宽</li> </ul> <h5>4.6.3 横线</h5> <table> <thead> <tr> <th align="center">命令</th> <th align="center">含义</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\hline</code></td> <td align="center">横线</td> </tr> <tr> <td align="center"><code>\cline{<i>-<j>}</code></td> <td align="center">跨越单元格<i>-<j>的横线</td> </tr> </tbody> </table> <ul> <li> <p>扩展</p> <ul> <li> <p>三线表:<code>booktabs</code>宏包提供</p> <table> <thead> <tr> <th align="center">命令</th> <th align="center">含义</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\toprule</code></td> <td align="center">顶部横线</td> </tr> <tr> <td align="center"><code>\midrule</code></td> <td align="center">中部横线</td> </tr> <tr> <td align="center"><code>\bottomrule</code></td> <td align="center">底部横线</td> </tr> <tr> <td align="center"><code>\cmidrule{<i>-<j>}</code></td> <td align="center">跨越单元格<i>-<j>的横线</td> </tr> </tbody> </table></li> </ul> </li> </ul> <h5>4.6.4 合并单元格</h5> <p><strong>合并列</strong></p> <pre><code class="prism language-latex">\multicolumn{<n>}{<col-spec>}{<content>} </code></pre> <ul> <li> <p>参数</p> <ul> <li> <p><n>:要合并的列数</p> </li> <li> <p><col-spec>:合并后的列格式,只允许出现一个<code>l / c / r</code> 或 <code>p</code>格式。如果合并前的单元格前后带有表格线<code>|</code>,合并后的列格式也要带有表格线<code>|</code></p> </li> <li> <p><content>:合并后的内容</p> </li> </ul> </li> </ul> <p><strong>合并行</strong></p> <pre><code class="prism language-latex">\multirow{<n>}{<width>}{<content>} </code></pre> <ul> <li> <p>参数</p> <ul> <li> <p><n>:要合并的行数</p> </li> <li> <p><width>:合并后的宽度</p> </li> <li> <p><content>:合并后的内容</p> </li> </ul> </li> </ul> <h5>4.6.5 嵌套</h5> <ul> <li>在单元格中嵌套一个小表格可以拆分单元格 <ul> <li>注意:需要使用<code>\multicolumn</code>命令配合<code>@{}</code>格式可以把单元格的额外边距去掉,使得嵌套的表格线能和外层的表格线正确相连</li> <li>扩展如果不需要为拆分的单元格画线,并且指在垂直方向上拆分时,可以使用<code>makecell</code>宏包提供的<code>\makecell</code>命令</li> </ul> </li> </ul> <h5>4.6.6 行距</h5> <ul> <li>方式一:修改参数<code>\arraystretch</code></li> <li>方式二:给换行命令<code>\\</code>添加可选参数 <ul> <li>适用在行间不加横线的表格</li> <li>下一行的第一个单元格中不能使用<code>[]</code>(将<code>[]</code>放在<code>{}</code>内)</li> </ul> </li> </ul> <h4>4.7 图片</h4> <ul> <li> <p>步骤</p> <ol> <li> <p>设置编译器</p> <ul> <li><code>LaTeX</code> + <code>dvipdfmx</code>:调用宏包时需要指定<code>dvipdfmx</code>选项6</li> <li><code>pdfLaTeX/XeLaTeX</code>:无需设置</li> </ul> </li> <li> <p>调用<code>graphicx</code>宏包</p> </li> <li> <p>插入图片</p> <pre><code class="prism language-latex">\includegraphics[<options>]{<filename>} </code></pre> <ul> <li> <p><options>:选项,常用的参数如下</p> <table> <thead> <tr> <th align="center">参数</th> <th align="center">含义</th> </tr> </thead> <tbody> <tr> <td align="center"><code>width=<width></code></td> <td align="center">将图片宽度设置为<width></td> </tr> <tr> <td align="center"><code>height=<height></code></td> <td align="center">将图片高度设置为<height></td> </tr> <tr> <td align="center"><code>scale=<scale></code></td> <td align="center">将图片缩放为<scale>倍</td> </tr> <tr> <td align="center"><code>angle=<angle></code></td> <td align="center">将图片逆时针旋转<angle>度</td> </tr> </tbody> </table></li> <li> <p><filename>:图片文件名(路径名)</p> </li> </ul> </li> </ol> </li> <li> <p>扩展</p> <ul> <li><code>\graphicspath</code>命令用于声明一个或多个图片文件存放的目录,使用这些目录的图片时可以直接写文件名</li> </ul> </li> </ul> <h4>4.8 盒子</h4> <blockquote> <p>盒子时LaTeX排版的基本元素:每一行是一个盒子,里面的文字从左到右依次排列;每一页也是一个盒子,各行文字从上到下排列</p> </blockquote> <table> <thead> <tr> <th align="center">命令</th> <th align="center">含义</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\mbox{...}</code></td> <td align="center">水平盒子</td> <td align="center">内容只有一行,不允许分段</td> </tr> <tr> <td align="center"><code>\makebox[<width>][<align>]{...}</code></td> <td align="center">水平盒子</td> <td align="center">1. 内容只有一行,不允许分段<br>2. <width>:盒子的宽度<br>3. <align>:内容的对齐方式(可选择<code>l(左对齐)</code>、<code>c(居中)</code>、<code>r(右对齐)</code>和<code>s(分散对齐))</code></td> </tr> <tr> <td align="center"><code>\fbox{...}</code></td> <td align="center">带边框的水平盒子</td> <td align="center">同<code>\mbox</code></td> </tr> <tr> <td align="center"><code>\framebox[<width>][<align]{...}</code></td> <td align="center">带边框的水平盒子</td> <td align="center">同<code>\makebox</code></td> </tr> <tr> <td align="center"><code>\parbox[<align>][<height>][<inner-align>]{<width>}{...}</code></td> <td align="center">垂直盒子</td> <td align="center">1. <align>:盒子和周围文字的对其情况<br>2. <height>:盒子的高度<br>3. <inner-align>:内容的对齐方式(可选择t<code>(顶部对齐)</code>、<code>c(居中)</code>、<code>b(底部对齐)</code>和<code>s(分散对齐))</code><br>4. <width>:盒子的宽度</td> </tr> <tr> <td align="center"><code>\rule[<raise>]{<width>}{<height>}</code></td> <td align="center">标尺盒子</td> <td align="center">1.<raise>:相对于基线提高的高度(可正可负)<br>2. <width>:盒子的宽度<br>3. <height>:盒子的高度</td> </tr> </tbody> </table> <h4>4.9 浮动体</h4> <blockquote> <p>浮动体的内容可以脱离上下文,放置在合适的位置</p> </blockquote> <pre><code class="prism language-latex">\begin{<env>}[<placement>] ... \end{<env>} </code></pre> <ul> <li> <p>参数</p> <ul> <li><env>:表示浮动体的类型,可以是<code>figure</code>或<code>table</code></li> <li><placement>:使用一些符号来表示浮动体允许排版的位置,默认位置为<code>[tbp]</code></li> </ul> <table> <thead> <tr> <th align="center">参数</th> <th align="center">含义</th> </tr> </thead> <tbody> <tr> <td align="center">h</td> <td align="center">当前位置</td> </tr> <tr> <td align="center">t</td> <td align="center">顶部</td> </tr> <tr> <td align="center">b</td> <td align="center">底部</td> </tr> <tr> <td align="center">p</td> <td align="center">单独成页</td> </tr> <tr> <td align="center">!</td> <td align="center">决定位置时忽略限制</td> </tr> </tbody> </table></li> <li> <p>说明</p> <ul> <li>排版位置与参数顺序无关,<code>LaTeX</code>总是以<code>h-t-b-p</code>的优先级决定浮动提的位置</li> <li>限制浮动提的个数(每页不超过3个,其中顶部不超过2个,底部不超过1个)和浮动体占页面的比例(默认顶部不超过70%,底部不超过30%)</li> <li><code>\clearpage</code>命令会在另起一页前将所有推迟处理的浮动体排版成页,忽略<code>htbp</code>等位置参数</li> <li><code>float</code>宏包提供的浮动提位置参数<code>H</code>会取消浮动机制(将浮动体视为一般盒子),不能与<code>htbp!</code>混用</li> </ul> </li> <li> <p>扩展</p> <ul> <li>双栏排版环境下,<code>table*</code>和<code>figure*</code>环境用来排版跨栏的浮动体,此时<placement>参数只能使用<code>tp</code>两个参数</li> </ul> </li> </ul> <h5>4.9.1 标题</h5> <table> <thead> <tr> <th align="center">命令</th> <th align="center">含义</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\caption{<title>}</code></td> <td align="center">带编号标题</td> <td align="center"><title>:浮动体标题</td> </tr> <tr> <td align="center"><code>\caption*{<title>}</code></td> <td align="center">不带编号标题</td> <td align="center"><title>:浮动体标题</td> </tr> <tr> <td align="center"><code>\caption[<short-title>]{<title>}</code></td> <td align="center">带短标题的标题</td> <td align="center">1.<title>:浮动体标题<br>2. <short-title>:目录中浮动体短标题</td> </tr> </tbody> </table> <ul> <li> <p>扩展</p> <ul> <li>交叉引用:<code>\caption</code>后可以跟<code>\label</code>命令标记交叉引用</li> <li>标题前缀:修改<code>\figurename</code>和<code>\tablename</code>的内容可以修改浮动体的标题前缀</li> <li>生成目录:<code>\listoftables</code>和<code>\listoffigures</code>课可以生成浮动体格子的目录</li> </ul> </li> </ul> <h3>5 公式排版</h3> <table> <thead> <tr> <th align="center">命令(环境)</th> <th align="center">含义</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center"><code>$...$</code></td> <td align="center">行内公式</td> <td align="center">—</td> </tr> <tr> <td align="center"><code>equation</code>环境</td> <td align="center">带编号的行间公式</td> <td align="center">1. 可以使用<code>\label</code>和<code>\ref</code>生成交叉引用<br>2. <code>amsmath</code>的<code>\eqref</code>命令为引用自动添加圆括号;<code>\tag</code>命令手动修改公式编号;<code>\notag</code>命令取消公式编号(等效于<code>\nonumber</code>)</td> </tr> <tr> <td align="center"><code>equation*</code>环境</td> <td align="center">不带编号的行间公式</td> <td align="center">—</td> </tr> <tr> <td align="center"><code>displaymath</code>环境</td> <td align="center">不带编号的行间公式</td> <td align="center">—</td> </tr> <tr> <td align="center"><code>\[...\]</code></td> <td align="center">不带编号的行间公式</td> <td align="center">—</td> </tr> </tbody> </table> <ul> <li>说明 <ul> <li>数学公式排版需要导入<code>amsmath</code>(核心)、<code>amsfonts</code>、<code>amssymb</code>和<code>amsthm</code>等宏包</li> <li>行间公式的对齐、编号位置等有文档类选项控制:<code>fleqn</code>选项控制公式左对齐,<code>leqno</code>控制编号放在公式左边</li> <li>数学模式 <ul> <li>输入的空格被忽略。符号间的间距由符号的性质决定</li> <li>不允许有空行(分段),无法使用<code>\\</code>命令手动换行</li> <li>所有字母当作数学公式中的变量处理,字母间距与文本模式不一致,也无法生成单词间的空格。如果需要输入整体文本,可以使用<code>\mathrm</code>命令或<code>amsmath</code>的<code>\text</code>命令</li> </ul> </li> </ul> </li> </ul> <h4>5.1 数学符号</h4> <h5>5.1.1 一般符号</h5> <table> <thead> <tr> <th align="center">命令</th> <th align="center">符号</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\alpha</code></td> <td align="center">α</td> </tr> <tr> <td align="center"><code>\beta</code></td> <td align="center">β</td> </tr> <tr> <td align="center"><code>\Gamma</code></td> <td align="center">Γ</td> </tr> <tr> <td align="center"><code>\Delta</code></td> <td align="center">Δ</td> </tr> <tr> <td align="center"><code>\infty</code></td> <td align="center">∞</td> </tr> <tr> <td align="center"><code>\dots</code>或<code>\ldots</code></td> <td align="center">…</td> </tr> <tr> <td align="center"><code>\cdots</code></td> <td align="center">⋯</td> </tr> <tr> <td align="center"><code>\vdots</code></td> <td align="center">⋮</td> </tr> <tr> <td align="center"><code>\ddots</code></td> <td align="center">⋱</td> </tr> </tbody> </table> <h5>5.1.2 上下标和导数</h5> <table> <thead> <tr> <th align="center">命令</th> <th align="center">符号</th> </tr> </thead> <tbody> <tr> <td align="center"><code>^</code></td> <td align="center">上标</td> </tr> <tr> <td align="center"><code>_</code></td> <td align="center">下标</td> </tr> <tr> <td align="center"><code>'</code></td> <td align="center">导数</td> </tr> </tbody> </table> <ul> <li>说明 <ul> <li>上下标只作用于其后的一个符号</li> <li>如果需要将多个符号作为上下标,需要将其放在花括号中</li> </ul> </li> </ul> <h5>5.1.3 分式和根式</h5> <table> <thead> <tr> <th align="center">命令</th> <th align="center">符号</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\frac{<molecular>}{<denominator>}</code></td> <td align="center">分式</td> </tr> <tr> <td align="center"><code>\sqrt{<base>}</code></td> <td align="center">算术平方根</td> </tr> <tr> <td align="center"><code>\sqrt[<n>]{<base>}</code></td> <td align="center">平方根</td> </tr> </tbody> </table> <ul> <li>参数 <ul> <li><molecular>:分子</li> <li><denominator>:分母</li> <li><base>:底数</li> <li><n>:次数</li> </ul> </li> <li>扩展 <ul> <li><code>\dfrac</code>命令表示行内正常大小的分式,<code>\tfrac</code>表示行内非正常大小的分式</li> </ul> </li> </ul> <h5>5.1.4 常规运算符</h5> <table> <thead> <tr> <th align="center">命令</th> <th align="center">符号</th> </tr> </thead> <tbody> <tr> <td align="center"><code>+、-、*、=</code></td> <td align="center">+、-、*、=</td> </tr> <tr> <td align="center"><code>\times</code></td> <td align="center">×</td> </tr> <tr> <td align="center"><code>\div</code></td> <td align="center">÷</td> </tr> <tr> <td align="center"><code>\cdot</code></td> <td align="center">·</td> </tr> <tr> <td align="center"><code>\pm</code></td> <td align="center">±</td> </tr> <tr> <td align="center"><code>\mp</code></td> <td align="center">∓</td> </tr> <tr> <td align="center"><code>\div</code></td> <td align="center">÷</td> </tr> <tr> <td align="center"><code>\nabla</code></td> <td align="center">∇</td> </tr> <tr> <td align="center"><code>\partial</code></td> <td align="center">∂</td> </tr> <tr> <td align="center"><code>\pmod</code>或<code>\bmod</code></td> <td align="center">求模</td> </tr> </tbody> </table> <ul> <li> <p>扩展</p> <ul> <li> <p>常用函数</p> <pre><code class="prism language-latex">\<func> </code></pre> <ul> <li>参数 <ul> <li><func>:函数名,包括三角函数、双曲三角函数、指数函数、对数函数、最值、上下界、极限、行列式等</li> </ul> </li> </ul> </li> <li> <p>自定义运算符</p> <pre><code class="prism language-latex">\DeclareMathOperator{\argh}{argh} % 带上下限的运算符 \DeclareMathOperator*{\nut}{Nut} % 带上下限的运算符 </code></pre> </li> </ul> </li> </ul> <h5>5.1.5 关系运算符</h5> <table> <thead> <tr> <th align="center">命令</th> <th align="center">符号</th> </tr> </thead> <tbody> <tr> <td align="center"><code>>、<</code></td> <td align="center">>、<</td> </tr> <tr> <td align="center"><code>\ge</code></td> <td align="center">≥</td> </tr> <tr> <td align="center"><code>\le</code></td> <td align="center">≤</td> </tr> <tr> <td align="center"><code>\ne</code></td> <td align="center">≠</td> </tr> <tr> <td align="center"><code>\approx</code></td> <td align="center">≈</td> </tr> <tr> <td align="center"><code>\equiv</code></td> <td align="center">≡</td> </tr> <tr> <td align="center"><code>\propto</code></td> <td align="center">∝</td> </tr> <tr> <td align="center"><code>\sim</code></td> <td align="center">∼</td> </tr> </tbody> </table> <h5>5.1.6 巨算符</h5> <table> <thead> <tr> <th align="center">命令</th> <th align="center">符号</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\sum</code></td> <td align="center">∑</td> </tr> <tr> <td align="center"><code>\prod</code></td> <td align="center">∏</td> </tr> <tr> <td align="center"><code>\int</code></td> <td align="center">∫</td> </tr> <tr> <td align="center"><code>\oint</code></td> <td align="center">∮</td> </tr> </tbody> </table> <ul> <li>说明 <ul> <li>巨算符在行内公式和行间公式中的大小和形状不同</li> <li><code>\limits</code>使得上下标位于上下方,<code>\limits</code>使得上下标位于右上、右下方</li> </ul> </li> <li>扩展 <ul> <li><code>\substack</code>命令可以在下限位置书写多行表达式,<code>\subarray</code>可以指定多行表达式的对齐方式</li> </ul> </li> </ul> <h5>5.1.7 重音和上下括号</h5> <table> <thead> <tr> <th align="center">命令</th> <th align="center">符号</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\dot</code></td> <td align="center">单点重音</td> </tr> <tr> <td align="center"><code>\ddot</code></td> <td align="center">双点重音</td> </tr> <tr> <td align="center"><code>\vec</code>或<code>\overrightarrow</code></td> <td align="center">向量箭头</td> </tr> <tr> <td align="center"><code>\hat</code></td> <td align="center">上尖括号</td> </tr> <tr> <td align="center"><code>\overline</code></td> <td align="center">上划线</td> </tr> <tr> <td align="center"><code>\underline</code></td> <td align="center">下划线</td> </tr> <tr> <td align="center"><code>\widehat</code></td> <td align="center">宽重音</td> </tr> <tr> <td align="center"><code>\overbrace</code></td> <td align="center">上括号</td> </tr> <tr> <td align="center"><code>\underbrace</code></td> <td align="center">下括号</td> </tr> </tbody> </table> <h5>5.1.8 箭头</h5> <table> <thead> <tr> <th align="center">命令</th> <th align="center">符号</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\leftarrow</code>或<code>\gets</code></td> <td align="center">←</td> </tr> <tr> <td align="center"><code>\rightarrow</code>或<code>\to</code></td> <td align="center">→</td> </tr> <tr> <td align="center"><code>\xleftarrow</code></td> <td align="center">可伸展的左箭头</td> </tr> <tr> <td align="center"><code>\xrightarrow</code></td> <td align="center">可伸展的右箭头</td> </tr> </tbody> </table> <h5>5.1.9 括号和定界符</h5> <table> <thead> <tr> <th align="center">命令</th> <th align="center">符号</th> </tr> </thead> <tbody> <tr> <td align="center"><code>()</code></td> <td align="center">()</td> </tr> <tr> <td align="center"><code>[]</code></td> <td align="center">[]</td> </tr> <tr> <td align="center"><code>\{\}</code></td> <td align="center">{}</td> </tr> <tr> <td align="center"><code>\langle\rangle</code></td> <td align="center">⟨⟩</td> </tr> </tbody> </table> <ul> <li>扩展 <ul> <li><code>\left</code>和<code>\right</code>命令可以改变定界符的大小;两者必须成对使用,包含的公式不可以换行;如果要分开使用,另一个要写成<code>\left.</code>和<code>\right.</code></li> <li><code>\big</code>、<code>\Big</code>、<code>\bigg</code>、<code>\Bigg</code>等命令可以生成固定大小的定界符。更常用的形式为<code>\bigl</code>、<code>\Bigl</code>、<code>\biggl</code>、<code>\Biggl</code>和<code>\bigr</code>、<code>\Bigr</code>、<code>\biggr</code>、<code>\Biggr</code>等,且不要求成对出现,包含的公式可以换行</li> </ul> </li> </ul> <h4>5.2 多行公式</h4> <h5>5.2.1 长公式换行</h5> <pre><code class="prism language-latex">\begin{multiline} ... \\ ... \end{multiline} </code></pre> <ul> <li>说明 <ul> <li>公式中使用<code>\\</code>命令换行</li> <li>公式的编号放在最后一行</li> <li>公式的首行左对齐、末行右对齐,其余居中</li> </ul> </li> <li>扩展 <ul> <li><code>multiline*</code>环境排版不带编号的换行长公式</li> <li>换行原则 <ul> <li>优先在等号之前换行</li> <li>其次在加减号之前换行</li> <li>再次在乘除号之前换行</li> <li>其他位置避免换行</li> </ul> </li> </ul> </li> </ul> <h5>5.2.2 多行公式</h5> <pre><code class="prism language-latex">\begin{align} ... \end{align} </code></pre> <ul> <li>说明 <ul> <li>公式使用<code>&</code>分隔为两部分并对齐,分隔符通常放在等号左边</li> <li>该环境中每个公式都会编号(可以使用<code>\notag</code>取消某行的编号)</li> <li>为了让加号对齐,需要把分隔符放在等号右边,此时需要在等号后添加一对括号<code>{}</code>以产生正常的间距</li> <li>一行有多组公式时,公式间用<code>&</code>分隔</li> </ul> </li> <li>扩展 <ul> <li>如果公式不需要等号对齐,只需罗列,可以使用<code>gather</code>环境</li> </ul> </li> </ul> <h4>5.3 数组和矩阵</h4> <h5>5.3.1 二维数组</h5> <pre><code class="prism language-latex">\begin{array} ... \end{array} </code></pre> <ul> <li>说明 <ul> <li>类似于<code>tabular</code>环境,需要定义列格式</li> <li>使用<code>\\</code>命令换行</li> </ul> </li> <li>扩展 <ul> <li>也可以使用<code>cases</code>环境实现</li> </ul> </li> </ul> <h5>5.3.2 矩阵</h5> <table> <thead> <tr> <th align="center">环境关键字</th> <th align="center">含义</th> </tr> </thead> <tbody> <tr> <td align="center"><code>matrix</code></td> <td align="center">不带定界符的矩阵</td> </tr> <tr> <td align="center"><code>pmatrix</code></td> <td align="center">带定界符<code>()</code>的矩阵</td> </tr> <tr> <td align="center"><code>bmatrix</code></td> <td align="center">带定界符<code>[]</code>的矩阵</td> </tr> <tr> <td align="center"><code>vmatrix</code></td> <td align="center">带定界符`</td> </tr> <tr> <td align="center"><code>Bmatrix</code></td> <td align="center">带定界符<code>{}</code>的矩阵</td> </tr> <tr> <td align="center"><code>Vmatrix</code></td> <td align="center">带定界符<code>‖‖</code>的矩阵</td> </tr> </tbody> </table> <h4>5.4 公式中的间距</h4> <table> <thead> <tr> <th align="center">命令</th> <th align="center">含义</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\quad</code></td> <td align="center">1个中文字符宽度的空格</td> </tr> <tr> <td align="center"><code>\qquad</code></td> <td align="center">2个中文字符宽度的空格</td> </tr> <tr> <td align="center"><code>\<Space></code></td> <td align="center">1 / 3个中文字符宽度的空格</td> </tr> <tr> <td align="center"><code>\,</code></td> <td align="center">1 / 7个中文字符宽度的空格</td> </tr> <tr> <td align="center"><code>\:</code></td> <td align="center">1 / 6个中文字符宽度的空格</td> </tr> <tr> <td align="center"><code>\;</code></td> <td align="center">1 / 3个中文字符宽度的空格</td> </tr> <tr> <td align="center"><code>\!</code></td> <td align="center">- 1/ 6个中文字符宽度的空格</td> </tr> </tbody> </table> <h4>5.5 字体</h4> <h5>5.5.1 字体</h5> <table> <thead> <tr> <th align="center">命令</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\mathnormal{<content>}</code></td> <td align="center">—</td> </tr> <tr> <td align="center"><code>\mathrm{<content>}</code></td> <td align="center">—</td> </tr> <tr> <td align="center"><code>\mathit{<content>}</code></td> <td align="center">—</td> </tr> <tr> <td align="center"><code>\mathbf{<content>}</code></td> <td align="center">—</td> </tr> <tr> <td align="center"><code>\mathsf{<content>}</code></td> <td align="center">—</td> </tr> <tr> <td align="center"><code>\mathtt{<content>}</code></td> <td align="center">—</td> </tr> <tr> <td align="center"><code>\mathcal{<content>}</code></td> <td align="center">需调用<code>eucal</code>宏包</td> </tr> <tr> <td align="center"><code>\mathscr{<content>}</code></td> <td align="center">需调用<code>mathrsfs</code>宏包</td> </tr> <tr> <td align="center"><code>\mathfrak{<content>}</code></td> <td align="center">需调用<code>amssymb</code>或<code>eufrak</code>宏包</td> </tr> <tr> <td align="center"><code>\mathbb{<content>}</code></td> <td align="center">需调用<code>amssymb</code>宏包</td> </tr> </tbody> </table> <ul> <li>参数 <ul> <li><content>:设置字体的内容</li> </ul> </li> </ul> <h5>5.5.2 尺寸</h5> <table> <thead> <tr> <th align="center">命令</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\displaystyle</code></td> <td align="center">行间公式尺寸</td> </tr> <tr> <td align="center"><code>\textstyle</code></td> <td align="center">行内公式尺寸</td> </tr> <tr> <td align="center"><code>\scriptstyle</code></td> <td align="center">上下标尺寸</td> </tr> <tr> <td align="center"><code>\scriptscriptstyle</code></td> <td align="center">次级上下标尺寸</td> </tr> </tbody> </table> <h5>5.5.3 加粗</h5> <table> <thead> <tr> <th align="center">环境关键字</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\boldsymbol</code></td> <td align="center">需调用<code>amsbsy</code>宏包</td> </tr> <tr> <td align="center"><code>\bm</code></td> <td align="center">需调用<code>bm</code>宏包</td> </tr> </tbody> </table> <h4>5.6 定理</h4> <pre><code class="prism language-latex">\newtheorem{<theorem-env>}{<title>}[<section-level>] \newtheorem{<theorem-env>}[<counter>]{<title>} </code></pre> <ul> <li> <p>参数</p> <ul> <li><theorem-env>:定理环境名称</li> <li><title>:定理环境标题</li> <li><section-level>:章节级别,定理序号为章节的下一级序号</li> <li><counter>:自定义的计数器名称</li> </ul> </li> <li> <p>说明</p> <ul> <li>默认的定理环境格式为粗体标签、斜体正文、定理名用小括号包裹</li> </ul> </li> <li> <p>扩展</p> <ul> <li> <p>使用<code>amsthm</code>宏包自定义定理格式</p> <pre><code class="prism language-latex">\theoremstyle{<style>} </code></pre> <ul> <li> <p>参数</p> <ul> <li> <p><style>:定理格式,预定义的有三种</p> <table> <thead> <tr> <th align="center">格式</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center">plain</td> <td align="center">LaTeX原始格式</td> </tr> <tr> <td align="center">definition</td> <td align="center">使用粗体标签、正体内容</td> </tr> <tr> <td align="center">remark</td> <td align="center">使用斜体标签、正体内容</td> </tr> </tbody> </table></li> </ul> </li> <li> <p>扩展</p> <ul> <li><code>\newtheoremstyle</code>命令可以自定义定理格式</li> </ul> </li> </ul> </li> <li> <p>使用<code>amsthm</code>宏包的<code>proof</code>环境排版定理的证明过程</p> <pre><code class="prism language-latex">\begin{proof} ... \end{proof} </code></pre> <ul> <li>说明 <ul> <li>环境末尾会自动添加证毕符号</li> <li>如果行末是一个不带编号的公式,符号会另起一行,可使用<code>\qedhere</code>命令将符号放在公式末尾</li> <li>证毕符号使用<code>\qedsymbol</code>命令定义,可以使用<code>\renewcommand</code>命令(见下文)进行修改</li> </ul> </li> </ul> </li> </ul> </li> </ul> <h3>6 排版样式</h3> <h4>6.1 字体</h4> <h5>6.1.1 字体</h5> <table> <thead> <tr> <th align="center">全局命令</th> <th align="center">局部命令</th> <th align="center">字体英文</th> <th align="center">字体中文</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\rmfamily</code></td> <td align="center"><code>\textrm{...}</code></td> <td align="center">roman</td> <td align="center">衬线字体(罗马体)</td> </tr> <tr> <td align="center"><code>\sffamily</code></td> <td align="center"><code>\textsf{...}</code></td> <td align="center">sans serif</td> <td align="center">无衬线字体</td> </tr> <tr> <td align="center"><code>\ttfamily</code></td> <td align="center"><code>\texttt{...}</code></td> <td align="center">typewriter</td> <td align="center">等宽字体</td> </tr> <tr> <td align="center"><code>\mdseries</code></td> <td align="center"><code>\textmd{...}</code></td> <td align="center">medium</td> <td align="center">正常粗细(中等)</td> </tr> <tr> <td align="center"><code>\bfseries</code></td> <td align="center"><code>\textbf{...}</code></td> <td align="center">bold face</td> <td align="center">粗体</td> </tr> <tr> <td align="center"><code>\upshape</code></td> <td align="center"><code>\textup{...}</code></td> <td align="center">upright</td> <td align="center">直立体</td> </tr> <tr> <td align="center"><code>\itshape</code></td> <td align="center"><code>\textit{...}</code></td> <td align="center">italic</td> <td align="center">意大利斜体</td> </tr> <tr> <td align="center"><code>\slshape</code></td> <td align="center"><code>\textsl{...}</code></td> <td align="center">slanted</td> <td align="center">倾斜体</td> </tr> <tr> <td align="center"><code>\scshape</code></td> <td align="center"><code>\textsc{...}</code></td> <td align="center">small caps</td> <td align="center">小字母大写</td> </tr> <tr> <td align="center"><code>\em</code></td> <td align="center"><code>\emph{...}</code></td> <td align="center">emphasized</td> <td align="center">强调,默认斜体</td> </tr> <tr> <td align="center"><code>\normalfont</code></td> <td align="center"><code>\textnormal{...}</code></td> <td align="center">normal font</td> <td align="center">默认字体</td> </tr> </tbody> </table> <h5>6.1.2 字号</h5> <table> <thead> <tr> <th align="center">命令</th> <th align="center">10pt选项(默认)</th> <th align="center">11pt选项</th> <th align="center">12pt选项</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\tiny</code></td> <td align="center">5pt</td> <td align="center">6pt</td> <td align="center">6pt</td> </tr> <tr> <td align="center"><code>\scriptsize</code></td> <td align="center">7pt</td> <td align="center">8pt</td> <td align="center">8pt</td> </tr> <tr> <td align="center"><code>\footnotesize</code></td> <td align="center">8pt</td> <td align="center">9pt</td> <td align="center">10pt</td> </tr> <tr> <td align="center"><code>\small</code></td> <td align="center">9pt</td> <td align="center">10pt</td> <td align="center">10.95pt</td> </tr> <tr> <td align="center"><code>\normalsize</code></td> <td align="center">10pt</td> <td align="center">10.95pt</td> <td align="center">12pt</td> </tr> <tr> <td align="center"><code>\large</code></td> <td align="center">12pt</td> <td align="center">12pt</td> <td align="center">14.4pt</td> </tr> <tr> <td align="center"><code>\Large</code></td> <td align="center">14.4pt</td> <td align="center">14.4pt</td> <td align="center">17.28pt</td> </tr> <tr> <td align="center"><code>\LARGE</code></td> <td align="center">17.28pt</td> <td align="center">17.28pt</td> <td align="center">20.74pt</td> </tr> <tr> <td align="center"><code>\huge</code></td> <td align="center">20.74pt</td> <td align="center">20.74pt</td> <td align="center">24.88pt</td> </tr> <tr> <td align="center"><code>\Huge</code></td> <td align="center">24.88pt</td> <td align="center">24.88pt</td> <td align="center">24.88pt</td> </tr> </tbody> </table> <ul> <li> <p>扩展</p> <ul> <li> <p>设置任意大小的字号的命令</p> <pre><code class="prism language-latex">\fontsize{<size>}{<base line-skip>} </code></pre> <ul> <li>如果需要作用于局部,需要使用花括号分组</li> </ul> </li> <li> <p>更改字体</p> <pre><code class="prism language-latex">% 西文字体 \setmainfont[<font-features>]{<font-name>} \setsansfont[<font-features>]{<font-name>} \setmonofont[<font-features>]{<font-name>} % 中文字体(需要导入xeCJK宏包) \setCJKmainfont[<font-features>]{<font-name>} \setCJKsansfont[<font-features>]{<font-name>} \setCJKmonofont[<font-features>]{<font-name>} </code></pre> <ul> <li><font-features>:手动配置对应的粗体和斜体的选项</li> <li><font-name>:字体的文件名(带扩展名)或字体的英文名称</li> </ul> </li> </ul> </li> </ul> <h4>6.2 段落</h4> <h5>6.2.1 长度单位</h5> <table> <thead> <tr> <th align="center">单位</th> <th align="center">含义</th> </tr> </thead> <tbody> <tr> <td align="center"><code>pt</code></td> <td align="center">点阵宽度,1 / 72.27<code>in</code></td> </tr> <tr> <td align="center"><code>bp</code></td> <td align="center">点阵宽度,1 / 72<code>in</code></td> </tr> <tr> <td align="center"><code>in</code></td> <td align="center">英寸</td> </tr> <tr> <td align="center"><code>cm</code></td> <td align="center">厘米</td> </tr> <tr> <td align="center"><code>mm</code></td> <td align="center">毫米</td> </tr> <tr> <td align="center"><code>em</code></td> <td align="center">当前字号下大写字母M的宽度,常用于水平距离的设定</td> </tr> <tr> <td align="center"><code>ex</code></td> <td align="center">当前字号下小写字母x的宽度,常用于锤子距离的设定</td> </tr> </tbody> </table> <ul> <li> <p>弹性长度:<code><base> plus <offset1> minus <offset2></code>表示[<base> - <offset2>, <base> + <offset1>],其中<base>、<offset1>和<offset2>都需要带单位</p> </li> <li> <p>长度的数值可以用长度变量本身或其倍数来表达</p> </li> <li> <p>自定义长度变量</p> <table> <thead> <tr> <th align="center">命令</th> <th align="center">含义</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\newlength{<length-name>}</code></td> <td align="center">定义长度变量</td> <td align="center"><length-name>:长度变量名</td> </tr> <tr> <td align="center"><code>\setlength{<length-name>}{<length>}</code></td> <td align="center">长度变量赋值</td> <td align="center">1. <length-name>:长度变量名<br>2. <length>:长度值</td> </tr> <tr> <td align="center"><code>\addtolength</code></td> <td align="center">增加变量长度</td> <td align="center">1. <length-name>:长度变量名<br>2. <length>:长度值</td> </tr> </tbody> </table></li> </ul> <h5>6.2.2 行距</h5> <pre><code class="prism language-latex">\linespread{<factor>} </code></pre> <ul> <li> <p>参数</p> <ul> <li><factor>:作用于行距。缺省的基础行距是1.2倍字号大小</li> </ul> </li> <li> <p>说明</p> <ul> <li>字号的改变是即时生效的,而行距的改变直到文字分段时才生效</li> </ul> </li> <li> <p>扩展</p> <ul> <li>如果要局部的改变某个段落的行距,需要使用命令<code>\selectfont</code>使<code>\linespread</code>命令立即生效</li> </ul> </li> </ul> <h5>6.2.3 段落格式</h5> <pre><code class="prism language-latex">\setlength{<format>}{<length>} </code></pre> <ul> <li> <p>参数:</p> <ul> <li><format>:缩进格式,由以下命令定义</li> </ul> <table> <thead> <tr> <th align="center">命令</th> <th align="center">含义</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\leftskip</code></td> <td align="center">左缩进</td> </tr> <tr> <td align="center"><code>\rightskip</code></td> <td align="center">右缩进</td> </tr> <tr> <td align="center"><code>\parindent</code></td> <td align="center">首行缩进</td> </tr> </tbody> </table> <ul> <li><length>:缩进的距离</li> </ul> </li> <li> <p>说明</p> <ul> <li>和行距一样,在分段时生效</li> <li>默认情况下,章节标题命令后的第一段不缩进,但是可以调用<code>indextfirst</code>宏包进行修改</li> </ul> </li> <li> <p>扩展</p> <ul> <li> <p>局部不缩进命令</p> <pre><code class="prism language-latex">\noindent </code></pre> </li> <li> <p>局部缩进命令</p> <pre><code class="prism language-latex">\indent </code></pre> <ul> <li>多个<code>\indent</code>命令可以累加缩进量</li> </ul> </li> </ul> </li> </ul> <h5>6.2.4 水平间距</h5> <pre><code class="prism language-latex">\hspace{<length>} </code></pre> <ul> <li> <p>参数</p> <ul> <li><length>:间距长度</li> </ul> </li> <li> <p>说明</p> <ul> <li>如果该命令位于一行的开头或者结尾,可能会因为换行而不显示</li> <li><code>\quad</code>和<code>\qquad</code>命令分别相当于<code>\hspace{1em}</code>和<code>\hspace{2em}</code></li> </ul> </li> <li> <p>扩展</p> <ul> <li> <p>使用<code>\hspace*</code>命令生成的间距不会应为换行而不显示</p> </li> <li> <p>弹性长度命令:基础长度为0pt,可以无限延伸直至占满可用空间(可用于水平长度和垂直长度)</p> <pre><code class="prism language-latex">\stretch{<n>} </code></pre> <ul> <li><n>:权重参数。如果一行内出现多个<code>\stretch{<n>}</code>,则这一行的所有可用空间按照权重进行分配</li> </ul> </li> </ul> </li> </ul> <h5>6.2.5 垂直间距</h5> <pre><code class="prism language-latex">\vspace{<length>} </code></pre> <ul> <li> <p>参数</p> <ul> <li><length>:间距长度</li> </ul> </li> <li> <p>说明</p> <ul> <li>如果该命令位于一页的顶端或者底端,可能会因为分页而不显示</li> <li>预定义的垂直间距:<code>\bigskip</code>、<code>\medskip</code>和<code>\smallskip</code></li> <li>该命令之引入垂直间距而不会换行,而<code>\\</code>命令在引入垂直间距的同时还会换行</li> </ul> </li> <li> <p>扩展</p> <ul> <li>使用<code>\vspace*</code>命令生成的间距不会因为分页而不显示</li> </ul> </li> </ul> <h4>6.3 页面</h4> <h5>6.3.1 页面参数</h5> <pre><code class="prism language-latex">% 方式一 \usepackage{geometry} \geometry{<geometry-settings>} % 方式二 \usepackage[<geometry-settings>]{geometry} </code></pre> <ul> <li> <p>参数</p> <ul> <li><geometry-settings>:页面参数,包括上下(垂直)左右(水平)间距等,多以键值对的形式给出</li> </ul> </li> <li> <p>说明</p> <ul> <li><code>geometry</code>宏包调用时需要注意: <ul> <li><code>LaTeX</code> + <code>dvipdfmx</code>命令下需要指定选项<code>dvipdfm</code></li> <li><code>pdfLaTeX</code>和<code>XeLaTeX</code>命令下不需要</li> </ul> </li> </ul> </li> </ul> <h5>6.3.2 内容垂直对齐</h5> <pre><code class="prism language-latex">\raggedbottom \flushbottom </code></pre> <h5>6.3.3 分栏</h5> <pre><code class="prism language-latex">% 一栏 \oneclumn % 两栏 \twocolumn[<one-column top material>] </code></pre> <ul> <li> <p>参数</p> <ul> <li><one-column top material>:双栏模式下排版一部分单栏内容</li> </ul> </li> <li> <p>说明</p> <ul> <li>切换单/双栏排版时会另起一页</li> <li>双栏模式下<code>\newpage</code>命令换栏,<code>\clearpage</code> 命令换页</li> <li>双栏排版下每一栏的宽度为<code>\columnwidth</code>,即<code>\textwidth</code> 减去<code>\columnsep</code> 的差除以2</li> <li>两栏之间有一道竖线,宽度为<code>\columnseprule</code>(默认为零)</li> </ul> </li> <li> <p>扩展</p> <ul> <li> <p>利用<code>multicol</code>宏包的环境<code>multicols</code>分栏</p> <pre><code class="prism language-latex">\begin{multicols}{<n>} ... \end{multicols} </code></pre> <ul> <li><n>:要分成的栏数</li> </ul> </li> <li> <p>说明</p> <ul> <li><code>multicol</code>宏包能够在一页中切换单栏/多栏,也能跨页分栏且栏高分布平衡</li> <li><code>multicols</code>环境中浮动体失效,只能使用跨栏的浮动体或者<code>float</code>宏包提供的<code>H</code>参数固定浮动体的位置</li> </ul> </li> </ul> </li> </ul> <h5>6.3.4 页眉页脚</h5> <pre><code class="prism language-latex">% 全局样式 \pagestyle{<page-style>} % 当前页样式 \thispagestyle{<page-style>} </code></pre> <ul> <li> <p>参数</p> <ul> <li><page-style>:页面样式,可选的样式如下</li> </ul> <table> <thead> <tr> <th align="center">样式</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center">empty</td> <td align="center">页眉页脚为空</td> </tr> <tr> <td align="center">plain</td> <td align="center">页眉为空,页脚为页码。(<code>article</code>和<code>report</code>文档类和<code>book</code>文档类第一章默认样式)</td> </tr> <tr> <td align="center">headings</td> <td align="center">页眉为章节标题和页码,页脚为空(<code>book</code>文档类默认)</td> </tr> <tr> <td align="center">myheadings</td> <td align="center">页眉为页码及<code>\markboth</code>和<code>\markright</code>命令手动指定的内容,页脚为空</td> </tr> </tbody> </table> <ul> <li>说明 <ul> <li><code>article</code> 文档类:twoside 选项偶数页为页码和节标题,奇数页为小节标题和页码;oneside 选项页眉为节标题和页码</li> <li><code>book/report </code>文档类:twoside 选项偶数页为页码和章标题,奇数页为节标题和页码;oneside 选项页眉为章标题和页码</li> </ul> </li> </ul> </li> <li> <p>说明:</p> <ul> <li>默认页眉的内容全部转为大写字母,可以通过以下命令修改 <ul> <li><code>book/report</code>文档类:<code>\chaptermark</code>和<code>\sectionmark</code></li> <li><code>article</code>文档类:<code>\sectionmark</code>和<code>\subsectionmark</code></li> </ul> </li> </ul> </li> <li> <p>扩展</p> <ul> <li> <p>改变页码样式命令:每次修改后页码充值为1</p> <pre><code class="prism language-latex">\pagenumbering{<style>} </code></pre> <ul> <li><style>:页码样式,默认为arabic(阿拉伯数字),可修改为roman(小写罗马数字)、Roman(大写罗马数字)等</li> </ul> </li> <li> <p>修改页眉页脚内容命令</p> <pre><code class="prism language-latex">\markright{<right-mark>} \markboth{<left-mark>}{<right-mark>} </code></pre> <ul> <li><left-mark>:左页(偶数页)的内容</li> <li><right-mark>:右页(奇数页)的内容</li> </ul> </li> <li> <p><code>fancyhdr</code>宏包修改页眉页脚</p> <ul> <li> <p>步骤</p> <ol> <li>使用样式</li> </ol> <pre><code class="prism language-latex">\pagestyle{fancy} </code></pre> <ol start="2"> <li>定义页眉页脚</li> </ol> <table> <thead> <tr> <th align="center">命令</th> <th align="center">含义</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\fancyhf[<position>]{<content>}</code></td> <td align="center">定义页眉和页脚</td> </tr> <tr> <td align="center"><code>\fancyhead[<position>]{<content>}</code></td> <td align="center">定义页眉</td> </tr> <tr> <td align="center"><code>\fancyfoot[<position>]{<content>}</code></td> <td align="center">定义页脚</td> </tr> </tbody> </table> <ul> <li><positon>:可以是<code>L(左) / C(中) /R(右)</code>与<code>O(奇数页) / E(偶数页)</code>的字母组合</li> <li><content>:为显示的内容</li> </ul> </li> <li> <p>扩展</p> <ul> <li> <p>使用<code>\fancypagestyle</code>命令自定义页眉页脚样式</p> <pre><code class="prism language-latex">% 自定义页眉页脚样式mystyle \fancypagestyle{mystyle}{ % \fancyhf{} \fancyhead{...} \fancyfoot{...} } % 使用样式 \pagestyle{mystyle} </code></pre> </li> </ul> </li> </ul> </li> </ul> </li> </ul> <h3>7 特色工具</h3> <h4>7.1 参考文献:BIBTEX工具</h4> <pre><code class="prism language-latex">%基本的使用 \cite{<citation>} \begin{thebibliography}{<widest-label>} \bibitem[<item-no>]{<citation>} ... \end{thebibliography} </code></pre> <ul> <li>参数 <ul> <li><citation>:引文的参考文献的标签</li> <li><item-no>:自定义参考文献的编号。如果省略,则使用自然排序给定的序号</li> <li><widest-label>:参考文献序号的最大宽度,如99意味着不超过两位数</li> </ul> </li> <li>扩展 <ul> <li><code>\cite</code>命令可带一个可选参数,为引用的编号后加上额外的内容</li> </ul> </li> </ul> <h5>7.1.1 BiBTeX数据库</h5> <blockquote> <p>BiBTeX数据库以<code>.bib</code>作为扩展名,其内容是若干个文献条目</p> </blockquote> <p>常用的类型条目有</p> <table> <thead> <tr> <th align="center">类型</th> <th align="center">含义</th> <th align="center">必需字段</th> <th align="center">可选字段</th> </tr> </thead> <tbody> <tr> <td align="center"><code>article</code></td> <td align="center">学术论文</td> <td align="center">author, title, journal, year</td> <td align="center">volume, number, pages, doi等</td> </tr> <tr> <td align="center"><code>book</code></td> <td align="center">书籍</td> <td align="center">author/editor, title, publisher, year</td> <td align="center">volume/number, series, address等</td> </tr> <tr> <td align="center"><code>incollection</code></td> <td align="center">论文集中的一篇</td> <td align="center">author, title, booktitle, publisher, year</td> <td align="center">editor, volume/number, chapter, pages, address等</td> </tr> <tr> <td align="center"><code>inbook</code></td> <td align="center">书中的一章</td> <td align="center">author/editor, title, chapter/pages, publisher, year</td> <td align="center">volume/number, series, address等</td> </tr> </tbody> </table> <h5>7.1.2 BiBTeX样式</h5> <pre><code class="prism language-latex">\bibliographystyle{<bst-name>} </code></pre> <ul> <li> <p>参数</p> <ul> <li><bst-name>:<code>.bst</code>样式文件名,不带扩展名</li> </ul> </li> <li> <p>扩展</p> <ul> <li> <p>列出未被引用的文献</p> <pre><code class="prism language-latex">\nocite{<citation>} \nocite{*} % 列出所有未被引用的文献 </code></pre> <ul> <li>参数 <ul> <li><citation>:引文的参考文献的标签</li> </ul> </li> </ul> </li> <li> <p>列出参考文献</p> <pre><code class="prism language-latex">\bibliography{<bib-name>} </code></pre> <ul> <li>参数 <ul> <li><bib-name>:BiBTeX数据库的文件名,不带扩展名<code>.bst</code></li> </ul> </li> </ul> </li> <li> <p><code>natbib</code>宏包</p> <ul> <li> <p>使用人名-年份引用文献</p> <pre><code class="prism language-latex">\citep{<citation>} \citet{<citation>} </code></pre> <ul> <li>参数 <ul> <li><citation>:引文的参考文献的标签</li> </ul> </li> </ul> </li> <li> <p>数字引用(支持序号压缩)</p> <pre><code class="prism language-latex">\usepackage[numbers,sort&compress]{natbib} </code></pre> </li> </ul> </li> </ul> </li> </ul> <h4>7.2 索引:makeindex工具</h4> <ol> <li> <p>导言区调用<code>makeidx</code>宏包,并开启索引的收集</p> <pre><code class="prism language-latex">\usepackage{makeidx} \makeindex </code></pre> </li> <li> <p>在需要索引的地方使用<code>\index</code>命令;需要输出索引的地方使用<code>\printindex</code>命令</p> </li> </ol> <h4>7.3 颜色</h4> <pre><code class="prism language-latex">% 方式一 \color{<color-name>} % 方式二 \color[<color-mode>]{<code>} </code></pre> <ul> <li>参数 <ul> <li><color-name>:已定义的颜色名</li> <li><color-mode>:颜色模式,<code>color</code>宏包rgb,cmyk和gray等模式,<code>xcolor</code>还支持hsb等</li> <li><code>:颜色值</li> </ul> </li> <li>说明 <ul> <li>需要导入颜色宏包<code>color</code>或<code>xcolor</code></li> </ul> </li> </ul> <h5>7.3.1 自定义颜色</h5> <pre><code class="prism language-latex">\definecolor{<color-name>}{<color-mode>}{<code>} </code></pre> <ul> <li> <p>参数</p> <ul> <li> <p><color-name>:颜色名</p> </li> <li> <p><color-mode>:颜色模式</p> </li> <li> <p><code>:颜色值</p> </li> </ul> </li> </ul> <h5>7.3.2 带颜色文本</h5> <pre><code class="prism language-latex">% 方式一 \textcolor{<color-name>}{<content>} % 方式二 \textcolor[<color-mode>]{<code>}{<content>} </code></pre> <ul> <li> <p>参数</p> <ul> <li> <p><color-name>:颜色名</p> </li> <li> <p><content>:文本内容</p> </li> <li> <p><color-mode>:颜色模式</p> </li> <li> <p><code>:颜色值</p> </li> </ul> </li> </ul> <h5>7.3.3 带颜色盒子</h5> <pre><code class="prism language-latex">% 方式一 \colorbox{<color-name>}{<content>} \fcolorbox{<fcolor-name>}{<color-name>}{<content>} % 方式二 \colorbox[<color-mode>]{<code>}{<content>} \fcolorbox[<color-mode>]{<fcode>}{<code>}{<content>} </code></pre> <ul> <li> <p>参数</p> <ul> <li> <p><color-name>:填充颜色名</p> </li> <li> <p><fcolor-name>:边框颜色名</p> </li> <li> <p><content>:文本内容</p> </li> <li> <p><color-mode>:颜色模式</p> </li> <li> <p><code>:填充颜色值</p> </li> <li> <p><fcode>:边框颜色值</p> </li> </ul> </li> </ul> <h4>7.4 超链接</h4> <ol> <li> <p>配置参数</p> <pre><code class="prism language-latex">\hypersetup{<opt1>, <opt2>=<value>, ...} \usepackage[<opt1>, <opt2>=<value>, ...]{hyperref} </code></pre> <ul> <li> <p><optN>:配置参数,常用参数如下</p> <table> <thead> <tr> <th align="center">参数</th> <th align="center">默认值</th> <th align="center">含义</th> </tr> </thead> <tbody> <tr> <td align="center"><code>colorlinks=<true/false></code></td> <td align="center">false</td> <td align="center">链接文字是否带颜色</td> </tr> <tr> <td align="center"><code>hidelinks</code></td> <td align="center">—</td> <td align="center">取消链接的颜色和边框</td> </tr> <tr> <td align="center"><code>pdfborder={<n>, <n>, <n>}</code></td> <td align="center">0 0 1</td> <td align="center">超链接边框设置,设置为0 0 0可取消边框</td> </tr> <tr> <td align="center"><code>bookmarks=<true/false> </code></td> <td align="center">true</td> <td align="center">是否生成书签</td> </tr> <tr> <td align="center"><code>bookmarksopen=<true/false></code></td> <td align="center">false</td> <td align="center">是否展开书签</td> </tr> <tr> <td align="center"><code>bookmarksnumbered=<true/false></code></td> <td align="center">false</td> <td align="center">书签是否带章节编号</td> </tr> <tr> <td align="center"><code>CJKbookmarks=<true/false></code></td> <td align="center">false</td> <td align="center">使用<code>CJK</code>宏包 / GBK编码排版中文时必须要设定的参数,需要将生成的<code>.out</code>文件用工具处理编码,或调用<code>xCJK2uni</code>宏包</td> </tr> <tr> <td align="center"><code>unicode</code></td> <td align="center">—</td> <td align="center">使用<code>CJKutf8</code>宏包 / UTF-8编码排版中文时必须设定的参数</td> </tr> <tr> <td align="center"><code>pdftitle=<string></code></td> <td align="center">空</td> <td align="center">标题</td> </tr> <tr> <td align="center"><code>pdfauthor=<string></code></td> <td align="center">空</td> <td align="center">作者</td> </tr> <tr> <td align="center"><code>pdfsubject=<string></code></td> <td align="center">空</td> <td align="center">主题</td> </tr> <tr> <td align="center"><code>pdfkeywords=<string></code></td> <td align="center">空</td> <td align="center">关键词</td> </tr> <tr> <td align="center"><code>pdfstartview=<Fit/FitH/FitV></code></td> <td align="center">Fit</td> <td align="center">设置PDF页面以适合页面(默认)/适合宽度/适合高度等方式显示</td> </tr> </tbody> </table></li> </ul> </li> <li> <p>添加超链接</p> <pre><code class="prism language-latex">\url{<url>} % 带颜色的超链接 \nolinkurl{<url>} % 不带颜色的超链接 \href{<url>}{<text>} % 自定义文字的超链接 </code></pre> <ul> <li> <p>参数</p> <ul> <li><url>:超链接地址</li> <li><text>:超链接显示的内容</li> </ul> </li> <li> <p>说明</p> <ul> <li>默认的超链接文字外有一个带颜色的边框(打印PDF是不打印该边框),可以指定<code>colorlinks</code>参数或修改<code>pdfborder</code>参数去掉边框</li> </ul> </li> <li> <p>扩展</p> <ul> <li> <p>标签超链接</p> <pre><code class="prism language-latex">\hyperref{<label>}{<text>} </code></pre> <ul> <li>参数 <ul> <li><label>:超链接的标签</li> <li><text>:超链接显示的内容</li> </ul> </li> </ul> </li> </ul> </li> </ul> </li> </ol> <h4>7.5 PDF</h4> <h5>7.5.1 书签</h5> <pre><code class="prism language-latex">\pdfbookmark[<level>]{<bookmark>}{<anchor>} </code></pre> <ul> <li>参数 <ul> <li><level>:书签的层级,默认为0</li> <li><bookmark>:书签名称</li> <li><anchor>:书签项使用的锚点</li> </ul> </li> </ul> <h5>7.5.2 文档属性</h5> <p>见上表</p> <h3>8 自定义</h3> <h4>8.1 命令</h4> <h5>8.1.1 定义新命令</h5> <pre><code class="prism language-latex">\newcommand{<name>}[<num>]{<definition>} </code></pre> <ul> <li>参数 <ul> <li><name>:命令名,包括反斜线</li> <li><num>:参数个数(最大为9)。如果缺省,默认为0</li> <li><definition>:命令的定义</li> </ul> </li> <li>说明 <ul> <li>不能定义与现有命令重名的命令</li> </ul> </li> <li>扩展 <ul> <li><code>\providecommand</code>命令:在命令不存在时,定义新命令;否则,仍沿用命令原来的定义</li> </ul> </li> </ul> <h5>8.1.2 重定义命令</h5> <pre><code class="prism language-latex">\renewcommand{<name>}[<num>]{<definition>} </code></pre> <ul> <li>参数 <ul> <li><name>:命令名,包括反斜线</li> <li><num>:参数个数(最大为9)。如果缺省,默认为0</li> <li><definition>:命令的定义,定义中使用<code>#n</code>指定第n个参数,起到占位的作用</li> </ul> </li> </ul> <h4>8.2 环境</h4> <h5>8.2.1 定义新环境</h5> <pre><code class="prism language-latex">\newenvironment{<name>}[<num>]{<before>}{<after>} </code></pre> <ul> <li>参数 <ul> <li><name>:环境名</li> <li><num>:参数个数(最大为9)。如果缺省,默认为0</li> <li><before>:内容在环境包含的文本之前处理</li> <li><after>:内容遇到<code>\end{<name>}</code>命令时处理</li> </ul> </li> </ul> <h5>8.2.2 重定义环境</h5> <pre><code class="prism language-latex">\renewenvironment{<name>}[<num>]{<before>}{<after>} </code></pre> <ul> <li>参数 <ul> <li><name>:环境名</li> <li><num>:参数个数(最大为9)。如果缺省,默认为0</li> <li><before>:内容在环境包含的文本之前处理</li> <li><after>:内容遇到<code>\end{<name>}</code>命令时处理</li> </ul> </li> </ul> <h4>8.3 宏包和文档类</h4> <h5>8.3.1 编写文档类</h5> <ol> <li> <p>文档类以<code>.cls</code>作为扩展名</p> </li> <li> <p>开头使用命令</p> <pre><code class="prism language-latex">\ProvidesClass{<class-name>} </code></pre> <ul> <li>参数 <ul> <li><class-name>:文档类名,需要与文件名一致</li> </ul> </li> </ul> </li> <li> <p>调用文档类</p> <pre><code class="prism language-latex">\LoadClass[<options>]{<class-name>} </code></pre> <ul> <li>参数 <ul> <li><options>:文档类选项</li> <li><class-name>:文档类名</li> </ul> </li> </ul> </li> </ol> <h5>8.3.2 编写宏包</h5> <ol> <li> <p>宏包以<code>.sty</code>作为扩展名</p> </li> <li> <p>开头使用命令</p> <pre><code class="prism language-latex">\ProvidesPackage{<pkg-name>} </code></pre> <ul> <li>参数 <ul> <li><pkg-name>:宏包名,需要与文件名一致</li> </ul> </li> </ul> </li> <li> <p>在宏包中调用其他宏包</p> <pre><code class="prism language-latex">\RequirePackage[<options>]{<pkg-name>} </code></pre> <ul> <li>参数 <ul> <li><options>:宏包选项</li> <li><pkg-name>:宏包名</li> </ul> </li> </ul> </li> </ol> <h4>8.4 计数器</h4> <table> <thead> <tr> <th align="center">命令</th> <th align="center">计数器</th> <th align="center">说明</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\chapter</code></td> <td align="center">chapter</td> <td align="center">有上下级关系</td> </tr> <tr> <td align="center"><code>\section</code></td> <td align="center">section</td> <td align="center">有上下级关系</td> </tr> <tr> <td align="center"><code>\part</code></td> <td align="center">part</td> <td align="center">独立</td> </tr> <tr> <td align="center"><code>\enumerate</code></td> <td align="center">enumi, enumii, enumiii, enumiv</td> <td align="center">有上下级关系</td> </tr> <tr> <td align="center"><code>\table</code></td> <td align="center">table</td> <td align="center"><code>article</code>中独立,<code>book/report</code>中以<code>chapter</code>为上级计数器</td> </tr> <tr> <td align="center"><code>\figure</code></td> <td align="center">figure</td> <td align="center"><code>article</code>中独立,<code>book/report</code>中以<code>chapter</code>为上级计数器</td> </tr> <tr> <td align="center"><code>\equation</code></td> <td align="center">equation</td> <td align="center"><code>article</code>中独立,<code>book/report</code>中以<code>chapter</code>为上级计数器</td> </tr> <tr> <td align="center"><code>\footnote</code></td> <td align="center">footnote</td> <td align="center">—</td> </tr> <tr> <td align="center">页码</td> <td align="center">page</td> <td align="center">—</td> </tr> </tbody> </table> <ul> <li>说明 <ul> <li>章节编号的深度<code>secnumdepth</code>:如果章节的层级大于该值,那么章节的标题、在页眉页脚的标题都不编号;<code>article</code>文档类中默认为3,<code>book</code>和<code>report</code>文档类中默认为2;可以通过<code>\setcounter</code>命令设置该值</li> <li>目录深度<code>tocdepth</code>:如果章节的层级大于该值,那么章节的标题不会写入目录项;<code>article</code>文档类中默认为3,<code>book</code>和<code>report</code>文档类中默认为2;可以通过<code>\setcounter</code>命令设置该值</li> </ul> </li> </ul> <h5>8.4.1 定义计数器</h5> <pre><code class="prism language-latex">\newcounter{<counter-name>}[<parent-counter-name>] </code></pre> <ul> <li>参数 <ul> <li><counter-name>:计数器名</li> <li><parent-counter-name>:父计数器名</li> </ul> </li> </ul> <h5>8.4.2 修改计数器</h5> <pre><code class="prism language-latex">\setcounter{<counter-name>}{<number>} % 将计数器<counter-name>的值设置为<number> \addtocounter{<counter-name>}{<number>} % 将计数器<counter-name>的值增加<number> \stepcounter{<counter-name>⟩} % 将计数器<counter-name>的值加1,并将下级计数器置0 </code></pre> <ul> <li>参数 <ul> <li><counter-name>:计数器名</li> <li><number>:数值</li> </ul> </li> </ul> <h5>8.4.3 修改输出格式</h5> <pre><code class="prism language-latex">\renewcommand\the<counter>{<format>} </code></pre> <ul> <li> <p>参数</p> <ul> <li> <p>\the<counter>:计数器的输出格式定义,如<code>\thechapter</code>、<code>\thesection</code>等</p> </li> <li> <p><format>:计数器格式。常用的格式如下</p> <table> <thead> <tr> <th align="center">命令</th> <th align="center">样式</th> <th align="center">范围</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\arabic</code></td> <td align="center">阿拉伯数字(默认)</td> <td align="center"></td> </tr> <tr> <td align="center"><code>\alph</code></td> <td align="center">小写字母</td> <td align="center">0-26</td> </tr> <tr> <td align="center"><code>\Alph</code></td> <td align="center">大写字母</td> <td align="center">0-26</td> </tr> <tr> <td align="center"><code>\roman</code></td> <td align="center">小写罗马数字</td> <td align="center">非负整数</td> </tr> <tr> <td align="center"><code>\Roman</code></td> <td align="center">大写罗马数字</td> <td align="center">非负整数</td> </tr> <tr> <td align="center"><code>\fnsymbol</code></td> <td align="center">一些列符号,用于<code>\thanks</code>命令生成的脚注</td> <td align="center">0-9</td> </tr> </tbody> </table></li> </ul> </li> <li> <p>说明</p> <ul> <li>计数器的输出格式还可以利用其他字符,也可以与其他计数器输出格式的组合</li> </ul> </li> </ul> <h4>8.5 可定制命令和参数</h4> <h5>8.5.1 标题名称/前后缀等</h5> <table> <thead> <tr> <th align="center">命令</th> <th align="center">默认值</th> <th align="center">含义</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\partname</code></td> <td align="center">Part</td> <td align="center"><code>\part</code>命令生成的标题前缀</td> </tr> <tr> <td align="center"><code>\chaptername</code></td> <td align="center">Chapter</td> <td align="center"><code>\chapter</code>命令生成的标题前缀</td> </tr> <tr> <td align="center"><code>\appendixname</code></td> <td align="center">Appendix</td> <td align="center"><code>\appendix</code>命令生成的附录部分的章标题前缀</td> </tr> <tr> <td align="center"><code>\abstractname</code></td> <td align="center">Abstract</td> <td align="center"><code>abstract</code>环境生成的标题名称</td> </tr> <tr> <td align="center"><code>\contentsname</code></td> <td align="center">Contents</td> <td align="center"><code>\tableofcontents</code>命令生成的目录标题</td> </tr> <tr> <td align="center"><code>\listfigurename</code></td> <td align="center">List of Figures</td> <td align="center"><code>\listoffigures</code>命令生成的插图目录标题</td> </tr> <tr> <td align="center"><code>\listtablename</code></td> <td align="center">List of Tables</td> <td align="center"><code>\listoftables</code>命令生成的表格目录标题</td> </tr> <tr> <td align="center"><code>\figurename</code></td> <td align="center">Figure</td> <td align="center"><code>figure</code>浮动体中<code>\caption</code>命令生成的标题前缀</td> </tr> <tr> <td align="center"><code>\tablename</code></td> <td align="center">Table</td> <td align="center"><code>table</code>浮动体中<code>\caption</code>命令生成的标题前缀</td> </tr> <tr> <td align="center"><code>\refname</code></td> <td align="center">References</td> <td align="center"><code>thebibliography</code>环境或<code>\bibliography</code>命令生成的参考文献标题(<code>article</code>文档类)</td> </tr> <tr> <td align="center"><code>\bibname</code></td> <td align="center">Bibliography</td> <td align="center"><code>thebibliography</code>环境或<code>\bibliography</code>命令生成的参考文献标题(<code>book/report</code>文档类)</td> </tr> <tr> <td align="center"><code>\indexname</code></td> <td align="center">Index</td> <td align="center"><code>\printindex</code>命令生成的索引标题</td> </tr> </tbody> </table> <ul> <li>说明 <ul> <li>以上所有命令可以使用<code>\renewcommand</code>命令来修改</li> </ul> </li> </ul> <h5>8.5.2 长度</h5> <table> <thead> <tr> <th align="center">命令</th> <th align="center">默认值</th> <th align="center">含义</th> </tr> </thead> <tbody> <tr> <td align="center"><code>\fboxrule</code></td> <td align="center">0.4pt</td> <td align="center"><code>\fbox</code>或<code>\framebox</code>等带框盒子的线宽</td> </tr> <tr> <td align="center"><code>\fboxsep</code></td> <td align="center">3pt</td> <td align="center"><code>\fbox</code>或<code>\framebox</code>等带框盒子的内边距</td> </tr> <tr> <td align="center"><code>\arraycolsep</code></td> <td align="center">5pt</td> <td align="center"><code>array</code>环境的表格项前后的间距</td> </tr> <tr> <td align="center"><code>\tabcolsep</code></td> <td align="center">6pt</td> <td align="center"><code>tabular</code>环境的表格项前后的间距</td> </tr> <tr> <td align="center"><code>\arrayrulewidth</code></td> <td align="center">0.4pt</td> <td align="center">表格线宽</td> </tr> <tr> <td align="center"><code>\doublerulesep</code></td> <td align="center">2pt</td> <td align="center">连续两根表格线之间的间距</td> </tr> <tr> <td align="center"><code>\abovecaptionskip</code></td> <td align="center">10pt</td> <td align="center"><code>\caption</code>命令位于表格下方时,与上方图表的间距</td> </tr> <tr> <td align="center"><code>\belowcaptionskip</code></td> <td align="center">0pt</td> <td align="center"><code>\caption</code>命令位于表格上方时,与下方图表的间距</td> </tr> <tr> <td align="center"><code>\columnsep</code></td> <td align="center">10pt</td> <td align="center">双栏排版下两栏的间距</td> </tr> <tr> <td align="center"><code>\columnseprule</code></td> <td align="center">0pt</td> <td align="center">双栏排版下两栏之间竖线的宽度</td> </tr> </tbody> </table> <ul> <li>说明 <ul> <li>以上所有命令可以使用<code>\setlength</code>命令来修改</li> </ul> </li> </ul> <h3>参考资料</h3> <ol> <li>LaTeX基础——格式与命令 - FBshark - 博客园 (cnblogs.com)</li> <li>一份其实很短的 LaTeX 入门文档 | 始终 (liam.page)</li> <li>中文版Latex常用语法大全教程_tianzong2019的博客-CSDN博客_latex语法</li> <li>LaTeX详细教程+技巧总结_NSJim的博客-CSDN博客_latex使用教程</li> <li>LaTeX基础使用手册 | Personal Blog (albertyzp.github.io)</li> <li>LaTeX公式手册(全网最全) - 樱花赞 - 博客园 (cnblogs.com)</li> <li>LaTeX数学公式-详细教程_NSJim的博客-CSDN博客_latex数学公式</li> </ol> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1730238639495000064"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(学习笔记,程序人生)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1884919952243224576.htm" title="Vue 响应式渲染 - 模板语法" target="_blank">Vue 响应式渲染 - 模板语法</a> <span class="text-muted">JSON_L</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Vue/1.htm">Vue</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>Vue渐进式JavaScript框架基于Vue2的学习笔记-Vue响应式渲染-模板语法目录模板语法渲染变量(状态)绑定事件简写事件修改属性样式修改绑定图片路径动态显示和隐藏总结模板语法渲染变量(状态)在页面中直接渲染变量。示例如下:Title{{myname}}newVue({el:"#box",//elementdata:{myname:'我的名字是张三'}})绑定事件增加按钮,并对按钮绑定点击</div> </li> <li><a href="/article/1884882341973782528.htm" title="OpenEuler学习笔记(十四):在OpenEuler上搭建.NET运行环境" target="_blank">OpenEuler学习笔记(十四):在OpenEuler上搭建.NET运行环境</a> <span class="text-muted">向上的车轮</span> <a class="tag" taget="_blank" href="/search/openEuler/1.htm">openEuler</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>一、在OpenEuler上搭建.NET运行环境基于包管理器安装添加Microsoft软件源:运行命令sudorpm-Uvhhttps://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm,将Microsoft软件源添加到系统中,以便后续能够从该源安装.NET相关的包。安装.NET运行时或SDK:若只需要运行.NET</div> </li> <li><a href="/article/1884853977196064768.htm" title="22、JavaScript学习笔记——ES5严格模式" target="_blank">22、JavaScript学习笔记——ES5严格模式</a> <span class="text-muted">lvh98</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>ES5严格模式当前使用的ES语法是基于ES3.0的方法加上ES5.0的新增方法。默认情况下,ES3.0和ES5.0冲突的部分,会沿用ES3.0的方法;而在ES5.0严格模式下,冲突部分会使用ES5.0的方法。1.“usestrict”不再兼容ES3.0的一些不规则语法。使用全新的ES5.0规范。1.1ES5.0严格模式的启动要选择使用严格模式,需要使用严格模式编译指示(pragma),即一个不赋值</div> </li> <li><a href="/article/1884846156123533312.htm" title="spring mvc java 8 rest idea_springmvc学习笔记---面向移动端支持REST API" target="_blank">spring mvc java 8 rest idea_springmvc学习笔记---面向移动端支持REST API</a> <span class="text-muted">射命丸咲</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/8/1.htm">8</a><a class="tag" taget="_blank" href="/search/rest/1.htm">rest</a><a class="tag" taget="_blank" href="/search/idea/1.htm">idea</a> <div>前言:springmvc对注解的支持非常灵活和飘逸,也得web编程少了以往很大一坨配置项.另一方面移动互联网的到来,使得RESTAPI变得流行,甚至成为主流.因此我们来关注下springmvc对restapi的支持程度,以及需要做的工作评估.样例设计和准备:springmvc学习笔记系列的文章目录:•idea创建springmvc项目RESTAPI的设计原则遵循之前的博文来实现•移动互联网实战--</div> </li> <li><a href="/article/1884840357275955200.htm" title="Spring MVC学习笔记" target="_blank">Spring MVC学习笔记</a> <span class="text-muted">万般滋味皆生活</span> <a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF%E5%BC%80%E5%8F%91/1.htm">后端开发</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/springmvc/1.htm">springmvc</a> <div>文章目录SpringMVC什么是MVC设计模式?SpringMVC的核心组件SpringMVC的工作流程如何使用?SpringMVC注解SpringMVC数据绑定SpringMVC模型数据解析SpringMVC自定义数据转换器SpringMVCREST特点如何使用SpringMVC文件上传下载SpringMVC表单标签库常用的表单标签SpringMVC数据校验SpringMVCSpringMVC是</div> </li> <li><a href="/article/1884813619770748928.htm" title="备赛蓝桥杯之第十五届职业院校组省赛第三题:产品360度展示" target="_blank">备赛蓝桥杯之第十五届职业院校组省赛第三题:产品360度展示</a> <span class="text-muted">云端·目前学前端</span> <a class="tag" taget="_blank" href="/search/%E5%A4%87%E8%B5%9B%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">备赛蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a> <div>提示:本篇文章仅仅是作者自己目前在备赛蓝桥杯中,自己学习与刷题的学习笔记,写的不好,欢迎大家批评与建议由于个别题目代码量与题目量偏大,请大家自己去蓝桥杯官网【连接高校和企业-蓝桥云课】去寻找原题,在这里只提供部分原题代码本题目为:2024年十五届省赛职业院校组真题第三题:产品360度展示题目:需要考生作答的代码段如下:/***@param{*}initialValue初始值*@param{Arra</div> </li> <li><a href="/article/1884777813878304768.htm" title="【学习笔记总结】华为云:应用上云后的安全规划及设计" target="_blank">【学习笔记总结】华为云:应用上云后的安全规划及设计</a> <span class="text-muted">通信_楠木</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA%E4%BA%91/1.htm">华为云</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E6%9E%B6%E6%9E%84/1.htm">安全架构</a> <div>一、背景和问题数字化时代,随着信息技术的飞速发展,企业和各类组织纷纷将自身的应用程序迁移至云端。云计算凭借其诸多优势,如成本效益、可扩展性、灵活性以及便捷的资源共享等,已然成为了现代业务运营的重要支撑。今年,我所在企业也将IT系统全面迁移上XX云,究其原因是为了在激烈的市场竞争中保持敏捷性和创新性,需要快速部署新的应用并实现高效的数据处理,云平台提供的丰富资源和便捷的服务模式使其能够迅速满足这些需</div> </li> <li><a href="/article/1884686023317843968.htm" title="【 书生·浦语大模型实战营】学习笔记(五):LMDeploy 量化部署" target="_blank">【 书生·浦语大模型实战营】学习笔记(五):LMDeploy 量化部署</a> <span class="text-muted">GoAI</span> <a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%85%A5%E6%B5%85%E5%87%BALLM/1.htm">深入浅出LLM</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%85%A5%E6%B5%85%E5%87%BAAI/1.htm">深入浅出AI</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大模型</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</a><a class="tag" taget="_blank" href="/search/%E9%83%A8%E7%BD%B2/1.htm">部署</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/LMDeploy/1.htm">LMDeploy</a> <div>AI学习星球推荐:GoAI的学习社区知识星球是一个致力于提供《机器学习|深度学习|CV|NLP|大模型|多模态|AIGC》各个最新AI方向综述、论文等成体系的学习资料,配有全面而有深度的专栏内容,包括不限于前沿论文解读、资料共享、行业最新动态以、实践教程、求职相关(简历撰写技巧、面经资料与心得)多方面综合学习平台,强烈推荐AI小白及AI1;;爱好者学习,性价比非常高!加入星球➡️点击链接</div> </li> <li><a href="/article/1884615292756226048.htm" title="MYSQL学习笔记(六):聚合函数、sql语句执行原理简要分析" target="_blank">MYSQL学习笔记(六):聚合函数、sql语句执行原理简要分析</a> <span class="text-muted">羊小猪~~</span> <a class="tag" taget="_blank" href="/search/MYSQL/1.htm">MYSQL</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E8%80%83%E7%A0%94/1.htm">考研</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>前言:学习和使用数据库可以说是程序员必须具备能力,这里将更新关于MYSQL的使用讲解,大概应该会更新30篇+,涵盖入门、进阶、高级(一些原理分析);这一篇是内容较少,主要讲解:聚合函数和简要介绍sql语句执行过程;虽然MYSQL命令很多,但是自己去多敲一点,到后面忘记了,查一下就可以回忆起来使用了;这一系列也是本人学习MYSQL做的笔记,也是为了方便后面忘记查询;参考资料:尚硅谷、黑马、csdn和</div> </li> <li><a href="/article/1884570129279283200.htm" title="Maui学习笔记-依赖注入简单使用" target="_blank">Maui学习笔记-依赖注入简单使用</a> <span class="text-muted">Mr.L70517</span> <a class="tag" taget="_blank" href="/search/Maui%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">Maui学习笔记</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a> <div>依赖注入(DI)是控制反转(IOC)模式的一种形式。DI的核心概念是类不会创建它们所依赖的对象,相反,DI框架集中解析对象并将其注入到依赖类中。通过DI可以轻松管理依赖项并实现松散耦合的体系结构。DI简单使用案例在这个案例中我们修改之前的模拟加载用户列表项目。首先我们创建一个DummyService的接口,然后实现该接口。创建构造函数注入该接口。publicpartialclassMyViewMo</div> </li> <li><a href="/article/1884568490459852800.htm" title="学习笔记(Maui 02 Sqlite)" target="_blank">学习笔记(Maui 02 Sqlite)</a> <span class="text-muted">sleevefisher</span> <a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a> <div>Maui学习笔记(2)MVVM+IService架构下的数据服务(对应P3-P6)MVVM+IService架构下程序结构与功能Model:数据(Models文件夹)View:显示数据(Views文件夹)ViewModel:准备显示数据(ViewModels文件夹)IService:数据库服务操作(Services文件夹)1键值存储:偏好存储1.1键值存储的接口Services文件夹内创建接口IS</div> </li> <li><a href="/article/1884563447379718144.htm" title="Maui学习笔记- SQLite简单使用案例02添加详情页" target="_blank">Maui学习笔记- SQLite简单使用案例02添加详情页</a> <span class="text-muted">Mr.L70517</span> <a class="tag" taget="_blank" href="/search/Maui%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">Maui学习笔记</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/sqlite/1.htm">sqlite</a> <div>我们继续上一个案例,实现一个可以修改当前用户信息功能。当用户点击某个信息时,跳转到信息详情页,然后可以点击编辑按钮导航到编辑页面。创建项目我们首先在ViewModels目录下创建UserDetailViewModel。实现从详情信息页面导航到编辑页面。这里要使用一个字典来传输对象。publicpartialclassUserDetailViewModel:ObservableObject,IQue</div> </li> <li><a href="/article/1884546791827894272.htm" title="GAMES104:02引擎架构分层-学习笔记" target="_blank">GAMES104:02引擎架构分层-学习笔记</a> <span class="text-muted">我要吐泡泡了哦</span> <a class="tag" taget="_blank" href="/search/games104/1.htm">games104</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E/1.htm">游戏引擎</a><a class="tag" taget="_blank" href="/search/%E5%9B%BE%E5%BD%A2%E6%B8%B2%E6%9F%93/1.htm">图形渲染</a> <div>文章目录一、游戏引擎分层架构0.游戏引擎分层简介1.资源层2.功能层3.核心层4.平台层5.工具层二、为什么分层架构总结一、游戏引擎分层架构0.游戏引擎分层简介用户层工具层(ToolLayer):编辑器、工具界面功能层(FunctionLayer):渲染Rendering、动画Animation、物理Physics、相机Camera和实现游戏性的脚本Script、状态机FSM、AI等功能模块资源层</div> </li> <li><a href="/article/1884527856264998912.htm" title="python一个函数调用另一个函数里面的值_Python学习笔记(10)-函数之函数定义、调用、参数、返回值、嵌套..." target="_blank">python一个函数调用另一个函数里面的值_Python学习笔记(10)-函数之函数定义、调用、参数、返回值、嵌套...</a> <span class="text-muted">weixin_39631689</span> <div>函数函数定义将实现某个独立功能的代码组合在一起,命一个名字,再需要使用这段代码时通过所命的名字来使用,就叫做函数使用函数的好处:1、将代码模块化(升级或修改某一个功能时只更新相应函数即可)2、方便代码重复使用(不需要多次重复编写代码只需多次调用即可)函数定义的格式:def函数名():代码块如定义一个打印名片函数:注意:1、函数名命名规则与变量命名规则一致,但一般不使用大驼峰命名方式2、定义函数只是</div> </li> <li><a href="/article/1884492940865236992.htm" title="python 命名实体识别_Python NLTK学习11(命名实体识别和关系抽取)" target="_blank">python 命名实体识别_Python NLTK学习11(命名实体识别和关系抽取)</a> <span class="text-muted">weixin_39630762</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%91%BD%E5%90%8D%E5%AE%9E%E4%BD%93%E8%AF%86%E5%88%AB/1.htm">命名实体识别</a> <div>PythonNLTK学习11(命名实体识别和关系抽取)发表于:2017年7月27日阅读:18262除特别注明外,本站所有文章均为小杰Code原创本系列博客为学习《用Python进行自然语言处理》一书的学习笔记。命名实体识别命名实体识别(NER)系统的目标是识别所有文字提及的命名实体。可以分解成两个子任务:确定NE的边界和确定其类型。命名实体识别非常适用于基于分类器类型的方法来处理的任务。NLTK有</div> </li> <li><a href="/article/1884448123405791232.htm" title="QT6.5+qt-quick学习笔记" target="_blank">QT6.5+qt-quick学习笔记</a> <span class="text-muted">m0_63052064</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>为什么用QMLQML是一种声明式语言,这意味着开发者只需要描述用户界面的外观和行为,而不需要关心具体的实现细节。这种方式减少了代码量,使得界面设计更加直观和高效。QML提供了丰富的UI组件和动画效果,开发者可以快速创建出现代化、用户友好的应用程序QML基于JavaScript并且与JavaScript的结合使得创建交互式和动画效果变得简单且高效。开发以Debug方式可以按步运行,调试;releas</div> </li> <li><a href="/article/1884447871395229696.htm" title="网上FLAC3D学习笔记" target="_blank">网上FLAC3D学习笔记</a> <span class="text-muted">lqlong19922008</span> <a class="tag" taget="_blank" href="/search/FLAC%E6%95%B0%E5%80%BC%E6%A8%A1%E6%8B%9F/1.htm">FLAC数值模拟</a><a class="tag" taget="_blank" href="/search/primitive/1.htm">primitive</a><a class="tag" taget="_blank" href="/search/plot/1.htm">plot</a><a class="tag" taget="_blank" href="/search/interface/1.htm">interface</a><a class="tag" taget="_blank" href="/search/filter/1.htm">filter</a><a class="tag" taget="_blank" href="/search/ini/1.htm">ini</a><a class="tag" taget="_blank" href="/search/table/1.htm">table</a> <div>建议:初学者将FLAC/FLAC3D版所有帖子都浏览一遍;学有所得后,再浏览一遍,会发现又有新的收获。第一部分(相关链接)1.FLAC3D知识基本介绍SimWehttp://www.simwe.com/forum/viewthread.php?tid=209662http://www.simwe.com/forum/viewthread.php?tid=573644http://www.simwe</div> </li> <li><a href="/article/1884412173120237568.htm" title="Linux安全体系学习笔记之二:OpenSSL源代码分析(1)" target="_blank">Linux安全体系学习笔记之二:OpenSSL源代码分析(1)</a> <span class="text-muted">Aegeaner</span> <a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/Linux%E5%AE%89%E5%85%A8%E4%BD%93%E7%B3%BB%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">Linux安全体系学习笔记</a><a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%90/1.htm">代码分析</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/ssl/1.htm">ssl</a><a class="tag" taget="_blank" href="/search/session/1.htm">session</a><a class="tag" taget="_blank" href="/search/callback/1.htm">callback</a><a class="tag" taget="_blank" href="/search/extension/1.htm">extension</a> <div>OpenSSL的源代码包括三部分:加密算法库、SSL库和应用程序。加密算法库的源代码主要在crypto文件夹里,包括ASN.1编码与解码接口(crypto/asn1/asn1.h),伪随机数产生器(crypto/rand/rand.h),ENGINE机制(crypto/engine),统一密码算法的EVP密码算法接口(crypto/evp/evp.h),大数运算接口(crypto/bn/bn.h)</div> </li> <li><a href="/article/1884388954082439168.htm" title="uniapp中<map>地图怎么实现点位聚合?" target="_blank">uniapp中<map>地图怎么实现点位聚合?</a> <span class="text-muted">GoppViper</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/uni-app/1.htm">uni-app</a><a class="tag" taget="_blank" href="/search/uniapp/1.htm">uniapp</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a><a class="tag" taget="_blank" href="/search/%E5%9C%B0%E5%9B%BE/1.htm">地图</a><a class="tag" taget="_blank" href="/search/%E8%81%9A%E5%90%88/1.htm">聚合</a> <div>推荐学习文档golang应用级os框架,欢迎stargolang应用级os框架使用案例,欢迎star案例:基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识,这里有免费的golang学习笔记专栏想学习更多前端知识,这里有免费的前端专栏确定聚合条件定义聚合的距离阈值:根据你的需求确定一个合适的距离阈值,当两个标记点之</div> </li> <li><a href="/article/1884323108786073600.htm" title="Mysql学习笔记(一):Mysql的架构" target="_blank">Mysql学习笔记(一):Mysql的架构</a> <span class="text-muted">荆州克莱</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95%E9%A2%98%E6%B1%87%E6%80%BB%E4%B8%8E%E8%A7%A3%E6%9E%90/1.htm">面试题汇总与解析</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/cloud/1.htm">cloud</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E6%8A%80%E6%9C%AF/1.htm">技术</a><a class="tag" taget="_blank" href="/search/css3/1.htm">css3</a> <div>一、mysql的组成部分下面是来自Mysql实战的图片,该图片很好的表示了mysql的组成mysql架构图我们主要是和server层打交道,该层由连接器,分析器,优化器执行器、(查询缓存)组成二、连接器的作用每个客户端的连接都会有一个线程(在mysql5.5之后,mysql支持线程池插件,使得少数线程可以服务大量的服务的连接)。首先,再进行三次握手之后,建立了网络连接,然校验用户名,原始主机信息和</div> </li> <li><a href="/article/1884206832516395008.htm" title="ogre 学习笔记 - Day 1" target="_blank">ogre 学习笔记 - Day 1</a> <span class="text-muted">頖╃縌 ①oO%</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/ogre/1.htm">ogre</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">学习笔记</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E/1.htm">游戏引擎</a> <div>ogre学习笔记-Day1OGRE:Object-OrientedGraphicsRenderingEngine从名称可以得出,OGRE是一个渲染引擎下载地址https://www.ogre3d.org/最新版ogre-13.1.0编译工具cmake-gui,vs2019,vscodeConfigureconfigure时发现ogre会自动从github下载/编译依赖项,github速度有可能很慢</div> </li> <li><a href="/article/1884204937374658560.htm" title="Nginx 学习笔记" target="_blank">Nginx 学习笔记</a> <span class="text-muted">韩某-</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>目录一、引言二、Nginx概述三、Nginx的作用(一)正向代理(二)反向代理(三)负载均衡策略(四)动静分离四、Nginx安装五、Nginx的常用命令六、Nginx实战及总结一、引言在项目发展初期,并发量和用户量较少时,简单地将一个jar包部署到服务器tomcat上即可满足需求。然而,随着用户数量的不断增长以及并发量的持续增大,单台服务器容易面临性能瓶颈,出现“红温”现象。此时,为了提升系统的处</div> </li> <li><a href="/article/1884201031139651584.htm" title="Selenium学习笔记--Webdriver API 2--常用方法" target="_blank">Selenium学习笔记--Webdriver API 2--常用方法</a> <span class="text-muted">jiang_guo</span> <a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/1.htm">自动化测试</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a> <div>Webdriver重用方法浏览器控制控制浏览器窗口大小控制浏览器后退、前进切换标签页(窗口切换)switch方法获取url使用get方法模拟浏览器刷新关闭浏览器常用方法clearsend_keysclicksubmitsizetextget_attributeis_displayedtitlecurrent_url鼠标操作键盘操作元素等待显示等待隐式等待切换iframe单表单切换嵌套表单切换平行表</div> </li> <li><a href="/article/1884159783368454144.htm" title="Shiro框架源码学习笔记" target="_blank">Shiro框架源码学习笔记</a> <span class="text-muted">a88729845</span> <a class="tag" taget="_blank" href="/search/shiro/1.htm">shiro</a> <div>文章目录介绍认证术语如何使用Shiro的认证1.手机认证主体和凭据2.提交认证主体和凭据到认证系统3.允许访问,重新认证,或阻止访问"RememberMeSupport"RememberedvsAuthenticated登出授权授权三要素权限权限的粒度角色隐式的角色显式的角色(推荐)用户Shiro如何执行授权编程式授权角色检查权限检查实现`Permission`接口的方式使用`String`表示一</div> </li> <li><a href="/article/1884109739038666752.htm" title="Maui学习笔记-身份认证和授权案例" target="_blank">Maui学习笔记-身份认证和授权案例</a> <span class="text-muted">Mr.L70517</span> <a class="tag" taget="_blank" href="/search/Maui%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">Maui学习笔记</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a> <div>在深入研究身份验证和授权时,可能会遇到很多术语。我们来简单介绍一下。Authentication,简单来讲时认证、验证身份检查用户名和密码,更高级方法设计到指纹、扫描、人脸识别或2FA认证。Authorization,授权,一旦通过身份认证,系统就可以决定当前用户是否有访问某些信息或执行一些操作的授权。OpenAuthorization(OAuth),开放授权,它允许第三方用户访问你的程序,而无需</div> </li> <li><a href="/article/1884109107510702080.htm" title="链表的基础知识" target="_blank">链表的基础知识</a> <span class="text-muted">erchazhan</span> <a class="tag" taget="_blank" href="/search/%E9%93%BE%E8%A1%A8/1.htm">链表</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a> <div>在大一学习链表的过程中,感觉有许多没有学过的知识,这篇文章,算是我的第一篇学习笔记,可以在后续学习中回顾,有不对的情况可以提出,谢谢大家的建议。#pragmaonce#include#include//#include"SList.h"typedefintSLDateType;//voidSListPrint(SListNode*phead);定义结构体typedefstructNode{SLDa</div> </li> <li><a href="/article/1884087544149241856.htm" title="Python编程从入门到实践(第2版)个人学习笔记" target="_blank">Python编程从入门到实践(第2版)个人学习笔记</a> <span class="text-muted">Xx_Studying</span> <a class="tag" taget="_blank" href="/search/Python%E5%9F%BA%E7%A1%80/1.htm">Python基础</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>这是本人学习Python编程从入门到实践(第2版)个人学习笔记,书本如下目录一、变量和简单数据类型1.1字符串和数1.1.1字符串部分方法的使用1.1.2f字符串的用法1.1.3删除空白1.1.4数中的下划线1.1.5同时给多个变量赋值二、列表简介2.1列表(list)2.1.1概念引入2.1.2访问列表元素2.1.3查找某元素的下标(index方法)2.2修改、添加和删除元素2.2.1修改列表元</div> </li> <li><a href="/article/1884047850468339712.htm" title="机器学习&深度学习目录" target="_blank">机器学习&深度学习目录</a> <span class="text-muted">UQI-LIUWJ</span> <a class="tag" taget="_blank" href="/search/%E5%90%84%E4%B8%93%E6%A0%8F%E7%9B%AE%E5%BD%95/1.htm">各专栏目录</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/1024%E7%A8%8B%E5%BA%8F%E5%91%98%E8%8A%82/1.htm">1024程序员节</a> <div>机器学习模型机器学习笔记:Transformer_刘文巾的博客-CSDN博客attention相关机器学习笔记:attention_UQI-LIUWJ的博客-CSDN博客机器学习笔记:ELMOBERT_UQI-LIUWJ的博客-CSDN博客机器学习笔记:ViT(论文AnImageIsWorth16X16Words:TransformersforImageRecognitionatScale)_UQ</div> </li> <li><a href="/article/1884027927541116928.htm" title="Linux学习笔记(复习版day008)" target="_blank">Linux学习笔记(复习版day008)</a> <span class="text-muted">ccnnlxc</span> <a class="tag" taget="_blank" href="/search/Liux%E5%AD%A6%E4%B9%A0%E5%A4%8D%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">Liux学习复习笔记</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>1.僵尸进程僵尸进程(ZombieProcess)是指那些已经终止(即完成执行)的进程,但其父进程尚未读取其退出状态信息的进程。简单来说,僵尸进程的生命周期已经结束,但它的进程描述符仍然存在于系统中,以便父进程能够获取其退出状态。处理:1.top命令查询是否有僵尸进程,此处1zombie表示有一个僵尸进程2.ps-aux|grepZ查询僵尸进程的pid,STAT状态为Z+的即为僵尸进程。3.pst</div> </li> <li><a href="/article/1884020487802122240.htm" title="Hadoop学习笔记 --- YARN执行流程与工作原理" target="_blank">Hadoop学习笔记 --- YARN执行流程与工作原理</a> <span class="text-muted">杨鑫newlfe</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E4%BB%93%E5%BA%93/1.htm">数据仓库</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98%E4%B8%8E%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%BA%94%E7%94%A8%E6%A1%88%E4%BE%8B/1.htm">大数据挖掘与大数据应用案例</a><a class="tag" taget="_blank" href="/search/YARN/1.htm">YARN</a><a class="tag" taget="_blank" href="/search/Hadoop/1.htm">Hadoop</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E8%B5%84%E6%BA%90%E8%B0%83%E5%BA%A6/1.htm">资源调度</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E4%BB%93%E5%BA%93/1.htm">数据仓库</a> <div>一、YARN简述首先介绍一下YARN在Hadoop2.0版本引进的资源管理系统,直接从MapReduceV1演化而来(由于引擎的功能缺陷);原因是将MapReduce1中的JobTracker的资源管理和作业调度两个功能分开,分别由ResourceManager和ApplicationMaster进行实现;ResourceManager:负责整个集群的资源管理和调度ApplicationMaste</div> </li> <li><a href="/article/124.htm" title="mysql主从数据同步" target="_blank">mysql主从数据同步</a> <span class="text-muted">林鹤霄</span> <a class="tag" taget="_blank" href="/search/mysql%E4%B8%BB%E4%BB%8E%E6%95%B0%E6%8D%AE%E5%90%8C%E6%AD%A5/1.htm">mysql主从数据同步</a> <div>配置mysql5.5主从服务器(转) 教程开始:一、安装MySQL 说明:在两台MySQL服务器192.168.21.169和192.168.21.168上分别进行如下操作,安装MySQL 5.5.22  二、配置MySQL主服务器(192.168.21.169)mysql  -uroot  -p   &nb</div> </li> <li><a href="/article/251.htm" title="oracle学习笔记" target="_blank">oracle学习笔记</a> <span class="text-muted">caoyong</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>1、ORACLE的安装    a>、ORACLE的版本    8i,9i :   i是internet    10g,11g : grid (网格)    12c : cloud (云计算)       b>、10g不支持win7 &</div> </li> <li><a href="/article/378.htm" title="数据库,SQL零基础入门" target="_blank">数据库,SQL零基础入门</a> <span class="text-muted">天子之骄</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%85%A5%E9%97%A8/1.htm">数据库入门</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E6%9C%AC%E6%9C%AF%E8%AF%AD/1.htm">基本术语</a> <div>数据库,SQL零基础入门        做网站肯定离不开数据库,本人之前没怎么具体接触SQL,这几天起早贪黑得各种入门,恶补脑洞。一些具体的知识点,可以让小白不再迷茫的术语,拿来与大家分享。          数据库,永久数据的一个或多个大型结构化集合,通常与更新和查询数据的软件相关</div> </li> <li><a href="/article/505.htm" title="pom.xml" target="_blank">pom.xml</a> <span class="text-muted">一炮送你回车库</span> <a class="tag" taget="_blank" href="/search/pom.xml/1.htm">pom.xml</a> <div>1、一级元素dependencies是可以被子项目继承的 2、一级元素dependencyManagement是定义该项目群里jar包版本号的,通常和一级元素properties一起使用,既然有继承,也肯定有一级元素modules来定义子元素 3、父项目里的一级元素<modules> <module>lcas-admin-war</module> <</div> </li> <li><a href="/article/632.htm" title="sql查地区省市县" target="_blank">sql查地区省市县</a> <span class="text-muted">3213213333332132</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div> -- db_yhm_city SELECT * FROM db_yhm_city WHERE class_parent_id = 1 -- 海南 class_id = 9 港、奥、台 class_id = 33、34、35 SELECT * FROM db_yhm_city WHERE class_parent_id =169 SELECT d1.cla</div> </li> <li><a href="/article/759.htm" title="关于监听器那些让人头疼的事" target="_blank">关于监听器那些让人头疼的事</a> <span class="text-muted">宝剑锋梅花香</span> <a class="tag" taget="_blank" href="/search/%E7%94%BB%E5%9B%BE%E6%9D%BF/1.htm">画图板</a><a class="tag" taget="_blank" href="/search/%E7%9B%91%E5%90%AC%E5%99%A8/1.htm">监听器</a><a class="tag" taget="_blank" href="/search/%E9%BC%A0%E6%A0%87%E7%9B%91%E5%90%AC%E5%99%A8/1.htm">鼠标监听器</a> <div>       本人初学JAVA,对于界面开发我只能说有点蛋疼,用JAVA来做界面的话确实需要一定的耐心(不使用插件,就算使用插件的话也没好多少)既然Java提供了界面开发,老师又要求做,只能硬着头皮上啦。但是监听器还真是个难懂的地方,我是上了几次课才略微搞懂了些。       </div> </li> <li><a href="/article/886.htm" title="JAVA的遍历MAP" target="_blank">JAVA的遍历MAP</a> <span class="text-muted">darkranger</span> <a class="tag" taget="_blank" href="/search/map/1.htm">map</a> <div>Java Map遍历方式的选择 1. 阐述   对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率。那么实际情况如何呢?   为了解遍历性能的真实差距,包括在遍历ke</div> </li> <li><a href="/article/1013.htm" title="POJ 2312 Battle City 优先多列+bfs" target="_blank">POJ 2312 Battle City 优先多列+bfs</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2/1.htm">搜索</a> <div>来源:http://poj.org/problem?id=2312 题意:题目背景就是小时候玩的坦克大战,求从起点到终点最少需要多少步。已知S和R是不能走得,E是空的,可以走,B是砖,只有打掉后才可以通过。 思路:很容易看出来这是一道广搜的题目,但是因为走E和走B所需要的时间不一样,因此不能用普通的队列存点。因为对于走B来说,要先打掉砖才能通过,所以我们可以理解为走B需要两步,而走E是指需要1</div> </li> <li><a href="/article/1140.htm" title="Hibernate与Jpa的关系,终于弄懂" target="_blank">Hibernate与Jpa的关系,终于弄懂</a> <span class="text-muted">avords</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/jpa/1.htm">jpa</a> <div>我知道Jpa是一种规范,而Hibernate是它的一种实现。除了Hibernate,还有EclipseLink(曾经的toplink),OpenJPA等可供选择,所以使用Jpa的一个好处是,可以更换实现而不必改动太多代码。 在play中定义Model时,使用的是jpa的annotations,比如javax.persistence.Entity, Table, Column, OneToMany</div> </li> <li><a href="/article/1267.htm" title="酸爽的console.log" target="_blank">酸爽的console.log</a> <span class="text-muted">bee1314</span> <a class="tag" taget="_blank" href="/search/console/1.htm">console</a> <div>在前端的开发中,console.log那是开发必备啊,简直直观。通过写小函数,组合大功能。更容易测试。但是在打版本时,就要删除console.log,打完版本进入开发状态又要添加,真不够爽。重复劳动太多。所以可以做些简单地封装,方便开发和上线。 /** * log.js hufeng * The safe wrapper for `console.xxx` functions * </div> </li> <li><a href="/article/1394.htm" title="哈佛教授:穷人和过于忙碌的人有一个共同思维特质" target="_blank">哈佛教授:穷人和过于忙碌的人有一个共同思维特质</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/%E6%97%B6%E9%97%B4%E7%AE%A1%E7%90%86/1.htm">时间管理</a><a class="tag" taget="_blank" href="/search/%E5%8A%B1%E5%BF%97%E4%BA%BA%E7%94%9F/1.htm">励志人生</a><a class="tag" taget="_blank" href="/search/%E7%A9%B7%E4%BA%BA/1.htm">穷人</a><a class="tag" taget="_blank" href="/search/%E8%BF%87%E4%BA%8E%E5%BF%99%E7%A2%8C/1.htm">过于忙碌</a> <div>        一个跨学科团队今年完成了一项对资源稀缺状况下人的思维方式的研究,结论是:穷人和过于忙碌的人有一个共同思维特质,即注意力被稀缺资源过分占据,引起认知和判断力的全面下降。这项研究是心理学、行为经济学和政策研究学者协作的典范。   这个研究源于穆来纳森对自己拖延症的憎恨。他7岁从印度移民美国,很快就如鱼得水,哈佛毕业</div> </li> <li><a href="/article/1521.htm" title="other operate" target="_blank">other operate</a> <span class="text-muted">征客丶</span> <a class="tag" taget="_blank" href="/search/OS/1.htm">OS</a><a class="tag" taget="_blank" href="/search/osx/1.htm">osx</a> <div>一、Mac Finder 设置排序方式,预览栏 在显示-》查看显示选项中 二、有时预览显示时,卡死在那,有可能是一些临时文件夹被删除了,如:/private/tmp[有待验证] -------------------------------------------------------------------- 若有其他凝问或文中有错误,请及时向我指出, 我好及时改正,同时也让我们一</div> </li> <li><a href="/article/1648.htm" title="【Scala五】分析Spark源代码总结的Scala语法三" target="_blank">【Scala五】分析Spark源代码总结的Scala语法三</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a> <div>1. If语句作为表达式 val properties = if (jobIdToActiveJob.contains(jobId)) { jobIdToActiveJob(stage.jobId).properties } else { // this stage will be assigned to "default" po</div> </li> <li><a href="/article/1775.htm" title="ZooKeeper 入门" target="_blank">ZooKeeper 入门</a> <span class="text-muted">BlueSkator</span> <a class="tag" taget="_blank" href="/search/%E4%B8%AD%E9%97%B4%E4%BB%B6/1.htm">中间件</a><a class="tag" taget="_blank" href="/search/zk/1.htm">zk</a> <div>ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。 值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利</div> </li> <li><a href="/article/1902.htm" title="MySQL取得当前时间的函数是什么 格式化日期的函数是什么" target="_blank">MySQL取得当前时间的函数是什么 格式化日期的函数是什么</a> <span class="text-muted">BreakingBad</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/Date/1.htm">Date</a> <div>取得当前时间用 now() 就行。 在数据库中格式化时间 用DATE_FORMA T(date, format) . 根据格式串format 格式化日期或日期和时间值date,返回结果串。 可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值,以便得到所希望的格式。根据format字符串格式化date值: %S, %s 两位数字形式的秒( 00,01,</div> </li> <li><a href="/article/2029.htm" title="读《研磨设计模式》-代码笔记-组合模式" target="_blank">读《研磨设计模式》-代码笔记-组合模式</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.util.ArrayList; import java.util.List; abstract class Component { public abstract void printStruct(Str</div> </li> <li><a href="/article/2156.htm" title="4_JAVA+Oracle面试题(有答案)" target="_blank">4_JAVA+Oracle面试题(有答案)</a> <span class="text-muted">chenke</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>基础测试题 卷面上不能出现任何的涂写文字,所有的答案要求写在答题纸上,考卷不得带走。 选择题 1、 What will happen when you attempt to compile and run the following code? (3) public class Static { static { int x = 5; // 在static内有效 } st</div> </li> <li><a href="/article/2283.htm" title="新一代工作流系统设计目标" target="_blank">新一代工作流系统设计目标</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a> <div>   用户只需要给工作流系统制定若干个需求,流程系统根据需求,并结合事先输入的组织机构和权限结构,调用若干算法,在流程展示版面上面显示出系统自动生成的流程图,然后由用户根据实际情况对该流程图进行微调,直到满意为止,流程在运行过程中,系统和用户可以根据情况对流程进行实时的调整,包括拓扑结构的调整,权限的调整,内置脚本的调整。。。。。 在这个设计中,最难的地方是系统根据什么来生成流</div> </li> <li><a href="/article/2410.htm" title="oracle 行链接与行迁移" target="_blank">oracle 行链接与行迁移</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E8%A1%8C%E8%BF%81%E7%A7%BB/1.htm">行迁移</a> <div>表里的一行对于一个数据块太大的情况有二种(一行在一个数据块里放不下) 第一种情况: INSERT的时候,INSERT时候行的大小就超一个块的大小。Oracle把这行的数据存储在一连串的数据块里(Oracle Stores the data for the row in a chain of data blocks),这种情况称为行链接(Row Chain),一般不可避免(除非使用更大的数据</div> </li> <li><a href="/article/2537.htm" title="[JShop]开源电子商务系统jshop的系统缓存实现" target="_blank">[JShop]开源电子商务系统jshop的系统缓存实现</a> <span class="text-muted">dinguangx</span> <a class="tag" taget="_blank" href="/search/jshop/1.htm">jshop</a><a class="tag" taget="_blank" href="/search/%E7%94%B5%E5%AD%90%E5%95%86%E5%8A%A1/1.htm">电子商务</a> <div>前言 jeeshop中通过SystemManager管理了大量的缓存数据,来提升系统的性能,但这些缓存数据全部都是存放于内存中的,无法满足特定场景的数据更新(如集群环境)。JShop对jeeshop的缓存机制进行了扩展,提供CacheProvider来辅助SystemManager管理这些缓存数据,通过CacheProvider,可以把缓存存放在内存,ehcache,redis,memcache</div> </li> <li><a href="/article/2664.htm" title="初三全学年难记忆单词" target="_blank">初三全学年难记忆单词</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/english/1.htm">english</a><a class="tag" taget="_blank" href="/search/word/1.htm">word</a> <div>several 儿子;若干 shelf 架子 knowledge 知识;学问 librarian 图书管理员 abroad 到国外,在国外 surf 冲浪 wave 浪;波浪 twice 两次;两倍 describe 描写;叙述 especially 特别;尤其 attract 吸引 prize 奖品;奖赏 competition 比赛;竞争 event 大事;事件 O</div> </li> <li><a href="/article/2791.htm" title="sphinx实践" target="_blank">sphinx实践</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/sphinx/1.htm">sphinx</a> <div>  安装参考地址:http://briansnelson.com/How_to_install_Sphinx_on_Centos_Server   yum install sphinx 如果失败的话使用下面的方式安装 wget http://sphinxsearch.com/files/sphinx-2.2.9-1.rhel6.x86_64.rpm yum loca</div> </li> <li><a href="/article/2918.htm" title="JPA之JPQL(三)" target="_blank">JPA之JPQL(三)</a> <span class="text-muted">frank1234</span> <a class="tag" taget="_blank" href="/search/orm/1.htm">orm</a><a class="tag" taget="_blank" href="/search/jpa/1.htm">jpa</a><a class="tag" taget="_blank" href="/search/JPQL/1.htm">JPQL</a> <div>1 什么是JPQL JPQL是Java Persistence Query Language的简称,可以看成是JPA中的HQL, JPQL支持各种复杂查询。 2 检索单个对象 @Test public  void querySingleObject1() {     Query query = em.createQuery("sele</div> </li> <li><a href="/article/3045.htm" title="Remove Duplicates from Sorted Array II" target="_blank">Remove Duplicates from Sorted Array II</a> <span class="text-muted">hcx2013</span> <a class="tag" taget="_blank" href="/search/remove/1.htm">remove</a> <div>Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? For example,Given sorted array nums = [1,1,1,2,2,3], Your function should return length </div> </li> <li><a href="/article/3172.htm" title="Spring4新特性——Groovy Bean定义DSL" target="_blank">Spring4新特性——Groovy Bean定义DSL</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/spring+4/1.htm">spring 4</a> <div>Spring4新特性——泛型限定式依赖注入 Spring4新特性——核心容器的其他改进 Spring4新特性——Web开发的增强 Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC  Spring4新特性——Groovy Bean定义DSL Spring4新特性——更好的Java泛型操作API  Spring4新</div> </li> <li><a href="/article/3299.htm" title="CentOS安装Mysql5.5" target="_blank">CentOS安装Mysql5.5</a> <span class="text-muted">liuxingguome</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a> <div>CentOS下以RPM方式安装MySQL5.5 首先卸载系统自带Mysql: yum remove mysql mysql-server mysql-libs compat-mysql51 rm -rf /var/lib/mysql rm /etc/my.cnf 查看是否还有mysql软件: rpm -qa|grep mysql 去http://dev.mysql.c</div> </li> <li><a href="/article/3426.htm" title="第14章 工具函数(下)" target="_blank">第14章 工具函数(下)</a> <span class="text-muted">onestopweb</span> <a class="tag" taget="_blank" href="/search/%E5%87%BD%E6%95%B0/1.htm">函数</a> <div>index.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/</div> </li> <li><a href="/article/3553.htm" title="POJ 1050" target="_blank">POJ 1050</a> <span class="text-muted">SaraWon</span> <a class="tag" taget="_blank" href="/search/%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84/1.htm">二维数组</a><a class="tag" taget="_blank" href="/search/%E5%AD%90%E7%9F%A9%E9%98%B5/1.htm">子矩阵</a><a class="tag" taget="_blank" href="/search/%E6%9C%80%E5%A4%A7%E5%92%8C/1.htm">最大和</a> <div>POJ ACM第1050题的详细描述,请参照 http://acm.pku.edu.cn/JudgeOnline/problem?id=1050 题目意思: 给定包含有正负整型的二维数组,找出所有子矩阵的和的最大值。 如二维数组 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 中和最大的子矩阵是 9 2 -4 1 -1 8 且最大和是15</div> </li> <li><a href="/article/3680.htm" title="[5]设计模式——单例模式" target="_blank">[5]设计模式——单例模式</a> <span class="text-muted">tsface</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B/1.htm">单例</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E8%99%9A%E6%8B%9F%E6%9C%BA/1.htm">虚拟机</a> <div>单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点   安全的单例模式:     /* * @(#)Singleton.java 2014-8-1 * * Copyright 2014 XXXX, Inc. All rights reserved. */ package com.fiberhome.singleton; </div> </li> <li><a href="/article/3807.htm" title="Java8全新打造,英语学习supertool" target="_blank">Java8全新打造,英语学习supertool</a> <span class="text-muted">yangshangchuan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/superword/1.htm">superword</a><a class="tag" taget="_blank" href="/search/%E9%97%AD%E5%8C%85/1.htm">闭包</a><a class="tag" taget="_blank" href="/search/java8/1.htm">java8</a><a class="tag" taget="_blank" href="/search/%E5%87%BD%E6%95%B0%E5%BC%8F%E7%BC%96%E7%A8%8B/1.htm">函数式编程</a> <div>superword是一个Java实现的英文单词分析软件,主要研究英语单词音近形似转化规律、前缀后缀规律、词之间的相似性规律等等。Clean code、Fluent style、Java8 feature: Lambdas, Streams and Functional-style Programming。   升学考试、工作求职、充电提高,都少不了英语的身影,英语对我们来说实在太重要</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>