2
0
Fork 0
mirror of https://github.com/MartinThoma/LaTeX-examples.git synced 2025-04-24 22:08:04 +02:00

another bachelor proposal

This commit is contained in:
Martin Thoma 2014-01-11 19:25:15 +01:00
parent 2158dee453
commit ce1dc848dc
7 changed files with 1699 additions and 0 deletions

View file

@ -0,0 +1,10 @@
SOURCE = bachelor-proposal-latex-writing-recognition
make:
pdflatex $(SOURCE).tex -output-format=pdf
bibtex $(SOURCE)
pdflatex $(SOURCE).tex -output-format=pdf # Referenzen einbinden
pdflatex $(SOURCE).tex -output-format=pdf # Referenzen einbinden
make clean
clean:
rm -rf $(TARGET) *.class *.html *.log *.aux *.out *.bcf *.bbl *.blg

View file

@ -0,0 +1,235 @@
\documentclass[a4paper]{scrartcl}
\usepackage{amssymb, amsmath} % needed for math
\usepackage[utf8]{inputenc} % this is needed for umlauts
\usepackage[english]{babel} % this is needed for umlauts
\usepackage[T1]{fontenc} % this is needed for correct output of umlauts in pdf
\usepackage[margin=2.5cm]{geometry} %layout
\usepackage{hyperref} % links im text
\usepackage{color}
\usepackage{framed}
\usepackage{enumerate} % for advanced numbering of lists
\usepackage{csquotes}
\usepackage{ifxetex,ifluatex}
\usepackage{etoolbox}
\usepackage[svgnames]{xcolor}
\usepackage{tikz}
\usepackage{framed}
\usepackage{parskip}
\usepackage{cite}
\usepackage{fancyref}
\usepackage{mystyle}
\clubpenalty = 10000 % Schusterjungen verhindern
\widowpenalty = 10000 % Hurenkinder verhindern
\hypersetup{
pdfauthor = {Martin Thoma},
pdfkeywords = {Bachelor proposal, LaTeX, handwriting recognition},
pdftitle = {Proposal for a Bachelor of Science Thesis:\\Interactive on-line handwriting recognition of mathematical formulae}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\title{Proposal for a Bachelor of Science Thesis:\\Interactive on-line handwriting recognition of mathematical formulae}
\author{Martin Thoma}
\maketitle
\section{The problem backgound}
There are people who don't know how to write even
simple mathematical formulae with \LaTeX{} like
\[\pi/\alpha=\sum_{n=-\infty}^\infty \frac{\sin^2 (c+n)\alpha}{(c+n)^2}=\int_{-\infty}^\infty \frac{\sin^2 (c+n)\alpha}{(c+n)^2}\, \text{d}n\]
or who need much time to do so. Currently, there are several online
services, programms and apps that help to write mathematical
formulae, but all programms I know have serious disadvantages:
\begin{itemize}
\item \href{http://detexify.kirelabs.org/classify.html}{detexify.kirelabs.org}
recognizes \textbf{only symbols},
\item the formel editor of LibreOffice Writer 3.6 as showen
in \Fref{fig:libre-office-3.6} offers some
guidiance by grouping common operations while showing
a WYSIWYG editor, but it has \textbf{no handwriting recognition}.
Another drawback is the fact that it is \textbf{not available
as an online service}, so you have to install LibreOffice
which might not be possible on all devices.
\item The \enquote{Daum Equation Editor} (see \Fref{fig:daum-editor}) is available online
and offers guidiance through the creation of equations,
but does not offer handwriting recognition. Although
it might be OpenSource, the \textbf{source code is difficult to
find}. This means if you want to improve the recognition,
it is not possible. It also makes use of Adobe Flash
which is not available on many smartphones and tablet
computers.
\item Maple seems to offer handwritten symbol recognition (\href{http://www.maplesoft.com/products/maple/features/handwritten.aspx}{source}),
but on the one hand I was not able to test that, because
it is \textbf{not available for free}. On the other hand you
have to install additional software, it seems not to be
available for tablet computers and it does only recognize
single symbols.
\item Wolfram Mathematica seems to be able to do complete
formula recognition at least for simple formulae (\href{http://reference.wolfram.com/mathematica/tutorial/HandwrittenMathRecognition.html}{source})
by using Microsofts \href{http://windows.microsoft.com/en-ph/windows7/use-math-input-panel-to-write-and-correct-math-equations}{Math Input Panel},
but this is neither OpenSource nor available as an
online service. Additionally it is not
available for Linux systems, so I can't test it.
\end{itemize}
A more comprehensive list can be found at \href{https://en.wikipedia.org/wiki/Formula_editor}{https://en.wikipedia.org/wiki/Formula\_editor}.
A problem of some of the projects presented there is that they
require the client to execute Java Applets which is a security
risk.
\begin{figure}[h]
\centering
\includegraphics*[width=5cm, keepaspectratio]{figures/libreoffice-writer.png}
\caption{LibreOffice Writer 3.6 - Formel Editor}
\label{fig:libre-office-3.6}
\end{figure}
\begin{figure}[h]
\centering
\includegraphics*[width=15cm, keepaspectratio]{figures/daum-editor.png}
\caption{Daum Equation editor}
\label{fig:daum-editor}
\end{figure}
\break
\section{The problem statement}
What I would like to have is an interactive on-line handwriting
recognition service, that is available as a web service which makes
use of touchscreens. Additionally, it should be for free and
OpenSource, the source code should be easy to find and documented.
This means:
\begin{itemize}
\item \textbf{Service}: The program can be accessed over the web, so
that the user does only have to have a modern browser.
As a consequence, the software could be used with any
device that has a touch screen.
\item \textbf{On-line handwriting recognition}: The service
starts recognizing while the user enters a formula.
\item \textbf{Interactive}: The service offers symbols and constructs
to the user before the user starts typing. These suggestions
might chage depending on what the user has typed before.
\item \textbf{OpenSource}: Any license in this list: \href{http://opensource.org/licenses}{http://opensource.org/licenses}
\item \textbf{Easy to find}: Ideally, the project should have
an own domain that contains the source code, the service
and documentation. But it might be enough to provide
an email address to a developer within the top of
of the source code of the delivered HTML document.
\end{itemize}
\section{Significance}
For me as a Linux user, there no software that I can test and which
offers on-line, interactive math handwriting recognition. But the
need of such a software is there.
But there are more reasons why this bachelor's thesis matters:
Projects like \LaTeX{}, Linux, Apache or FireFox have shown that
OpenSoure software can enrich the develpment in specific areas. The
\enquote{Browser Wars} might be the most famous result of an active
OpenSource community. Internet Explorer 6 had
a market share of over 80\% in 2003. Prequels of Firefox and the Mozilla
foundation already existed, but Firefox 1.0 was released not until
November 2004. After that, Firefox and other open browsers added many
features that Internet Explorer had to compete with, like tabbed browsing,
HTML4 standard conformance, support of the \texttt{<canvas>} tag and
speed of HTML rendering and JavaScript execution.\footnote{\href{http://www.evolutionoftheweb.com/}{www.evolutionoftheweb.com} offers a graphical overview. Although supporting standards like HTML4 or CSS~2 is not done with one version, but rather an incremental process.} Some of these
questions are interesting for science such as many problems related
to layouts and just-in-time compilation (JIT). With OpenSource software
that makes it easy to find its source and offers good documentation,
researchers can simply try their ideas without being blocked by
having to try to access the source code.
Additionally, such a project might give researchers more time to
concentrate on the tasks they really want to do rather than spending
hours by learning \LaTeX{}.
\section{Time schedule}
\begin{itemize}
\item[70h] Literature research about on-line handwriting recognition
techniques and gamification.
\item[5h] Defining browsers and devices that should get supported
and required client side software like HTML5, CSS 3
and ECMAScript (better known as JavaScript). Also,
required input methods like touchscreens and stylus
should be mentioned.
\item[20h] Writing use cases. This is includes writing example
formula that the user shoud type and the system should
be able to recognize; finding people with different
knowledge of \LaTeX{} and from different fields who
want to participate in user tests.
\item[60h] Implementing the core of the application: Handwriting
recognition of digits and symbols by using only
HTML, CSS and on the client side. This includes implementing
a way for the user to enter new symbols and to correct the
symbol that was suggested by the recognition system.
\item[20h] Introduce testers that already know \LaTeX{} to the
current system. At this point, the system does only do
symbol recognition. The testers should train it,
insert symbols like $a-z, A-Z, 0-9, \alpha-\omega, A-\Omega, \cdot, \circ, \dots$
\item[10h] Get feedback by the users. This feedback will not be included
in the thesis, but the improvements will get documented.
\item[60h] Finding structures and ways how to enter them. Examples
of structures that can be nested are sums:
\begin{verbatim}\sum_{<some structure>}^{<another strcuture>} <a third structure>\end{verbatim}
Implement the recognition of those strucutres.
\item[30h] Observe \enquote{fresh} testers while they try to use
the system.
\item[70h] Improving the software to fix problems that were found
with user tests
\item[50h] Fix bugs, improve code quality and readability as well
as documentation.
\item[45h] Usability testing: Try Hallway testing. The results
of these tests get documented and will be part of the
bachelor's thesis. If possible, I would like
to let the testers use their own devices.
\item[10h] Mentioning open questions and ideas how they could be
analyzed with the service that was created.
\end{itemize}
\section{Outline}
I have described in which steps I would like to write the software,
but almost all points include writing the bachelor's thesis document.
A first draft of the outline could be like this:
\begin{enumerate}
\item Introduction
\item Definitions
\begin{enumerate}
\item Hardware: What is available and what is the distribution?
\item Software: What is available and what is the distribution?
\item Support of standards like HTML, CSS, ECMA-Script, Flash, Cookies, ...
\item Choice of hardware, software and standards that should get supported as well as the choice of Libraries and the required server-side software
\item Application to the domain of math recognition
\end{enumerate}
\item On-line handwriting techniques
\begin{enumerate}
\item Description of techniques in general
\item Application to the domain of math recognition
\end{enumerate}
\item Gamification techniques
\begin{enumerate}
\item Description of techniques in general
\item Application to the domain of math recognition in the web
\end{enumerate}
\item Software Project
\begin{enumerate}
\item Structure of the code
\item Availability of documentation
\item Availability of the service
\end{enumerate}
\item Summary
\begin{enumerate}
\item Future Work
\end{enumerate}
\end{enumerate}
\break
\renewcommand\refname{Related Literature}
\nocite{*}
\bibliographystyle{itmalpha}
\bibliography{literatur}
This literature list is only a list that seems to make sense to me
by now. As I proceed I might find more usefull sources for the different
topics. So I might add, but also remove elements from this list.
Especially for gamification I might read documents from
\href{http://gamification-research.org/}{gamification-research.org}.
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,64 @@
@inproceedings{conf/icdar/StoffelTR09,
added-at = {2009-10-13T00:00:00.000+0200},
author = {Stoffel, Andreas and Tapia, Ernesto and Rojas, Raúl},
biburl = {http://www.bibsonomy.org/bibtex/2e97b8b08492190cf461f7b3dfad48d40/dblp},
booktitle = {ICDAR},
crossref = {conf/icdar/2009},
date = {2009-10-13},
description = {dblp},
ee = {http://dx.doi.org/10.1109/ICDAR.2009.122},
interhash = {2e6bf9ca0cdbadf7d4bbb1c8c84a1a11},
intrahash = {e97b8b08492190cf461f7b3dfad48d40},
keywords = {dblp},
pages = {1211-1215},
publisher = {IEEE Computer Society},
timestamp = {2009-10-13T00:00:00.000+0200},
title = {Recognition of On-Line Handwritten Commutative Diagrams.},
url = {http://dblp.uni-trier.de/db/conf/icdar/icdar2009.html#StoffelTR09},
year = 2009
}
@proceedings{conf/icdar/2009,
title = {10th International Conference on Document Analysis and Recognition,
ICDAR 2009, Barcelona, Spain, 26-29 July 2009},
booktitle = {ICDAR},
publisher = {IEEE Computer Society},
year = {2009},
bibsource = {DBLP, http://dblp.uni-trier.de}
}
@misc{bworld,
author = {Sebastian Deterding},
title = {{Meaningful Play - Getting "Gamificaiton" Right}\\},
howpublished = "\url{http://www.slideshare.net/dings/meaningful-play-getting-gamification-right}",
year = {2011},
note = "[Online; accessed 10-January-2014]"
}
@BOOK{zichermann,
AUTHOR = {Gabe Zichermann},
TITLE = {Gamification by Design},
PUBLISHER = {O'Reilly Media},
YEAR = {2011},
Volume = {},
Series = {},
Address = {},
Edition = {},
Month = {},
Note = {},
Key = {}
}
@BOOK{impedovo,
AUTHOR = {Sebastiano Impedovo},
TITLE = {Fundamentals in handwriting recognition},
PUBLISHER = {Springer-Verlag},
YEAR = {1994},
Volume = {},
Series = {},
Address = {},
Edition = {},
Month = {},
Note = {},
Key = {}
}

View file

@ -0,0 +1,65 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% conditional for xetex or luatex
\newif\ifxetexorluatex
\ifxetex
\xetexorluatextrue
\else
\ifluatex
\xetexorluatextrue
\else
\xetexorluatexfalse
\fi
\fi
%
\ifxetexorluatex%
\usepackage{fontspec}
\usepackage{libertine} % or use \setmainfont to choose any font on your system
\newfontfamily\quotefont[Ligatures=TeX]{Linux Libertine O} % selects Libertine as the quote font
\else
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{libertine} % or any other font package
\newcommand*\quotefont{\fontfamily{LinuxLibertineT-LF}} % selects Libertine as the quote font
\fi
\newcommand*\quotesize{60} % if quote size changes, need a way to make shifts relative
% Make commands for the quotes
\newcommand*{\openquote}
{\tikz[remember picture,overlay,xshift=-4ex,yshift=-2.5ex]
\node (OQ) {\quotefont\fontsize{\quotesize}{\quotesize}\selectfont``};\kern0pt}
\newcommand*{\closequote}[1]
{\tikz[remember picture,overlay,xshift=4ex,yshift={#1}]
\node (CQ) {\quotefont\fontsize{\quotesize}{\quotesize}\selectfont''};}
% select a colour for the shading
\colorlet{shadecolor}{white}
\newcommand*\shadedauthorformat{\emph} % define format for the author argument
% Now a command to allow left, right and centre alignment of the author
\newcommand*\authoralign[1]{%
\if#1l
\def\authorfill{}\def\quotefill{\hfill}
\else
\if#1r
\def\authorfill{\hfill}\def\quotefill{}
\else
\if#1c
\gdef\authorfill{\hfill}\def\quotefill{\hfill}
\else\typeout{Invalid option}
\fi
\fi
\fi}
% wrap everything in its own environment which takes one argument (author) and one optional argument
% specifying the alignment [l, r or c]
%
\newenvironment{shadequote}[2][l]%
{\authoralign{#1}
\ifblank{#2}
{\def\shadequoteauthor{}\def\yshift{-2ex}\def\quotefill{\hfill}}
{\def\shadequoteauthor{\par\authorfill\shadedauthorformat{#2}}\def\yshift{2ex}}
\begin{snugshade}\begin{quote}\openquote}
{\shadequoteauthor\quotefill\closequote{\yshift}\end{quote}\end{snugshade}}