【原创】C++程序设计实践报告 TeX模版

更新: 这破模板是初学TeX时写的, 强烈不推荐使用, 问题很多, 也很ugly. 目前推荐使用ConTeXt或XeTeX+ctex文档类自己写模板.

Cheer_Chan_Above_the_Sky_Photo_Exhibition

为了方便后来的学弟学妹以及增进TeX技术交流(这句显得够假够客套,不就是为了方便x嘛,下次注意),特地把这次做C++程序设计实践的报告TeX模板释出。此模板已经包含了格式和大致的内容框架,并且做上了很详细的注释。OK,不多说,只解释一点,这个模板不包含标题页,因为你们可以用更专业的平面设 计工具(CorelDraw、Illustrator、PageMaker等)做出更优质的封面。这里,不得不再提一句,就像《LaTeX Notes》作者包老师在跋中所述,你把排版弄的再漂亮,也成不了《红楼梦》。因为《红楼梦》即使是手抄本,也依然是不朽的名著。一定要重视内容的质量 (可以扯远到一个专门的技术叫做Quality Control),就像Google的PageRank所看重的一样。

ok,闪人做事去。

% ----------------------------------------------------------------
documentclass[a4paper,oneside,openany]{article}
%A4纸,单面打印,文章。
usepackage{ccmap}
%使生成的PDF文件中的文字可以复制等
usepackage{CJK,CJKnumb,CJKulem}
usepackage{CJKpunct}
usepackage[indentafter,pagestyles]{titlesec}
%使用titlesec宏包自定义页眉页脚和章节名格式
usepackage{indentifirst}
%解决缩进问题
usepackage{times}
%正文的英文部分使用Times New Roman字体
usepackage{graphicx,color}
%黑白打印的话这里不引用color宏包也可
usepackage{listings}
defpgfsysdriver{pgfsys-dvipdfmx.def}
usepackage{tikz}
%这两行是画程序结构框图时需要用到的PGF的声明
% ----------------------------------------------------------------
begin{CJK}{GBK}{com}
 
CJKindent
CJKtilde
CJKcaption{GB}
 
newcommand{hei}{CJKfamily{hei}}
newcommand{song}{CJKfamily{song}}
newcommand{fs}{CJKfamily{fs}}
%定义要使用的字体,这里分别是黑体,宋体,仿宋。
 
newcommand{sihao}{fontsize{14pt}{baselineskip}selectfont}
newcommand{xiaosi}{fontsize{12pt}{14pt}selectfont}
newcommand{wuhao}{fontsize{10.5pt}{12.6pt}selectfont}
%定义要使用的字号,四号,小四,五号。
 
newpagestyle{main}
{sethead[heismall C++程序设计实践报告][][heismallsectiontitle]
{heismall C++程序设计实践报告}{}{heismallsectiontitle}
setfoot{}{smallbfseriesthepage}{}headrule}
pagestyle{main}
%自定义的页眉页脚设置
 
titleformat{section}[hang]{centeringLARGEbfseries}{sectionname}{1em}{}
renewcommand{sectionname}{第CJKnumber{thesection}}
%设置章节前面那个第xxx章的格式。由于是报告,我就不写第xxx章了,而写第xx节。
titlelabel{thetitlequad}
 
lstset{language=C++}
lstset{basicstyle={ttfamily}}
lstset{breaklines}
lstset{extendedchars=false}
%最后引用C++源码时用这个listing宏包,可以自动实现一些如等宽字体和加粗的调整。不过他的中英混排有点问题,切记切记,一定要输出看效果。
 
tikzset{box/.style={rectangle,rounded corners=6pt,minimum width=50pt,minimum height=20pt,inner sep=6pt,draw=black,thick,fill=lightgray}}
%PGF画结构框图的那个框的属性
 
renewcommandrefname{参考文献}
%更改默认的“Reference”为“参考文献”四个字
 
begin{document}
 
%注意我的封面是单独彩印的,所以这里我不做封面,直接生成目录了。
 
{wuhao
tableofcontents
}
 
thispagestyle{empty}
clearpage
% ----------------------------------------------------------------
section{问题重述}
% ------------------------------------------------------
 
{wuhao
编写一个xxx程序。具体要求如下:
 
begin{enumerate}
 
item 换成你自己的内容
%自己加item,自己发挥
 
end{enumerate}
 
}
 
clearpage
 
% ----------------------------------------------------------------
section{设计方案}
% ----------------------------------------------------------------
 
subsection{设计目的}
 
{wuhao
你自己的内容
}
 
subsection{方案概述}
 
{wuhao
你自己的内容
}
 
subsection{方案评价}
 
{heisihao 优点:}
 
{wuhao
begin{itemize}
item 换成你自己的内容
%自己加item,自己发挥
end{itemize}
}
 
{heisihao 不足:}
 
{wuhao
begin{itemize}
item 换成你自己的内容
%自己加item,自己发挥
end{itemize}
}
 
clearpage
% ----------------------------------------------------------------
section{总体设计}
% ----------------------------------------------------------------
 
subsection{程序结构框图}
vspace*{2cm}
begin{tikzpicture}
 
node[box] (round1) at(-2,0) {周围的模块};
node[box] (center) at(3,0) {中央的模块};
node[box] (round2) at(8,0) {周围的模块};
node[box] (round3) at(0.5,4.325) {周围的模块};
node[box] (round4) at(5.5,4.325) {周围的模块};
node[box] (round5) at(0.5,-4.325) {周围的模块};
node[box] (round6) at(5.5,-4.325) {周围的模块};
draw[->] (center)--(round1);
draw[->] (center)--(round2);
draw[->] (center)--(round3);
draw[->] (center)--(round4);
draw[->] (center)--(round5);
draw[->] (center)--(round6);
end{tikzpicture}
 
subsection{程序流程图}
 
{wuhao
下图即为此程序的程序流程图。
}
 
begin{figure}[htbp]
%引用图形这段代码要自己看引用的效果酌情修改
centering
includegraphics[bb=0 0 480 720]{你自己做的流程图.png}
end{figure}
 
clearpage
 
% ----------------------------------------------------------------
section{详细实现}
% ----------------------------------------------------------------
{wuhao
你自己的内容
}
 
subsection{你自己的内容.cpp}
 
subsubsection{功能}
{wuhao
你自己的内容
}
subsubsection{简要参数说明}
{wuhao
你自己的内容
}
subsubsection{函数调用关系}
{wuhao
你自己的内容
}
 
clearpage
 
% ----------------------------------------------------------------
section{调试与测试}
% ----------------------------------------------------------------
 
subsection{调试方法}
{wuhao
你自己的内容
}
subsection{测试结果}
{wuhao
你自己的内容
}
subsection{主要问题}
{wuhao
你自己的内容
}
subsection{解决措施}
{wuhao
你自己的内容
}
clearpage
 
% ----------------------------------------------------------------
section{源代码清单}
% ----------------------------------------------------------------
 
subsection{你自己的内容.cpp}
 
begin{lstlisting}[stringstyle=color{black},frame=single,breaklines=true]
/
*------------------------------------------------------
* 你自己的内容.cpp
* 说明:你自己的内容
*------------------------------------------------------
*/
 
//要包含的头文件
 
#include <windows.h>
 
end{lstlisting}
 
% ----------------------------------------------------------------
nocite{*}
bibliographystyle{unsrt}
bibliography{参考文献列表示例}
end{document}
end{CJK}
% ----------------------------------------------------------------
 
%  参考文献列表示例.bib
 
%  @BOOK{bib1,
%  title = {C++程序设计题解与上机指导},
%  publisher = {北京:清华大学出版社},
%  year = {2005},
%  author = {谭浩强}
%  }
 
%  @BOOK{bib2,
%  title = {C++精髓软件工程方法},
%  publisher = {机械工业出版社},
%  year = {2002},
%  author = {(美)~Victor Shtern}
%  }

(本文最初发表于xiaonei.com)

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!: