在上一篇文章中,我们用OverLeaf制作了一份项目周报,但是实际使用时,对格式还有诸多要求,故又进行了几轮的修正,接下来本篇文章向大家介绍一下优化部分;
上一篇文章的周报,是我们使用了在线模板,对其中一些代码进行了修改得到的;在进行格式优化时,由于没有学习过,刚开始一筹莫展,幸好后来借助ChatGPT,经过反复尝试,最终完成了格式的优化,在写本篇文章过程中,对代码的解释部分,我们也会让ChatGPT来帮助我们;
目录
页眉调整
要求:所有页面的页眉黑色横线去掉;页面右侧增加页码,从正文页开始为1,首页和尾页不记页数。
\documentclass{article}
\usepackage{fancyhdr} % 导入fancyhdr宏包
% 设置页眉和页脚样式
\pagestyle{fancy}
\fancyhf{} % 清空页眉和页脚
\fancyhead[R]{\thepage} % 页码放置在页面右上角
\renewcommand{\headrulewidth}{0pt} % 去除页眉的横线
\setlength{\headheight}{-1mm} % 调整页眉的高度
% 定义首页和尾页不记页数的命令
\newcommand{\frontmatter}{\pagenumbering{gobble}}
\newcommand{\mainmatter}{\pagenumbering{arabic}}
\begin{document}
\frontmatter % 使用 \frontmatter 命令,首页不计页数
% 正文内容
\mainmatter % 使用 \mainmatter 命令,开始正文并重新计页数
% 正文内容
\end{document}
这段代码使用了fancyhdr
宏包来设置页眉和页脚样式。\pagestyle{fancy}
命令将页面的样式设置为fancy
,\fancyhf{}
命令清空了默认的页眉和页脚内容。\fancyhead[R]{\thepage}
命令将页码放置在页面的右上角。\renewcommand{\headrulewidth}{0pt}
命令去除了页眉的横线。\setlength{\headheight}{-1mm}
命令调整了页眉的高度。
此外,代码还定义了两个命令\frontmatter
和\mainmatter
。在文档的开始处使用\frontmatter
命令,可以使首页不计入页码。在正文开始处使用\mainmatter
命令,可以开始正文并重新计算页码。
一级标题样式调整
\documentclass{article}
\usepackage{titlesec} % 导入titlesec宏包
\usepackage{graphicx} % 导入graphicx宏包
\definecolor{red2}{RGB}{255, 0, 0} % 定义颜色
\titleformat{\section}
{\centering\color{red2}\fontsize{32pt}{\baselineskip}\selectfont}
{}
{0em}
{}
\newcommand{\sectionwithimage}[3]{%
\section[#1]{\centering\raisebox{-0.3\height}{\includegraphics[height=#3]{#2}}\vspace{0.2cm}\quad #1}%
}
\begin{document}
\section{一级标题}
\sectionwithimage{带图的一级标题}{example-image}{2cm}
\end{document}
在这段代码中,我们使用了titlesec
宏包来自定义一级标题的样式,并使用了graphicx
宏包来插入图片。
通过\definecolor{red2}{RGB}{255, 0, 0}
命令,我们定义了一个名为"red2"的颜色,其RGB值为(255, 0, 0)。您可以根据需要修改RGB值或定义其他颜色。
在\titleformat{\section}{...}
命令中,我们定义了一级标题的样式:
\centering
将标题居中显示。\color{red2}
将标题的颜色设置为指定颜色。\fontsize{32pt}{\baselineskip}\selectfont
设置标题的字体大小为32pt,行距与基线距离为\baselineskip
。- 其他选项为空。
通过\newcommand{\sectionwithimage}[3]{...}
命令,我们定义了一个名为\sectionwithimage
的自定义命令,用于创建带有图片的一级标题。该命令接受三个参数:
#1
:标题的文本内容。#2
:插入的图片文件名。#3
:图片的高度。
在命令内部,我们使用了\section[#1]{...}
来创建一级标题,其中#1
作为标题的文本内容,并使用\includegraphics[height=#3]{#2}
插入指定高度的图片。图片的垂直位置通过\raisebox{-0.3\height}{...}
进行微调,使其居中显示。同时,在标题和图片之间添加了一些垂直间距和水平间距。
在文档中,我们使用了\section
和\sectionwithimage
来创建一级标题和带图的一级标题。您可以根据需要调整标题内容、图片文件名和图片高度。
二级标题样式调整
\documentclass{article}
\usepackage{titlesec} % 导入titlesec宏包
\definecolor{red2}{RGB}{255, 0, 0} % 定义颜色
% 将 subsection 的编号格式从 "section.subsection" 改为只显示 subsection 的编号
\counterwithout{subsection}{section}
% 设置二级标题的大小和颜色
\titleformat{\subsection}
{\normalfont\fontsize{24pt}{18pt}\selectfont\color{red2}}
{\thesubsection}
{0.1cm}
{}
\begin{document}
\section{一级标题}
\subsection{二级标题}
\end{document}
在这段代码中,我们使用了titlesec
宏包来自定义二级标题的样式。
通过\counterwithout{subsection}{section}
命令,我们将二级标题的编号格式从默认的"section.subsection"改为只显示二级标题的编号。这意味着二级标题的编号将不再包含一级标题的编号。
在\titleformat{\subsection}{...}
命令中,我们定义了二级标题的样式:
\normalfont
将标题的字体设置为正常字体。\fontsize{24pt}{18pt}\selectfont
设置标题的字体大小为24pt,行距为18pt。\color{red2}
将标题的颜色设置为指定颜色。\thesubsection
用于显示二级标题的编号。0.1cm
设置标题的编号与标题文本之间的水平间距为0.1cm。- 其他选项为空。
在文档中,我们使用了\section
和\subsection
来创建一级标题和二级标题。二级标题的编号将只显示二级标题的编号,不再包含一级标题的编号。您可以根据需要调整标题内容和样式。
分栏调整
要求:分割线使用红色
\documentclass{article}
\usepackage{lipsum}
\usepackage{multicol}
\usepackage{color}
% 设置分栏线为红色
\setlength{\columnseprule}{1pt}
\renewcommand{\columnseprulecolor}{\color{red}}
\begin{document}
\begin{multicols}{2} % 分为两栏
\lipsum[1-5] % 示例文本
\end{multicols}
\end{document}
这段代码使用了multicol
宏包来实现分栏效果,lipsum
宏包用于生成示例文本。通过\setlength{\columnseprule}{1pt}
命令,我们设置了分栏线的宽度为1pt。然后,使用\renewcommand{\columnseprulecolor}{\color{red}}
命令将分栏线的颜色设置为红色。
在multicols
环境中,我们将文档分为两栏,并在其中插入了示例文本\lipsum[1-5]
。您可以根据需要调整分栏数目和插入的内容。
字体和字号调整
要求: 所有字体:微软雅黑 正文字体大小:四号
\documentclass{article}
\usepackage{ctex} % 导入ctex宏包
\usepackage{fontspec} % 导入fontspec宏包
% 设置中文字体
\setCJKmainfont{MSYHMONO.ttf}[
BoldFont=MSYHMONO.ttf
]
% 设置英文字体
\setmainfont{MSYHMONO.ttf}
\ctexset{
subsection = {
format+=\zihao{4} % 设置 subsection 的字号为四号
}
}
\begin{document}
\section{示例标题}
这是示例文本。
\subsection{示例小节}
这是示例小节的内容。
\end{document}
这段代码使用了ctex
宏包来处理中文文档,并使用了fontspec
宏包来设置字体。
通过\setCJKmainfont{MSYHMONO.ttf}[BoldFont=MSYHMONO.ttf]
命令,我们设置了中文字体为MSYHMONO.ttf
,并指定粗体字体也为MSYHMONO.ttf
。您可以将MSYHMONO.ttf
替换为您想要使用的字体文件名。
通过\setmainfont{MSYHMONO.ttf}
命令,我们设置了英文字体为MSYHMONO.ttf
。同样,您可以将MSYHMONO.ttf
替换为您想要使用的字体文件名。
通过\ctexset{subsection = {...}}
命令,我们设置了subsection
标题的格式。在这个例子中,我们将subsection
标题的字号设置为四号字体(\zihao{4}
)。
在文档中,我们使用了\section
和\subsection
命令来创建示例标题和小节,并在文本中插入了一些示例内容。
MSYHMONO.ttf是我们网上下载的微软雅黑的文件,上传上去即可;
文字颜色调整
\documentclass{article}
\usepackage{xcolor} % 导入xcolor宏包
\definecolor{two}{RGB}{89, 89, 89} % 定义颜色
\begin{document}
\hspace{1.5cm}\textcolor{two}{\LARGE (内部资料,请勿外泄)}
\end{document}
这段代码使用了xcolor
宏包来处理颜色相关的命令。
通过\definecolor{two}{RGB}{89, 89, 89}
命令,我们定义了一个名为"two"的颜色,其RGB值为(89, 89, 89)。您可以根据需要修改RGB值或定义其他颜色。
在文档中,我们使用了\textcolor{two}{\LARGE (内部资料,请勿外泄)}
命令来设置文字的颜色为之前定义的"two"颜色,并使用\LARGE
命令将文字设置为大号字体。
您可以根据需要调整水平间距(\hspace{1.5cm}
)和文字内容。
列表项符号调整
\documentclass{article}
\usepackage{xcolor} % 导入xcolor宏包
\usepackage{enumitem} % 导入enumitem宏包
\definecolor{zhengwen}{RGB}{0, 128, 0} % 定义颜色
\setlist[itemize]{
label=\textcolor{zhengwen}{\textbullet}, % 设置项目符号为指定颜色的圆点
before=\color{zhengwen}, % 设置项目符号前的文本颜色
align=left % 设置项目符号对齐方式为左对齐
}
\begin{document}
\begin{itemize}
\item 示例项目一
\item 示例项目二
\item 示例项目三
\end{itemize}
\end{document}
这段代码使用了xcolor
宏包和enumitem
宏包。
通过\definecolor{zhengwen}{RGB}{0, 128, 0}
命令,我们定义了一个名为"zhengwen"的颜色,其RGB值为(0, 128, 0)。您可以根据需要修改RGB值或定义其他颜色。
在文档中,我们使用了\setlist[itemize]{...}
命令来设置itemize
环境中项目符号的样式。
label=\textcolor{zhengwen}{\textbullet}
将项目符号设置为指定颜色的圆点。before=\color{zhengwen}
将项目符号前的文本颜色设置为指定颜色。align=left
将项目符号对齐方式设置为左对齐。
在文档中,我们创建了一个itemize
环境,并添加了几个示例项目。您可以根据需要调整项目内容和样式。
列表项间距调整
\documentclass{article}
\usepackage{enumitem} % 导入enumitem宏包
\begin{document}
\begin{itemize}[label={\fontsize{18}{7}\selectfont\textbullet}, itemsep=0pt, parsep=0pt, leftmargin=*, labelsep=0.5em]
\item \setlength{\baselineskip}{1cm} 完成项目主计划确认,收集并整理项目阶段计划。
\item \setlength{\baselineskip}{1cm} 完成项目主计划确认,收集并整理项目阶段计划。
\item \setlength{\baselineskip}{1cm} 完成项目主计划确认,收集并整理项目阶段计划。
\end{itemize}
\end{document}
在这段代码中,我们使用了enumitem
宏包来设置项目符号的样式和行距。
在itemize
环境中,我们使用了以下选项:
label={\fontsize{18}{7}\selectfont\textbullet}
:将项目符号设置为指定字体大小的圆点。通过\fontsize{18}{7}\selectfont
设置字体大小为18pt,行距为7pt,并使用\textbullet
命令插入圆点符号。itemsep=0pt
:设置项目之间的垂直间距为0pt。parsep=0pt
:设置段落之间的垂直间距为0pt。leftmargin=*
:使项目符号的左边距适应文本的缩进。labelsep=0.5em
:设置项目符号和文本之间的水平间距为0.5em。
在每个项目中,我们使用了\setlength{\baselineskip}{1cm}
命令来设置行距为1cm。您可以根据需要调整行距和项目内容。
请注意,为了使代码能够正确编译,您需要确保在您的LaTeX环境中安装了enumitem
宏包。