用Overleaf编译LaTeX文档,这些排版技巧让你的作业、讲义更专业
一、基础设置:页边距与中文支持
在Overleaf中新建一个项目,先把文档框架搭好。推荐使用 XeLaTeX 或 LuaLaTeX 编译,因为它们对中文和字体支持更好。
\documentclass[12pt,a4paper]{article}\usepackage[UTF8]{ctex} % 中文支持\usepackage[margin=2cm]{geometry} % 页边距上下左右均为2cm\usepackage{fancyhdr} % 页眉页脚定制
-
geometry宏包可以方便地设置页边距:margin=2cm就是四面留白2厘米。 -
如果想单独设置,可以用
top=2cm, bottom=2cm, left=2cm, right=2cm。
二、页眉页脚定制(含横线)
很多文档需要在页眉显示章节名或课程名,页脚显示页码。用 fancyhdr 可以轻松实现。
1. 基本页眉页脚
\pagestyle{fancy}\fancyhf{} % 清空默认设置\fancyhead[C]{Chain Rule} % 页眉左\fancyhead[C]{} % 页眉中(留空)\fancyhead[R]{} % 页眉右\fancyfoot[C]{\thepage} % 页脚居中显示页码
-
[L]/[C]/[R]分别代表左、中、右。 -
\thepage会自动输出当前页码。
2. 页眉下方的横线(下框线)
默认情况下,fancyhdr 会在页眉下方画一条0.4pt的细线。如果你之前用 \renewcommand{\headrulewidth}{0pt} 把它去掉了,现在想恢复,只需要:
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\headrule}{%\hrule height 1pt \vskip 2pt \hrule height 0.5pt}
3. 页脚横线
页脚上方的横线用 \footrulewidth 控制,默认是0(无横线)。想开启的话:
\renewcommand{\footrulewidth}{0.4pt}
三、在题目下方留出固定行数的空白(空4行、空6行)
出练习题时,每个题目下面要留出答题区域。如果用单纯的换行 \\ 或 \par,可能会被LaTeX自动调整或分页打断。正确的做法是使用 \vspace*{高度}(带星号的版本,确保即使在一页开头也不会被吞掉)。
定义通用的留空命令
\newcommand{\blanklines}[1]{%\par\nobreak\vspace*{#1\baselineskip}%\par\nobreak}
-
\nobreak提示LaTeX尽量不要在这里断页,保证空白和题目在同一页(但不强制,如果实在放不下会自动分页)。
然后定义两个方便的命令:
\newcommand{\problem}[2]{%\textbf{#1.} \ensuremath{#2} \par\blanklines{4} % 留4行空白}\newcommand{\hardproblem}[2]{%\textbf{#1.} \ensuremath{#2} \par\blanklines{6} % 留6行空白(难题多给点空间)}
\problem{1}{y = \sqrt[3]{1 + 4x}}\hardproblem{31}{y = \sin(\tan 2x)}
四、左右两栏排列,自动跨页(用 longtable)
常规的 tabular 或 minipage 无法自动跨页。这时候需要 longtable 宏包。
\usepackage{longtable}\usepackage{array}
longtable,每栏宽度为页面宽度的48%,中间留4%作为间距:\setlength{\LTleft}{0pt}\setlength{\LTright}{0pt}\begin{longtable}{@{} p{0.48\linewidth} @{\hspace{0.04\linewidth}} p{0.48\linewidth} @{}}
-
@{}去掉列两边的默认间距,让表格紧贴版心。 -
p{0.48\linewidth}是定宽列,内容自动换行。 -
@{\hspace{0.04\linewidth}}在两列之间插入水平间距。
然后在表格里一行一行写题目,用 & 分隔两列,\\ 换行:
\problem{1}{y = \sqrt[3]{1 + 4x}} & \problem{2}{y = (2x^3 + 5)^4} \\\problem{3}{y = \tan \pi x} & \problem{4}{y = \sin(\cot x)} \\% ... 更多题目\end{longtable}
longtable 会自动在页面底部断开,并在下一页继续,不需要手动干预。五、将答案单独放在最后一页,分两栏显示
题目占多页,答案另起一页,并且分两栏以节省空间。
\newpage\begin{center}\Large \textbf{参考答案}\end{center}\vspace{0.5cm}\usepackage{multicol}\setlength{\columnsep}{1cm}\begin{multicols}{2}\begin{enumerate}\item $\frac{4}{3(1+4x)^{2/3}}$\item $24x^2(2x^3+5)^3$% ... 其他答案\end{enumerate}\end{multicols}
-
\newpage强制分页。 -
multicols环境自动将内容平衡分栏。
六、完整代码示例(可复制的Overleaf模板)
把上面所有技巧整合起来,就是一个完整的练习题文档。你可以直接在Overleaf中新建项目,粘贴以下代码,选择 XeLaTeX 编译。
% 链式法则求导练习题(带页眉页脚、留白、两栏、答案页)\documentclass[12pt,a4paper]{article}\usepackage[UTF8]{ctex}\usepackage{amsmath,amssymb}\usepackage[margin=2cm, headheight=15pt, headsep=0.8cm, footskip=0.8cm]{geometry}\usepackage{fancyhdr}\usepackage{longtable}\usepackage{array}\usepackage{multicol}% 页眉页脚\pagestyle{fancy}\fancyhf{}\fancyhead[L]{Chain Rule}\fancyfoot[C]{\thepage}\renewcommand{\headrulewidth}{0.4pt} % 页眉下横线\renewcommand{\footrulewidth}{0pt}% 留空白命令\newcommand{\blanklines}[1]{%\par\nobreak\vspace*{#1\baselineskip}%\par\nobreak}\newcommand{\problem}[2]{%\textbf{#1.} \ensuremath{#2} \par\blanklines{4}%}\newcommand{\hardproblem}[2]{%\textbf{#1.} \ensuremath{#2} \par\blanklines{6}%}\begin{document}\begin{center}\Large \textbf{链式法则求导练习题}\\\normalsize 运用链式法则求下列函数的导数。\end{center}\setlength{\LTleft}{0pt}\setlength{\LTright}{0pt}\begin{longtable}{@{} p{0.48\linewidth} @{\hspace{0.04\linewidth}} p{0.48\linewidth} @{}}\problem{1}{y = \sqrt[3]{1+4x}} & \problem{2}{y = (2x^3+5)^4} \\\problem{3}{y = \tan \pi x} & \problem{4}{y = \sin(\cot x)} \\% ...... 继续添加题目 ......\hardproblem{31}{y = \sin(\tan 2x)} & \hardproblem{32}{y = \sec^2(m\theta)} \\\end{longtable}\newpage\begin{center}\Large \textbf{参考答案}\end{center}\setlength{\columnsep}{1cm}\begin{multicols}{2}\begin{enumerate}\item $\frac{4}{3(1+4x)^{2/3}}$\item $24x^2(2x^3+5)^3$% ...... 其余答案 ......\end{enumerate}\end{multicols}\end{document}
掌握了这些技巧,你就能用Overleaf快速制作出结构清晰、适合打印的练习题、作业纸甚至试卷了。快去试试吧!
以下为今天用overleaf编译生成的练习题。




遇到问题看不懂怎么办?
可以直接在下方留言
或者手动搜索微信号:Shirley_
或者扫描下方二维码

你如果在看就点击右边的“在看”,
如果你再看请坚持点“在看”!
点“在看”你会变“好看”
一次点“在看”,一次好运!
谢谢大家!
夜雨聆风