ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

不一样的 LaTeX 教程(第二话):LaTeX 多级标题设置必知必会

2022-02-06 09:02:14  阅读:785  来源: 互联网

标签:LaTeX 教程 format 必知 section 标题 实验 subsection 设置


简介

LaTeX 中有七级标题,每一集标题有相应的默认样式,但往往有时默认样式不满足我们的要求。通过修改 \ctexset命令提供的参数,我们可以修改标题样式

LaTeX 标题结构

七级结构

  • part、chapter、section、subsection、subsubsection、paragraph、subparagraph。
  • ctexart 类没有 chapter 结构。
  • 每级结构都有一个带星号的版本。如:\section*{}
  • 使用\tebleofcontents命令自动生成目录。

标题的作用

  • 输出标题内容。
  • 对标题进行编号。
  • 把标题列入目录。
  • 写入页眉页脚。

注意:对于带星号的标题命令,仅仅起输出标题内容的作用。而对于其他三点不起作用。

修改标题样式

  • 本文以修改一份实验报告的标题样式进行说明。
\documentclass{ctexart}
\begin{document}
\tableofcontents  % 自动生成目录
\section{实验目的}
实验目的实验目的实验目的实验目的实验目的实验目的实验目的,
实验目的实验目的实验目的实验目的实验目的实验目的实验目的。

\section{实验原理}
实验原理实验原理实验原理实验原理实验原理实验原理
实验原理实验原理实验原理实验原理。

\section{实验仪器和药品}
\subsection{实验仪器}
实验仪器、实验仪器、实验仪器、实验仪器。
\subsection{实验药品}
实验药品、实验药品、实验药品、实验药品。

\section{实验步骤}
\subsection{实验条件}
\subsection{实验过程}

\section{实验数据记录及分析}
\subsection{数据}
\subsection{图表}
\subsection{结果分析}

\section{讨论}
\end{document}

编译结果

可见,对于一份实验报告来说,这样的标题样式太奇怪了!

  • 修改所有的标题样式都在导言区用\ctexset命令进行设置。

设置标题编号前后的词语

  • 使用name={<前部分>,<后部分>}参数进行设置。
  • 其中的,是编号的占位符。
\ctexset{
  % 修改 section。
  section={   
    name={,、}
  },
  % 修改 subsection。
  subsection={   
    name={,、}
  }
}

编译结果

可见 section 与 subsection 的编号后面换成了

设置标题编号

  • 使用number参数设置标题编号。
  • \arabic设置为阿拉伯数字,\chinese设置为中文,\roman设置为小写罗马字母,\Roman设置为大写罗马字母,\alph设置为小写英文,\Alph设置为大写英文。
\ctexset{
    % 修改 section。
    section={   
        name={,、},
        number={\chinese{section}}
    },
    % 修改 subsection。
    subsection={   
        name={,、},
        number={\arabic{subsection}}
    }
}

编译结果

设置标题整体样式

  • 参数format设置标题整体的样式。包括标题主题、编号以及编号前后的词语。
  • 参数format还可以设置标题的对齐方式。
    • 居中对齐\centering
    • 左对齐\raggedright
    • 右对齐\hfill
\ctexset{
    % 修改 section。
    section={   
        name={,、},
        number={\chinese{section}},
        format=\heiti\raggedright\zihao{-4} % 设置 section 标题为黑体、右对齐、小4号字
    },
    % 修改 subsection。
    subsection={   
        name={,、},
        number={\arabic{subsection}},
        format=\heiti\zihao{5} % 设置 subsection 标题为黑体、5号字
    }
}

编译结果

注意:如果使用+=,则会在原有的默认样式上添加新样式。

取消编号后的空白

  • 编号后有一段空白。
  • 参数aftername可以用来控制编号与标题之间的距离。
  • aftername=hspace(0pt)设置距离为 0 磅。
\ctexset{
    % 修改 section。
    section={   
        name={,、},
        number={\chinese{section}},
        format=\heiti\raggedright\zihao{-4}, % 设置 section 标题为黑体、右对齐、小4号字
        aftername=hspace{0pt}
    },
    % 修改 subsection。
    subsection={   
        name={,、},
        number={\arabic{subsection}},
        format=\heiti\zihao{5}, % 设置 subsection 标题为黑体、5号字
        aftername=hspace{0pt}
    }
}

编译结果

还有一个问题感觉标题和正文的距离太宽了。

设置标题与正文的距离

  • 参数beforeskip控制标题与上面正文的距离。
  • 参数afterskip控制标题与下面正文的距离。
\ctexset{
    % 修改 section。
    section={   
        name={,、},
        number={\chinese{section}},
        format=\heiti\raggedright\zihao{-4}, % 设置 section 标题为黑体、右对齐、小4号字
        aftername=\hspace{0pt},
        beforeskip=1ex,
        afterskip=1ex
    },
    % 修改 subsection。
    subsection={   
        name={,、},
        number={\arabic{subsection}},
        format=\heiti\zihao{5}, % 设置 subsection 标题为黑体、5号字
        aftername=\hspace{0pt},
        beforeskip=1ex,
        afterskip=1ex
    }
}

编译结果

对于实验报告这个例子,我们就暂且该一段落吧。接下来还有一些其他的重要的设置参数。

其他重要标题设置参数

接下来介绍的三个参数nameformatnumberformattitleformat都是在format参数基础上进一步修正。

  • ctex 官方文档中有一个图清楚地说明了各种 format 的关系。

设置标题名字样式

  • format对标题整体进行样式设置,包括编号和标题主体。
  • 单独对编号设置,可以使用nameformat参数。

设置编号数字样式

  • format对标题整体进行样式设置,包括编号和标题主体。
  • 单独对编号中的数字设置,可以使用numberformat参数。

设置标题主体样式

  • format对标题整体进行样式设置,包括编号和标题主体。
  • 单独对标题主体进行设置,可以使用titleformat参数。

标签:LaTeX,教程,format,必知,section,标题,实验,subsection,设置
来源: https://blog.csdn.net/eThreeJIAN/article/details/122795654

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有