]> git.lyx.org Git - features.git/commitdiff
add a module for typesetting Braille
authorUwe Stöhr <uwestoehr@web.de>
Sun, 6 Jan 2008 13:39:58 +0000 (13:39 +0000)
committerUwe Stöhr <uwestoehr@web.de>
Sun, 6 Jan 2008 13:39:58 +0000 (13:39 +0000)
(entry for the LaTeXConfig.lyx file follows when bug 4460
http://bugzilla.lyx.org/show_bug.cgi?id=4460
is fixed)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22393 a592a061-630c-0410-9148-cb99ea01b6c8

development/scons/scons_manifest.py
lib/Makefile.am
lib/chkconfig.ltx
lib/examples/Braille.lyx [new file with mode: 0644]
lib/layouts/braille.module [new file with mode: 0644]

index d5088fd06a2894c1dd5d62c0a984e6f3ab7b49f3..5b4743c791042966a216ec168d168245d5e4241d 100644 (file)
@@ -2271,6 +2271,7 @@ lib_doc_sv_files = Split('''
 
 
 lib_examples_files = Split('''
+    Braille.lyx
     CV-image.eps
     CV-image.png
     Foils.lyx
@@ -2610,6 +2611,7 @@ lib_layouts_inc_files = Split('''
 
 
 lib_layouts_module_files = Split('''
+    braille.module
     endnotes.module
     foottoend.module
     hanging.module
index 4e8a39c52ee5aa51ea374c8b5a76c288473e9e29..ac476b2708e76f031cceff7775c5b8b3365a53de 100644 (file)
@@ -178,6 +178,7 @@ dist_slexamples_DATA = \
 
 examplesdir = $(pkgdatadir)/examples
 dist_examples_DATA = \
+       examples/Braille.lyx \
        examples/CV-image.eps \
        examples/CV-image.png \
        examples/Foils.lyx \
@@ -942,6 +943,7 @@ dist_layouts_DATA =\
        layouts/article.layout \
        layouts/beamer.layout \
        layouts/book.layout \
+       layouts/braille.module \
        layouts/broadway.layout \
        layouts/chess.layout \
        layouts/cl2emult.layout \
index ffa4450f2b5a0b9fb38f8146cb4f17ae5876e9fa..b1fca1f6c85df4bb6099476e83d961e577af97e8 100644 (file)
 \TestPackage{babel}
 \TestPackage{bibtopic}
 \TestPackage{booktabs}
+\TestPackage{braille}
 \TestPackage{color} % this one should be there if graphics.sty is there.
 \TestPackage{covington}
 \TestPackage{csquotes}
diff --git a/lib/examples/Braille.lyx b/lib/examples/Braille.lyx
new file mode 100644 (file)
index 0000000..987b08e
--- /dev/null
@@ -0,0 +1,553 @@
+#LyX 1.6.0svn created this file. For more info see http://www.lyx.org/
+\lyxformat 310
+\begin_document
+\begin_header
+\textclass article
+\begin_preamble
+% color greyed-out notes blue
+\renewenvironment{lyxgreyedout}
+ {\textcolor{blue}\bgroup}{\egroup}
+\end_preamble
+\begin_modules
+Braille
+\end_modules
+\language english
+\inputencoding utf8
+\font_roman default
+\font_sans default
+\font_typewriter default
+\font_default_family default
+\font_sc false
+\font_osf false
+\font_sf_scale 100
+\font_tt_scale 100
+\graphics default
+\paperfontsize default
+\spacing single
+\use_hyperref true
+\pdf_title "How to write Braille with LyX"
+\pdf_author "Uwe Stöhr"
+\pdf_bookmarks true
+\pdf_bookmarksnumbered false
+\pdf_bookmarksopen false
+\pdf_bookmarksopenlevel 1
+\pdf_breaklinks false
+\pdf_pdfborder true
+\pdf_colorlinks true
+\pdf_backref false
+\pdf_pagebackref false
+\pdf_pdfusetitle true
+\papersize default
+\use_geometry true
+\use_amsmath 1
+\use_esint 1
+\cite_engine basic
+\use_bibtopic false
+\paperorientation portrait
+\leftmargin 2.5cm
+\rightmargin 2.5cm
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation skip
+\defskip medskip
+\quotes_language english
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tracking_changes false
+\output_changes false
+\author "" 
+\author "" 
+\end_header
+
+\begin_body
+
+\begin_layout Title
+How to write Braille with LyX
+\end_layout
+
+\begin_layout Author
+Uwe Stöhr
+\newline
+
+\begin_inset CommandInset href
+LatexCommand href
+target "uwestoehr@web.de"
+type "mailto:"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+First a general note: The Braille you can create with LaTeX is not a professiona
+l one! Professional Braille can be 6 or 8\InsetSpace \thinspace{}
+dot, while LaTeX only supports
+ only 6\InsetSpace \thinspace{}
+dot Braille without accented characters.
+\end_layout
+
+\begin_layout Standard
+To write Braille with LyX, load the module 
+\family sans
+Braille
+\family default
+ in the document settings under 
+\family sans
+Document\InsetSpace ~
+Class
+\family default
+.
+ Now select the environment 
+\family sans
+Braille\InsetSpace ~
+(default)
+\family default
+ or 
+\family sans
+Braille\InsetSpace ~
+(textsize)
+\family default
+ from the end of LyX's environment selection box and write your text.
+ The other Braille environments are only turn on/off some properties as
+ described below; keep them empty!
+\end_layout
+
+\begin_layout Standard
+Here is an example:
+\lyxline
+
+\end_layout
+
+\begin_layout Standard
+with Latin letters:
+\newline
+This is an example sentence written in Braille.
+\end_layout
+
+\begin_layout Standard
+with Braille letters:
+\end_layout
+
+\begin_layout Braille (default)
+This is an example sentence written in Braille.
+\end_layout
+
+\begin_layout Standard
+
+\lyxline
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace bigskip
+\end_inset
+
+You can see that LaTeX is not able to hyphenate words written in Braille.
+ You have to do this manually.
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace bigskip
+\end_inset
+
+
+\begin_inset Note Greyedout
+status open
+
+\begin_layout Standard
+
+\series bold
+Note:
+\series default
+ Only Latin letters, numbers, punctuations, parentheses, and brackets can
+ be printed in Braille.
+ Special characters like 
+\begin_inset Quotes eld
+\end_inset
+
+@
+\begin_inset Quotes erd
+\end_inset
+
+, or 
+\begin_inset Quotes eld
+\end_inset
+
+$
+\begin_inset Quotes erd
+\end_inset
+
+, accented characters like umlauts, and line breaks are not supported.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace bigskip
+\end_inset
+
+
+\begin_inset Note Greyedout
+status open
+
+\begin_layout Standard
+
+\series bold
+Note:
+\series default
+ LyX and LaTeX's proper names 
+\begin_inset Quotes eld
+\end_inset
+
+LaTeX
+\begin_inset Quotes erd
+\end_inset
+
+, 
+\begin_inset Quotes eld
+\end_inset
+
+LaTeX2e
+\begin_inset Quotes erd
+\end_inset
+
+, 
+\begin_inset Quotes eld
+\end_inset
+
+TeX
+\begin_inset Quotes erd
+\end_inset
+
+, and 
+\begin_inset Quotes eld
+\end_inset
+
+LyX
+\begin_inset Quotes erd
+\end_inset
+
+ must be inserted as ERT, as in the following example:
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+\lyxline
+
+\end_layout
+
+\begin_layout Standard
+Latin: 
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+LyX
+\end_layout
+
+\end_inset
+
+ is cool!
+\newline
+Braille:
+\end_layout
+
+\begin_layout Braille (default)
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+LyX
+\end_layout
+
+\end_inset
+
+ is cool!
+\end_layout
+
+\begin_layout Standard
+
+\lyxline
+
+\end_layout
+
+\begin_layout Standard
+Here is an overview about the different Braille environments using the example
+ text 
+\begin_inset Quotes eld
+\end_inset
+
+This is Braille.
+\begin_inset Quotes erd
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace bigskip
+\end_inset
+
+Default:
+\end_layout
+
+\begin_layout Braille (default)
+This is Braille.
+\end_layout
+
+\begin_layout Standard
+Size that approximately matches the document's text size:
+\end_layout
+
+\begin_layout Braille (textsize)
+This is Braille.
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace bigskip
+\end_inset
+
+Tiny dots can be displayed at empty positions:
+\end_layout
+
+\begin_layout Braille (dots on)
+
+\end_layout
+
+\begin_layout Braille (textsize)
+This is Braille.
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace bigskip
+\end_inset
+
+The text can be printed mirrored to be later able to for "print" Braille
+ by hand with a needle or another suitable method:
+\end_layout
+
+\begin_layout Standard
+Normal:
+\end_layout
+
+\begin_layout Braille (default)
+This is Braille.
+\end_layout
+
+\begin_layout Standard
+Mirrored:
+\end_layout
+
+\begin_layout Braille (mirror on)
+
+\end_layout
+
+\begin_layout Braille (default)
+This is Braille.
+\end_layout
+
+\begin_layout Braille (mirror off)
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace bigskip
+\end_inset
+
+Computer Braille that uses 8 dots can be turned on with the command 
+\series bold
+
+\backslash
+brailleeightdotstrue
+\series default
+.
+ But the two extra dots are only used when they are accessed with the command
+\series bold
+
+\backslash
+braillebox
+\series default
+.
+ For example the command
+\newline
+
+\series bold
+
+\backslash
+braillebox{8175}
+\series default
+
+\newline
+leads to: 
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+brailleeightdotstrue
+\end_layout
+
+\end_inset
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+braillebox{8175}
+\end_layout
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+brailleeightdotsfalse
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace bigskip
+\end_inset
+
+The size of the default Braille font can be changed by the length 
+\series bold
+
+\backslash
+brailleunit
+\series default
+.
+ Its default value is 2.4\InsetSpace \thinspace{}
+mm.
+ To get e.\InsetSpace \thinspace{}
+g.\InsetSpace ~
+double-sized Braille where also the tiny dots have the double
+ size, use this command in ERT in your document:
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+
+\backslash
+renewcommand{
+\backslash
+braillenormal}[1]
+\newline
+\InsetSpace ~
+{
+\backslash
+setlength{
+\backslash
+brailleunit}{4.8mm}
+\backslash
+braille{#1}}
+\end_layout
+
+\begin_layout Standard
+Double-sized Braille:
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+renewcommand{
+\backslash
+braillenormal}[1]
+\end_layout
+
+\begin_layout Standard
+
+ {
+\backslash
+setlength{
+\backslash
+brailleunit}{4mm}
+\backslash
+braille{#1}}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Braille (default)
+This is Braille.
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+renewcommand{
+\backslash
+braillenormal}[1]
+\end_layout
+
+\begin_layout Standard
+
+ {
+\backslash
+setlength{
+\backslash
+brailleunit}{2mm}
+\backslash
+braille{#1}}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace bigskip
+\end_inset
+
+For more informations about the Braille cell dimensions have a look at 
+\begin_inset CommandInset href
+LatexCommand href
+name "Braille cell dimensions"
+target "http://www.tiresias.org/publications/reports/braille_cell.htm"
+
+\end_inset
+
+.
+\end_layout
+
+\end_body
+\end_document
diff --git a/lib/layouts/braille.module b/lib/layouts/braille.module
new file mode 100644 (file)
index 0000000..b11decd
--- /dev/null
@@ -0,0 +1,152 @@
+#\DeclareLyXModule[braille.sty]{Defines an environment to typeset Braille.}{Braille}
+
+# Author: Uwe Stöhr <uwestoehr@web.de>
+
+Format 5
+
+Preamble
+       \usepackage{braille}
+       \newcommand{\braillenormal}[1]
+        {\setlength{\brailleunit}{2.4mm}\braille{#1}}
+       % With \brailleunit == 0.75ex, the braille letters will
+       % approximately match the other letters in size.
+       \newcommand{\brailletext}[1]
+        {\setlength{\brailleunit}{0.75ex}\braille{#1}}
+EndPreamble
+
+# default Braille
+Style Braille_(default)
+       LatexType               command
+       LatexName               braillenormal
+       NextNoIndent            1
+       LeftMargin              XBraille:
+       LabelSep                xx
+       ParSkip                 0.0
+       ItemSep                 0.2
+       TopSep                  0.7
+       BottomSep               0.7
+       ParSep                  0.3
+       Align                   Block
+       AlignPossible           Block, Left
+       LabelType               Static
+       LabelString             "Braille:"
+       LabelFont
+               Shape           Italic
+               Color           Blue
+       EndFont
+End
+
+# Braille in text size
+Style Braille_(textsize)
+       LatexType               command
+       LatexName               brailletext
+       NextNoIndent            1
+       LeftMargin              XBraille:
+       LabelSep                xx
+       ParSkip                 0.0
+       ItemSep                 0.2
+       TopSep                  0.7
+       BottomSep               0.7
+       ParSep                  0.3
+       Align                   Block
+       AlignPossible           Block, Left
+       LabelType               Static
+       LabelString             "Braille:"
+       LabelFont
+               Shape           Italic
+               Color           Blue
+       EndFont
+End
+
+# turn on dots
+Style Braille_(dots_on)
+       LatexType               command
+       LatexName               brailleputtinydotstrue
+       NextNoIndent            1
+       KeepEmpty               1
+       LeftMargin              XBraille_dots_on
+       LabelSep                xx
+       ParSkip                 0.0
+       ItemSep                 0.2
+       TopSep                  0.7
+       BottomSep               0.7
+       ParSep                  0.3
+       Align                   Block
+       AlignPossible           Block, Left
+       LabelType               Static
+       LabelString             "Braille_dots_on"
+       LabelFont
+               Shape           Italic
+               Color           Green
+       EndFont
+End
+
+# turn off dots
+Style Braille_(dots_off)
+       LatexType               command
+       LatexName               brailleputtinydotsfalse
+       NextNoIndent            1
+       KeepEmpty               1
+       LeftMargin              XBraille_dots_off
+       LabelSep                xx
+       ParSkip                 0.0
+       ItemSep                 0.2
+       TopSep                  0.7
+       BottomSep               0.7
+       ParSep                  0.3
+       Align                   Block
+       AlignPossible           Block, Left
+       LabelType               Static
+       LabelString             "Braille_dots_off"
+       LabelFont
+               Shape           Italic
+               Color           Green
+       EndFont
+End
+
+# turn off dots
+Style Braille_(mirror_on)
+       LatexType               command
+       LatexName               braillemirrortrue
+       NextNoIndent            1
+       KeepEmpty               1
+       LeftMargin              XBraille_mirror_on
+       LabelSep                xx
+       ParSkip                 0.0
+       ItemSep                 0.2
+       TopSep                  0.7
+       BottomSep               0.7
+       ParSep                  0.3
+       Align                   Block
+       AlignPossible           Block, Left
+       LabelType               Static
+       LabelString             "Braille_mirror_on"
+       LabelFont
+               Shape           Italic
+               Color           Green
+       EndFont
+End
+
+# turn off dots
+Style Braille_(mirror_off)
+       LatexType               command
+       LatexName               braillemirrorfalse
+       NextNoIndent            1
+       KeepEmpty               1
+       LeftMargin              "XBraille mirror off"
+       LabelSep                xx
+       ParSkip                 0.0
+       ItemSep                 0.2
+       TopSep                  0.7
+       BottomSep               0.7
+       ParSep                  0.3
+       Align                   Block
+       AlignPossible           Block, Left
+       LabelType               Static
+       LabelString             "Braille mirror off"
+       LabelFont
+               Shape           Italic
+               Color           Green
+       EndFont
+End
+