Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Files generated by Jekyll
_site/
.sass-cache/
.jekyll-cache/
.jekyll-metadata
vendor
# Files generated by Bundler
.bundle/
vendor/
Gemfile.lock

# Gems
*.gem

# Files generated by OS
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
25 changes: 25 additions & 0 deletions 404.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
permalink: /404.html
layout: default
---

<style type="text/css" media="screen">
.container {
margin: 10px auto;
max-width: 600px;
text-align: center;
}
h1 {
margin: 30px 0;
font-size: 4em;
line-height: 1;
letter-spacing: -1px;
}
</style>

<div class="container">
<h1>404</h1>

<p><strong>Page not found</strong></p>
<p>The requested page could not be located on this server. Check that you typed the URL character sequence correctly. You can also <a href="/index.html">return to the homepage</a>.</p>
</div>
35 changes: 35 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!

# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima", "~> 2.5"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem 'github-pages (~> 4.0.0) x64-mingw32'
gem "github-pages", "~> 3.8.5", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
# gem "github-pages", "~> 3.8.5"
gem "jekyll-feed", "~> 0.12"
gem "jekyll-sitemap"
gem "jekyll-seo-tag"
gem "jekyll-archives"
end

# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do
gem "tzinfo", "~> 1.2"
gem "tzinfo-data"
end

# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform?

59 changes: 59 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Welcome to Jekyll!
#
# This config file is meant for settings that affect your whole blog, values
# which you are expected to set up once and rarely edit after that. If you find
# yourself editing this file very often, consider using Jekyll's data files
# feature for the data you need to update frequently.
#
# For technical reasons, this file is *NOT* reloaded automatically when you use
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
#
# If you need help with YAML syntax, here are some quick references for you:
# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
# https://learnxinyminutes.com/docs/yaml/
#
# Site settings
# These are used to personalize your new site. If you look in the HTML files,
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.

title: Latex-access
name: Latex-access Contributors
tagline: "A website dedicated to LaTeX to Braille translation."

domain: latex-access.github.io
url: https://latex-access.github.io
baseurl: "/latex-access/" # the subpath of your site, e.g. /blog
github_username: latex-access

# Build settings
theme: minima
plugins:
- jekyll-feed
- jekyll-sitemap
- jekyll-seo-tag
- jekyll-archives

environment: prod
# google_analytics:

# Exclude from processing.
# The following items will not be processed, by default.
# Any item listed under the `exclude:` key here will be automatically added to
# the internal "default list".
#
# Excluded items can be processed by explicitly listing the directories or
# their entries' file path in the `include:` list.
#
# exclude:
# - .sass-cache/
# - .jekyll-cache/
# - gemfiles/
# - Gemfile
# - Gemfile.lock
# - node_modules/
# - vendor/bundle/
# - vendor/cache/
# - vendor/gems/
# - vendor/ruby/
37 changes: 37 additions & 0 deletions _includes/footer.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<footer class="site-footer h-card">
<data class="u-url" href="{{ "/" | relative_url }}"></data>

<div class="wrapper">

<div class="footer-col-wrapper">
<div class="footer-col">
{%- if site.author %}
<ul class="contact-list">
{% if site.author.name -%}
<li class="p-name">{{ site.author.name | escape }}</li>
{% endif -%}
{% if site.author.email -%}
<li><a class="u-email" href="mailto:{{ site.author.email }}">{{ site.author.email }}</a></li>
{%- endif %}
</ul>
{%- endif %}
</div>
<div class="footer-col">
<p>{{ site.description | escape }}</p>
</div>
</div>

<div class="social-links">
{%- include social.html -%}
</div>

</div>

<h2>Edit History:</h2>
<p>29.06.2022<br/>
By <a href="https://github.com/njsch">Nathaniel Schmidt</a></p>
<p>14.02.2022<br/>
by <a href="https://github.com/jakubl7545">Jakub Lukowicz</a>.</p>
<p>02/05/2014<br/>
by <a href="https://github.com/ajirving">Alastair Irving</a>.</p>
</footer>
Empty file added _includes/header.html
Empty file.
59 changes: 0 additions & 59 deletions index.html

This file was deleted.

58 changes: 58 additions & 0 deletions index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
# Feel free to add content and custom Front Matter to this file.
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults

layout: home
title: Latex-access, providing easy on-the-fly Braille and speech access to LaTeX documents
description: "The latex-access project is a Python package designed to provide a realtime translation of a line of LaTeX into braille, using either the Nemeth or UEB code, which can be read on a refreshable braille display. This will greatly improve the ease of use of LaTeX to blind mathematicians and scientists. The project also translates the current line into english speech which is easier to listen to than LaTeX source."
---

## What is the Latex-access Project?
The latex-access project is designed to provide a realtime translation of a line of LaTeX into braille, using either the Nemeth or UEB code, which can be read on a refreshable braille display. This will greatly improve the ease of use of LaTeX to blind mathematicians and scientists. The project also translates the current line into english speech which is easier to listen to than LaTeX source.

Note that this project is largely aimed at people wishing to read LaTeX using a refreshable braille display and/or speech synthesiser, and people who will probably want to edit LaTeX documents. For example, a university student could receive worksheets in LaTeX format and produce their work using LaTeX. Using the latex-access scripts, they will be able to get a fairly good translation of the question and then an on-the-fly translation of their work as they produce it. If you are not concerned with editing LaTeX documents and simply want a braille translation of an entire laTeX document, then this project is not for you.

## Why the Need for the Project Latex-access?
It is widely thought that LaTeX is a good system for a blind mathematician or scientist to use to create and read scientific documents, as it is a linear code and so the user does not have to interact with two-dimensional notation, such as fractions and column vectors. By reading this linear code, a blind person can take in and understand scientific documents in the same way that a sighted person would do by studying a printed document. It should be noted that normally, laTeX is just a source from which documents are converted into an attractive-looking, typeset document that can be printed or viewed on screen, often in a .pdf, .dvi or .ps format. For various technical reasons, documents in such formats are currently inaccessible with current screen-reading technology. The best current solution therefore is not to concern ourselves with documents in these formats, but rather to read and interpret the LaTeX source code itself.

## Reading a LaTeX Document
It is entirely possible to read a LaTeX document simply by reading the LaTeX source itself. This however, is often a time-consuming and pain-staking process, and it is often not particularly nice to read. For example, the LaTeX source for the quadratic formula is <br/>
```tex
$$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$$
```
It is therefore the aim of the project to translate a line of LaTeX into a line of braille code, which can be read using a refreshable braille display. The project also aims to provide an audible translation of the LaTeX source which will be output through current screen-reading technology.

## Current Features
Latex-access currently contains the following features:
* Translation of many mathematical expressions from LaTeX to Nemeth or UEB braille and English speech. These include, but are not confined to:
* Translation of fractions, both numerical and algebraic.
* Translation of trigonometric functions and hyperbolic functions.
* Translation of powers, including square roots.
* Translation of expressions used in calculus, including partial derivatives.
* Translation of numerous mathematical symbols, such as the Greek letters.
* Many commands used to create a visually attractive document are either translated or ignored, often it is not necessary to see some formatting commands.
* A matrix browser feature to enable easier reading of larger matrices in LaTeX, see the description below.
* Support for custom defined LaTeX commands.
* Interfaces to the Windows screen readers [JAWS](https://www.freedomscientific.com/products/software/jaws/) and [NVDA](https://www.nvaccess.org/about-nvda/).
* Interfaces to [BRLTTY](http://mielke.cc/brltty/) and [Emacspeak](http://emacspeak.sourceforge.net/) under Linux.
* When using BRLTTY, cursor routing keys on Braille displays are supported making navigation much simpler.

## The matrix browser
As most refreshable braille displays are currently limited to one line, manipulating matrices (EG multiplication) simply by reading LaTeX source code poses a problem, as we often need to see elements in different rows of a matrix at the same time. For smaller matrices we can usually do this by memorising the matrix, however for larger matrices (usually 3 by 3 and above), this becomes impossible. Therefore we have developed a browser interface which greatly eases the stress involved in performing matrix operations.

## The Preprocessor
One of the many powerful features of LaTeX is the ability to define custom commands. Latex-access includes a mechanism, the preprocessor, for including the definitions of such commands in the translation. Once commands have been added to the preprocessor they can be saved to a file for future use.

## Obtaining the scripts
The scripts are available on Github. The URL for the repository is<br/>
[https://github.com/latex-access/latex-access](https://github.com/latex-access/latex-access)
You can clone it with the following command<br/>
```
git clone --recursive https://github.com/latex-access/latex-access.git
```


## Contacting the Developers
The developers of the project are always happy to answer any questions you may have. We are also keen to hear suggestions for any improvements or new features. Rather than contacting an individual developer directly it is probably best that you do one of the following:
* Use our [mailing list](https://lists.sourceforge.net/lists/listinfo/latex-access-devel)
* Use the [issue tracker](https://github.com/latex-access/latex-access/issues) on Github to report any bugs or offer feature suggestions. You can create a new one [here](https://github.com/latex-access/latex-access/issues/new).