From 81f48ded876c26f6e3535943af636c3f9d41df0b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Uwe=20St=C3=B6hr?= Date: Sun, 6 Jan 2008 13:39:58 +0000 Subject: [PATCH] add a module for typesetting Braille (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 | 2 + lib/Makefile.am | 2 + lib/chkconfig.ltx | 1 + lib/examples/Braille.lyx | 553 ++++++++++++++++++++++++++++ lib/layouts/braille.module | 152 ++++++++ 5 files changed, 710 insertions(+) create mode 100644 lib/examples/Braille.lyx create mode 100644 lib/layouts/braille.module diff --git a/development/scons/scons_manifest.py b/development/scons/scons_manifest.py index d5088fd06a..5b4743c791 100644 --- a/development/scons/scons_manifest.py +++ b/development/scons/scons_manifest.py @@ -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 diff --git a/lib/Makefile.am b/lib/Makefile.am index 4e8a39c52e..ac476b2708 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -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 \ diff --git a/lib/chkconfig.ltx b/lib/chkconfig.ltx index ffa4450f2b..b1fca1f6c8 100644 --- a/lib/chkconfig.ltx +++ b/lib/chkconfig.ltx @@ -223,6 +223,7 @@ \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 index 0000000000..987b08e11d --- /dev/null +++ b/lib/examples/Braille.lyx @@ -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 index 0000000000..b11decd65b --- /dev/null +++ b/lib/layouts/braille.module @@ -0,0 +1,152 @@ +#\DeclareLyXModule[braille.sty]{Defines an environment to typeset Braille.}{Braille} + +# Author: Uwe Stöhr + +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 + -- 2.39.2