Tex 真的是一个用起来非常舒服的排版工具(对于排版要求高的人来说),去比赛前一天放弃了markdown转pdf来生成代码模板,现学Tex(其实美赛已经用过了:P)。

推荐一个链接:TeX — Beauty and Fun,可以了解一下Tex。

我用的工具是Mac下的TexShop,排版时选择XeLaTeX

基本模板:

% !TEX encoding = UTF-8 Unicode
\documentclass[a4paper,11pt,twoside,fontset = fandol,UTF8]{ctexbook} % 页面A4纸大小,11 磅大小的字体,式样为双面,字体集为Fandol,编码为UTF8,文档类型为cTex的book(支持中文)
\usepackage[a4paper,scale=0.8,hcentering,bindingoffset=8mm]{geometry} % A4纸大小,缩放80%,设置奇数页右边留空多一点
\usepackage{hyperref} % 超链接
\usepackage{listings} % 代码块
\usepackage{courier} % 字体
\usepackage{fontspec} % 字体
\usepackage{fancyhdr} % 页眉页脚相关宏包
\usepackage{lastpage} % 引用最后一页
\usepackage{amsmath,amsthm,amsfonts,amssymb,bm} %数学
\usepackage{graphicx} % 图片
\usepackage{subcaption} % 图片描述
\usepackage{longtable,booktabs} % 表格 \setmonofont{Consolas} %设置字体为Consolas
\lstset{ %设置代码块
basicstyle=\footnotesize\ttfamily,% 基本风格
numbers=left, % 行号
numbersep=10pt, % 行号间隔
tabsize=2, % 缩进
extendedchars=true, % 扩展符号?
breaklines=true, % 自动换行
language=C++,
frame=leftline, % 框架左边竖线
xleftmargin=19pt,% 竖线左边间距
showspaces=false,% 空格字符加下划线
showstringspaces=false,% 字符串中的空格加下划线
showtabs=false, % 字符串中的tab加下划线
}
\pagestyle{fancy} % 页眉页脚风格
\fancyhf{} % 清空当前设置
\fancyfoot[C]{\thepage\ / \pageref{LastPage}}%页脚中间显示 当前页 / 总页数,把\label{LastPage}放在最后
\fancyhead[LO,RE]{\thepage}% 页眉奇数页左边,偶数页右边显示当前页
\begin{document}
\begin{titlepage} % 封面
\centering
\vspace*{\baselineskip}
\rule{\textwidth}{1.6pt}\vspace*{-\baselineskip}\vspace*{2pt}
\rule{\textwidth}{0.4pt}\\[\baselineskip]
{\LARGE Algos @BY 2017\\[\baselineskip]\small for ACM ICPC}
\\[0.2\baselineskip]
\rule{\textwidth}{0.4pt}\vspace*{-\baselineskip}\vspace{3.2pt}
\rule{\textwidth}{1.6pt}\\[\baselineskip]
\scshape \begin{figure}[!htb]
\centering
\includegraphics[width=0.3\textwidth]{icpc} % 当前tex文件同一目录下名为icpc的任意格式图片
\end{figure} \vspace*{3\baselineskip}
Edited by \\[\baselineskip] {向饿势力低头\par}
{Team \Large Bow to hungrY \normalsize{at BUPT}\par }
\vfill
{\scshape 2017} \\{\large BEIJING}\par
\end{titlepage}
\newpage % 封面背后空白页
\tableofcontents % 目录
\chapter{计算几何} % 第一章
\setcounter{page}{1} % 这里页数从1开始计算
\section{ 几何基础} % 第一节
% 代码块
\begin{lstlisting}
代码内容
\end{lstlisting}
% ...其它内容
\end{document}
\label{LastPage}

章节层次

  • chapter
  • section
  • subsection

图片

如果需要几张图片并排显示,可用subfigure宏包。

\begin{figure}[h]
\centering
\begin{subfigure}[h]{0.2\textwidth}
\includegraphics[width=\textwidth]{平移} % 名为'平移'的图片文件放在同一目录
\end{subfigure}
~
\begin{subfigure}[h]{0.2\textwidth}
\includegraphics[width=\textwidth]{缩放}
\end{subfigure}
~
\begin{subfigure}[h]{0.5\textwidth}
\includegraphics[width=\textwidth]{旋转}
\end{subfigure}
\\
\begin{subfigure}[h]{0.8\textwidth}
\includegraphics[width=\textwidth]{3D绕轴翻转}
\end{subfigure}
\end{figure}

表格

用了longtable宏包

\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\begin{longtable}[]{@{}llll@{}}
\toprule
\(r\cdot 2 ^ k + 1\) & r & k & g\tabularnewline
\midrule
\endhead
3 & 1 & 1 & 2\tabularnewline
5 & 1 & 2 & 2\tabularnewline
17 & 1 & 4 & 3\tabularnewline
97 & 3 & 5 & 5\tabularnewline
193 & 3 & 6 & 5\tabularnewline
257 & 1 & 8 & 3\tabularnewline
7681 & 15 & 9 & 17\tabularnewline
12289 & 3 & 12 & 11\tabularnewline
40961 & 5 & 13 & 3\tabularnewline
65537 & 1 & 16 & 3\tabularnewline
786433 & 3 & 18 & 10\tabularnewline
5767169 & 11 & 19 & 3\tabularnewline
7340033 & 7 & 20 & 3\tabularnewline
23068673 & 11 & 21 & 3\tabularnewline
104857601 & 25 & 22 & 3\tabularnewline
167772161 & 5 & 25 & 3\tabularnewline
469762049 & 7 & 26 & 3\tabularnewline
1004535809 & 479 & 21 & 3\tabularnewline
2013265921 & 15 & 27 & 31\tabularnewline
\bottomrule
\end{longtable}

代码

用的是listings宏包。具体配置可看wiki-Source_Code_Listings,要求多的可查阅文档

Markdown 转换到 LaTex

原来的 Markdown 的代码模板里大部分就是 ### 标题和代码块,手动加入 LaTex 里太辛苦了,用 typora 转的 LaTex 内容太复杂了,所以我写了个 c++ 程序来转:P,不过也许 python更适合写这种程序。

效果图

制作代码模板的 LaTex 模板的更多相关文章

  1. 国内大学毕业论文LaTeX模板集合

    国内大学毕业论文LaTeX模板集合 薛瑞尼的清华大学学位论文LaTeX模板http://sourceforge.net/projects/thuthesis/ 北大论文文档 LaTeX 模板 pkut ...

  2. 【持续更新】一个简洁、易用的美赛LaTeX模板: easyMCM

    目录 1 当前美赛模板通行情况的概述 2 easymcm宏包说明 2.1 与mcmthesis的关系之说明 2.2 easymcm宏包的简介 2.3 美赛模板下载地址 3 常见问题的解决方案 若您无意 ...

  3. 【持续更新】一个简洁、易用的美赛 LaTeX 模板: easyMCM

    目录 1 当前美赛模板通行情况的概述 2 EasyMCM 宏包说明 2.1 与 mcmthesis 的关系之说明 2.2 easymcm宏包的简介 2.3 美赛模板下载地址 3 README 摘录 3 ...

  4. 哈尔滨工业大学(深圳)本科毕业设计(论文)LaTeX模板:hitszthesis

    目录 本篇文章的主要内容如下: 目录 引言 Why hitszthesis? 下载方式 编译方式简介 模板说明文档(用户手册) 毕业论文撰写样例 后记 引言 去年发布过哈深本科毕业设计(论文)的LaT ...

  5. 国内大学毕业论文 LaTeX 模板集合

    西北工业大学学位论文LaTeX模板 http://code.google.com/p/nwputhesis/ 西北工业大学硕博士论文LaTeX模版 http://code.google.com/p/n ...

  6. WPF--Blend制作Button控件模板

    博客园新人,WPF初学者.不涉及理论知识,直接进入操作. 记录一下使用Blend制作Button控件模板过程中,学到Blend几个知识点: 1.渐变画笔编辑器的Alpha选项可以调控件的透明度.即下图 ...

  7. 个人博客制作如何选择前端模板 thinkcmf后台加载新模板 CSS js文件

    我们的博客后台已经搭建好了,接下来我就要选择一个合适的模板做自己的博客,首先要定位你的博客是做什么用的,是属于什么行业,根据自己博客的定位选择适合的模板. 如果你是设计师,又会前端设计开发,那就可以自 ...

  8. IEEE LaTeX模板使用BibTeX

    IEEE LaTeX 模板使用 BibTeX 在Google Scholar获得的文献引用格式一般是BibTex的,而IEEE Transactions的模板默认用的是BibItem.目前没有什么自动 ...

  9. 山东大学硕士/博士研究生毕业论文--Latex模板

    山东大学硕士/博士研究生毕业论文Latex模板 模板下载地址:  https://github.com/Tsingke/SDU_thesis_template_for_postgraduate 封皮预 ...

随机推荐

  1. plsql部分字段中文乱码,sqlplus中文乱码

    PLSQL中文乱码 问题: 解决: 思路1:设置 export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" 结果:并不能解决问题!   ...

  2. 容器平台选型的十大模式:Docker、DC/OS、K8S 谁与当先?

    作者:刘超   来自:网易云 基础服务 无论是在社区,还是在同客户交流的过程中,总会被问到到底什么时候该用 Docker?什么时候用虚拟机?如果使用容器,应该使用哪个容器平台? 显而易见,我不会直接给 ...

  3. win10 uwp 拖动控件

    我们会使用控件拖动,可以让我们做出好看的动画,那么我们如何移动控件,我将会告诉大家多个方法.其中第一个是最差的,最后的才是我希望大神你去用. Margin 移动 我们可以使用Margin移动,但这是w ...

  4. jfinal使用jstl表达的存在的问及解决

    问题 使用jstl 的el表达式 传递数据刷新页面,页面数据不显示,经过验证,数据的确传递过去,但是官方文档并没有详细描述,getModel() 不需要设get set() ,但是使用jstl el表 ...

  5. multiprocessing模块

    multiprocessing模块 由于GIL的存在,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程. multiproce ...

  6. C#设计模式之九装饰模式(Decorator)【结构型】

    一.引言 今天我们要讲[结构型]设计模式的第三个模式,该模式是[装饰模式].我第一次看到这个名称想到的是另外一个词语“装修”,我就说说我对“装修”的理解吧,大家一定要看清楚,是“装修”,不是“装饰”. ...

  7. canvas+gif.js打造自己的数字雨头像

    前言 昨天 是1024程序员节,不知道各位看官过的怎么样.既然是过节,就要有个过节的样子,比方说,换个头像

  8. 【Java学习笔记之三十四】超详解Java多线程基础

    前言 多线程并发编程是Java编程中重要的一块内容,也是面试重点覆盖区域,所以学好多线程并发编程对我们来说极其重要,下面跟我一起开启本次的学习之旅吧. 正文 线程与进程 1 线程:进程中负责程序执行的 ...

  9. yum fastermirror插件屏蔽一些国内源

    最近被yum上hust源的问题恶心的受不了了,真不明白这种源还活着有什么意义,干脆关了得了,省得恶心人,经常Errno 14,404not found,去网页一看,好家伙,提示404的xml.gz路径 ...

  10. 从项目中总结的js知识点

    1. 数字字符串和数字进行比较可以得出正确结果,却不能正确判断是否在一个数字数组中.如以下程序: var s = '8', n = 8, arr = [1,2,8,9]; console.log(s= ...