Google Summer of Code 2019: First Steps
Hello! My name is David Méndez, and this summer I will be working on the LaTeX Integration project for the Google Summer of Code. The goal of this project is to facilitate working with LaTeX for the end user. I will develop several tools that analyze and check LaTeX text documents:
- A search for bibliographic entries (which are used, how many times and where).
- A counting tool for words, characters and quotes per document.
- A validator of TEX files to solve issues.
- A tool to import entries from TEX file.
In addition to this, if there is some time left, I would like to add a tool that supports connection to JabRef from external editors.
Any feedback is more than welcome! Forum | GitHub | Gitter
May 06, 2019 – May 26, 2019 (Community bonding period)
At first, we have spent some time improving the definition of the project. During this time I was familiarizing myself with the community and setting up the code environment, while completing the following tasks:
- First meetings with the mentors, which included: initial introduction, code walk-through, discussion and prioritization of the use cases and thinking about the implementation.
- Working on small GitHub issues and getting in touch with the community.
- Creation of a forum thread in which to ask users about the project while proposing some use cases and prototypes in order to get feedback and discuss further.
- After that, defining the design details properly with the help of mentors.
May 27, 2019 – Jun 02, 2019 (First week of coding)
After thinking about some design and implementation details, I have been coding the back-end of the TEX parser tool. The tool reads each file line by line, parses and analyzes them and detects different citation formats. On top of that, I have been preparing some tests for these classes.
Code will be as self-explanatory as possible, following the contributing guidelines. Moreover, everything related to this project will be uploaded as a public pull request so as to share code, ask and receive questions, discuss details, track the progress, etc.