Commit 1bc7f694 authored by 魔法少女赵志辉's avatar 魔法少女赵志辉 🍊
Browse files

Update document for project2-document_previewer

parent d2849832
\documentclass{dreamClass}
\def\CC{ {C\nolinebreak[4]\hspace{-.05em}\raisebox{.4ex}{\small\bf ++}} }
\title{
\vspace{-50pt}
\textbf{\Huge Project2}\\
\textbf{\huge 文档预览器}\\
\small Version 1.0.0
}
\author{刘添翼\thanks{\href{mailto:tyi.liu@outlook.com}{tyi.liu@outlook.com}}}
\affil{计算机科学与技术系,南京大学}
\date{\today}
\begin{document}
\maketitle
\thispagestyle{empty}
\section{最后期限}
Project2的最后期限是\textbf{北京时间2021年11月14日23时59分}
在此之前,每位同学需要提交课程项目的源码、可执行文件和项目报告到Github Classroom的对应于Project2的assignment中去。
\section{概述}
我们已经实现了一个Markdown的文档预览器!
所以,让我们为预览器加入更多的功能吧!
\section{原则}
预览器必须是从第一行代码开始写成的,符合面向对象和泛型程序设计范式的,\CC{}程序。
推荐使用第三方的\CC{}图形库来完成界面的绘制,键盘鼠标事件的捕获和处理等等内容,这样可以集中精力设计和实现预览器的架构。
推荐使用第三方的库来完成zip文件的解压缩和XML文件的读取。
预览器应当基于Project2中已经完成的部分,只在确实有必要的情况下重构已有的代码。
\section{技术指标}
我们凭借直觉,制订了这份技术指标。
本节是Project2的基本要求,其中描述的所有内容,除了显式说明成\emph{可以自由发挥}的之外,都需要完成。
\subsection{对Microsoft Word文档的支持}
借助已经存在的开源的\CC{}库,实现对扩展名为.docx的Microsoft Word文档的预览。只需要实现对简单的语法的支持即可。
\begin{problem}
我对Microsoft Word和XML都完全不熟悉,我要怎么办?
\end{problem}
对扩展名为.docx的Microsoft Word文档的良好支持是极端困难的,对扩展名为.doc的的则完全不在本次课程项目的范围之内。互联网上存在一些开源的、用\CC{}写成的、用于解析Microsoft Word文档的库,请在其许可证允许的范围之内加以合理利用。
\subsection{\LaTeX{}文档的支持}
实现对\LaTeX{}文档的预览。只需要实现对最简单最常用的语法的支持即可。
\begin{problem}
我对Microsoft Word、XML和\LaTeX{}都完全不熟悉,我要怎么办?
\end{problem}
\LaTeX{}文档的良好支持是不可能的。我们希望各位同学,战略性地尝试一下,支持一些最常见最基本的语法(比如本学期的课程项目的文档中经常用到的那些)即可。不需要支持任何看起来就没办法实现的内容,特别地,不需要支持公式。
当然,对此有浓厚兴趣的同学可以自由发挥。
\section{Q\&A}
\begin{problem}
我需要在Project2里实现GUI吗?
\end{problem}
对,至少需要实现一个能够以网页的形式展示HTML的界面。
功能相对完备的图形库大多带有可以渲染和展示HTML网页的设施。请查阅相关的手册然后自行尝试。
FLTK似乎没有;
wxWdigets的用户可以参考\url{https://docs.wxwidgets.org/3.0/classwx_web_view.html}
Qt的用户可以参考\url{https://doc.qt.io/qt-5/qtwebenginewidgets-module.html}
\begin{problem}
我应该使用哪个图形库?
\end{problem}
原则上任何一个都可以。实际一点的话,考虑到这个项目的现实情况,一个相对功能完备的图形库会比较合适。
具体而言,有良好的HTML渲染引擎,有文件管理相关的设施,有内置的XML解析器和文本编辑器的会比较合适。
\end{document}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment