diff options
Diffstat (limited to 'language/greek')
48 files changed, 8984 insertions, 7119 deletions
diff --git a/language/greek/greek-fontenc/Makefile b/language/greek/greek-fontenc/Makefile index 92b5244eb7..e91e783830 100644 --- a/language/greek/greek-fontenc/Makefile +++ b/language/greek/greek-fontenc/Makefile @@ -2,7 +2,7 @@ # greek-fontenc LateX package # # © 2019 Günter Milde -# +# # SRCDIR (and the other variables) can be easily modified as parameters # while calling `make', e.g. # @@ -21,7 +21,7 @@ SH = sh # programs PYLIT = pylit # text <-> source converter for literal programming -RST2HTML = rst2html5 --stylesheet=minimal.css,responsive.css # text -> HTML converter, see docutils.sf.net +RST2HTML = rst2html5 # text -> HTML converter, see docutils.sf.net RUBBER = rubber -f --pdf -m hyperref # wrapper around `latex`, run until references resolved LATEX = pdflatex -interaction batchmode @@ -33,35 +33,35 @@ LATEX = pdflatex -interaction batchmode all: font-encodings packages # font encoding definition files -font-encodings: greek-fontenc.def lgrenc.def tuenc-greek.def greek-euenc.def - -tuenc-greek.def: tuenc-greek.def.txt - $(PYLIT) $@.txt - -greek-fontenc.def: greek-fontenc.def.txt - $(PYLIT) $@.txt +font-encodings: greek-fontenc.def lgrenc.def tuenc-greek.def greek-euenc.def -lgrenc.def: lgrenc.def.txt - $(PYLIT) $@.txt +# tuenc-greek.def: tuenc-greek.def.txt +# $(PYLIT) $@.txt +# +# greek-fontenc.def: greek-fontenc.def.txt +# $(PYLIT) $@.txt +# +# lgrenc.def: lgrenc.def.txt +# $(PYLIT) $@.txt # LaTeX packages packages: textalpha.sty alphabeta.sty alphabeta-tuenc.def alphabeta-lgr.def -textalpha.sty: textalpha.sty.txt - $(PYLIT) $@.txt - -alphabeta.sty: alphabeta.sty.txt - $(PYLIT) $@.txt - -alphabeta-tuenc.def: alphabeta-tuenc.def.txt - $(PYLIT) $@.txt - -alphabeta-lgr.def: alphabeta-lgr.def.txt - $(PYLIT) $@.txt - -# Experimental files -lgr2licr.lua: lgr2licr.lua.txt - $(PYLIT) $@.txt +# textalpha.sty: textalpha.sty.txt +# $(PYLIT) $@.txt +# +# alphabeta.sty: alphabeta.sty.txt +# $(PYLIT) $@.txt +# +# alphabeta-tuenc.def: alphabeta-tuenc.def.txt +# $(PYLIT) $@.txt +# +# alphabeta-lgr.def: alphabeta-lgr.def.txt +# $(PYLIT) $@.txt +# +# # Experimental files +# lgr2licr.lua: lgr2licr.lua.txt +# $(PYLIT) $@.txt # Documentation # ============= @@ -70,56 +70,56 @@ lgr2licr.lua: lgr2licr.lua.txt doc: html pdf -html: greek-fontenc.html lgrenc.def.html puenc-greek.def.html \ +html: greek-fontenc-doc.html lgrenc.def.html puenc-greek.def.html \ tuenc-greek.def.html greek-fontenc.def.html \ textalpha.sty.html alphabeta.sty.html \ alphabeta-tuenc.def.html alphabeta-lgr.def.html lgr2licr.lua.html -greek-fontenc.html: README - $(RST2HTML) README greek-fontenc.html +greek-fontenc-doc.html: greek-fontenc-doc.rst + $(RST2HTML) greek-fontenc-doc.rst > greek-fontenc-doc.html greek-fontenc.def.html: greek-fontenc.def $(PYLIT) greek-fontenc.def - $(RST2HTML) greek-fontenc.def.txt greek-fontenc.def.html + $(RST2HTML) greek-fontenc.def.txt > greek-fontenc.def.html lgrenc.def.html: lgrenc.def $(PYLIT) lgrenc.def - $(RST2HTML) lgrenc.def.txt lgrenc.def.html + $(RST2HTML) lgrenc.def.txt > lgrenc.def.html tuenc-greek.def.html: tuenc-greek.def $(PYLIT) tuenc-greek.def - $(RST2HTML) tuenc-greek.def.txt tuenc-greek.def.html + $(RST2HTML) tuenc-greek.def.txt > tuenc-greek.def.html puenc-greek.def.html: puenc-greek.def $(PYLIT) puenc-greek.def - $(RST2HTML) puenc-greek.def.txt puenc-greek.def.html + $(RST2HTML) puenc-greek.def.txt > puenc-greek.def.html textalpha.sty.html: textalpha.sty $(PYLIT) textalpha.sty - $(RST2HTML) textalpha.sty.txt textalpha.sty.html + $(RST2HTML) textalpha.sty.txt > textalpha.sty.html alphabeta.sty.html: alphabeta.sty $(PYLIT) alphabeta.sty - $(RST2HTML) alphabeta.sty.txt alphabeta.sty.html + $(RST2HTML) alphabeta.sty.txt > alphabeta.sty.html alphabeta-tuenc.def.html: alphabeta-tuenc.def $(PYLIT) alphabeta-tuenc.def - $(RST2HTML) alphabeta-tuenc.def.txt alphabeta-tuenc.def.html + $(RST2HTML) alphabeta-tuenc.def.txt > alphabeta-tuenc.def.html alphabeta-lgr.def.html: alphabeta-lgr.def $(PYLIT) alphabeta-lgr.def - $(RST2HTML) alphabeta-lgr.def.txt alphabeta-lgr.def.html + $(RST2HTML) alphabeta-lgr.def.txt > alphabeta-lgr.def.html lgr2licr.lua.html: lgr2licr.lua $(PYLIT) lgr2licr.lua - $(RST2HTML) lgr2licr.lua.txt lgr2licr.lua.html + $(RST2HTML) lgr2licr.lua.txt > lgr2licr.lua.html # User documentation # ================== -pdf: alphabeta-doc.pdf alphabeta-tu.pdf diacritics.pdf \ - textalpha-doc.pdf textalpha-tu.pdf hyperref-with-greek.pdf \ - test-inputenc.pdf test-lgrenc.pdf test-tuenc-greek.pdf +pdf: alphabeta-doc.pdf alphabeta-doc-tu.pdf \ + textalpha-doc.pdf textalpha-doc-tu.pdf hyperref-with-greek.pdf \ + test-licr-input.pdf test-lgrenc.pdf test-tuenc-greek.pdf TEXTALPHA = textalpha.sty greek-fontenc.def lgrenc.def tuenc-greek.def puenc-greek.def ALPHABETA = $(TEXTALPHA) alphabeta.sty @@ -127,17 +127,14 @@ ALPHABETA = $(TEXTALPHA) alphabeta.sty alphabeta-doc.pdf: alphabeta-doc.tex $(ALPHABETA) $(RUBBER) alphabeta-doc.tex -alphabeta-tu.pdf: alphabeta-doc.tex $(ALPHABETA) - $(RUBBER) -m xelatex --jobname=alphabeta-tu alphabeta-doc.tex +alphabeta-doc-tu.pdf: alphabeta-doc.tex $(ALPHABETA) + $(RUBBER) -m xelatex --jobname=alphabeta-doc-tu alphabeta-doc.tex textalpha-doc.pdf: textalpha-doc.tex $(TEXTALPHA) $(RUBBER) textalpha-doc.tex -textalpha-tu.pdf: textalpha-doc.tex lgrenc.def $(TEXTALPHA) - $(RUBBER) -m xelatex --jobname=textalpha-tu textalpha-doc.tex - -diacritics.pdf: diacritics.tex lgrenc.def greek-fontenc.def - $(LATEX) diacritics.tex +textalpha-doc-tu.pdf: textalpha-doc.tex lgrenc.def $(TEXTALPHA) + $(RUBBER) -m xelatex --jobname=textalpha-doc-tu textalpha-doc.tex hyperref-with-greek.pdf: hyperref-with-greek.tex $(ALPHABETA) $(RUBBER) hyperref-with-greek.tex @@ -148,35 +145,35 @@ test-lgrenc.pdf: test-lgrenc.tex lgrenc.def greek-fontenc.def test-tuenc-greek.pdf: test-tuenc-greek.tex tuenc-greek.def greek-fontenc.def $(RUBBER) -m xelatex test-tuenc-greek.tex -test-inputenc.pdf: test-inputenc.tex $(TEXTALPHA) - $(RUBBER) test-inputenc.tex +test-licr-input.pdf: test-licr-input.tex $(TEXTALPHA) + $(RUBBER) test-licr-input.tex -test-inputenc-tu.pdf: test-inputenc.tex lgrenc.def $(TEXTALPHA) - $(RUBBER) -m lualatex --jobname=test-inputenc-tu test-inputenc.tex +test-licr-input-tu.pdf: test-licr-input.tex lgrenc.def $(TEXTALPHA) + $(RUBBER) -m lualatex --jobname=test-licr-input-tu test-licr-input.tex # Installation # ------------ -install: all +update: packages $(COPY) *.def $(DESTDIR) $(COPY) *.sty $(DESTDIR) -install-doc: doc - $(COPY) README $(DOCDIR) +update-package: packages doc + $(COPY) README.md $(DOCDIR) $(COPY) *.def $(DOCDIR) $(COPY) *.sty $(DOCDIR) + $(COPY) *.tex $(DOCDIR) $(COPY) *.lua $(DOCDIR) + $(COPY) *.rst $(DOCDIR) $(COPY) *.html $(DOCDIR) - $(COPY) *.tex $(DOCDIR) $(COPY) *.pdf $(DOCDIR) $(COPY) Makefile $(DOCDIR) # Cleanup # ------- - + .PHONY: clean clean: - rm -f *.aux *.log *.toc *.out *~ - + rm -f *~ *.aux *.log *.out *.rubbercache *.toc diff --git a/language/greek/greek-fontenc/README.html b/language/greek/greek-fontenc/README.html deleted file mode 100644 index 4e88034a88..0000000000 --- a/language/greek/greek-fontenc/README.html +++ /dev/null @@ -1,1409 +0,0 @@ -<!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta charset="utf-8"/> -<meta name="generator" content="Docutils 0.17b2.dev: http://docutils.sourceforge.net/" /> -<title>greek-fontenc</title> -<meta name="author" content="Günter Milde" /> -<meta name="dcterms.rights" content="© 2010 – 2020 Günter Milde <milde@users.sf.net>" /> -<meta content="width=device-width, initial-scale=1" name="viewport" /> -<link rel="schema.dcterms" href="http://purl.org/dc/terms/"/> -<style type="text/css"> - -/* Minimal style sheet for the HTML output of Docutils. */ -/* */ -/* :Author: Günter Milde, based on html4css1.css by David Goodger */ -/* :Id: $Id$ */ -/* :Copyright: © 2015 Günter Milde. */ -/* :License: Released under the terms of the `2-Clause BSD license`_, */ -/* in short: */ -/* */ -/* Copying and distribution of this file, with or without modification, */ -/* are permitted in any medium without royalty provided the copyright */ -/* notice and this notice are preserved. */ -/* */ -/* This file is offered as-is, without any warranty. */ -/* */ -/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ - -/* This CSS2.1_ stylesheet defines rules for Docutils elements without */ -/* HTML equivalent. It is required to make the document semantic visible. */ -/* */ -/* .. _CSS2.1: http://www.w3.org/TR/CSS2 */ -/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ - -/* alignment of text and inline objects inside block objects*/ -.align-left { text-align: left; } -.align-right { text-align: right; } -.align-center { clear: both; text-align: center; } -.align-top { vertical-align: top; } -.align-middle { vertical-align: middle; } -.align-bottom { vertical-align: bottom; } - -/* titles */ -h1.title, -p.subtitle { - text-align: center; -} -p.topic-title, -p.sidebar-title, -p.rubric, -p.admonition-title, -p.system-message-title { - font-weight: bold; -} -h1 + p.subtitle { - font-size: 1.6em; -} -h2 + p.section-subtitle, -p.sidebar-title { - font-size: 1.2em; -} -p.subtitle, -p.section-subtitle, -p.sidebar-subtitle { - font-weight: bold; - margin-top: -0.5em; -} -p.rubric { - font-size: larger; - color: maroon; -} -a.toc-backref { - color: black; - text-decoration: none; } - -/* Warnings, Errors */ -div.system-messages h2, -span.problematic, -p.system-message-title { - color: red; -} - -/* inline literals */ -span.docutils.literal { - font-family: monospace; - white-space: pre-wrap; -} -/* do not wraph at hyphens and similar: */ -.literal > span.pre { white-space: nowrap; } - -/* Lists */ - -/* compact and simple lists: no margin between items */ -.simple li, .compact li, -.simple ul, .compact ul, -.simple ol, .compact ol, -.simple > li p, .compact > li p, -dl.simple > dd, dl.compact > dd { - margin-top: 0; - margin-bottom: 0; -} - -/* Table of Contents */ -div.topic.contents { margin: 0.5em 0; } -ul.auto-toc { - list-style-type: none; - padding-left: 1.5em; -} - -/* Enumerated Lists */ -ol.arabic { list-style: decimal } -ol.loweralpha { list-style: lower-alpha } -ol.upperalpha { list-style: upper-alpha } -ol.lowerroman { list-style: lower-roman } -ol.upperroman { list-style: upper-roman } - -dt span.classifier { font-style: italic } -dt span.classifier:before { - font-style: normal; - margin: 0.5em; - content: ":"; -} - -/* Field Lists and drivatives */ -/* bold field name, content starts on the same line */ -dl.field-list > dt, -dl.option-list > dt, -dl.docinfo > dt, -dl.footnote > dt, -dl.citation > dt { - font-weight: bold; - clear: left; - float: left; - margin: 0; - padding: 0; - padding-right: 0.5em; -} -/* Offset for field content (corresponds to the --field-name-limit option) */ -dl.field-list > dd, -dl.option-list > dd, -dl.docinfo > dd { - margin-left: 9em; /* ca. 14 chars in the test examples */ -} -/* start field-body on a new line after long field names */ -dl.field-list > dd > *:first-child, -dl.option-list > dd > *:first-child -{ - display: inline-block; - width: 100%; - margin: 0; -} -/* field names followed by a colon */ -dl.field-list > dt:after, -dl.docinfo > dt:after { - content: ":"; -} - -/* Bibliographic Fields (docinfo) */ -pre.address { - font: inherit; - margin: 0.5em 0; -} -dd.authors > p { margin: 0; } - -/* Option Lists */ -dl.option-list { margin-left: 1.5em; } -dl.option-list > dt { font-weight: normal; } -span.option { white-space: nowrap; } - -/* Footnotes and Citations */ -dl.footnote.superscript > dd {margin-left: 1em; } -dl.footnote.brackets > dd {margin-left: 2em; } -dl.footnote > dt { font-weight: normal; } -a.footnote-reference.brackets:before, -dt.label > span.brackets:before { content: "["; } -a.footnote-reference.brackets:after, -dt.label > span.brackets:after { content: "]"; } -a.footnote-reference.superscript, -dl.footnote.superscript > dt.label { - vertical-align: super; - font-size: small; -} -dt.label > span.fn-backref { margin-left: 0.2em; } -dt.label > span.fn-backref > a { font-style: italic; } - -/* Figures, Images, and Tables */ -.figure.align-left, -figure.align-left, -img.align-left, -object.align-left, -table.align-left { - margin-right: auto; -} -.figure.align-center, -figure.align-center, -img.align-center, -object.align-center, -table.align-center { - margin-left: auto; - margin-right: auto; -} -.figure.align-right, -figure.align-right, -img.align-right, -object.align-right, -table.align-right { - margin-left: auto; -} -img.align-center, img.align-right, -object.align-center, object.align-right { - display: block; -} -/* reset inner alignment in figures and tables */ -.figure.align-left, .figure.align-right, -figure.align-left, figure.align-right, -table.align-left, table.align-center, table.align-right { - text-align: inherit; -} - -/* Sidebar */ -aside.sidebar { - width: 30%; - max-width: 26em; - float: right; - clear: right; -} - -/* Text Blocks */ -blockquote, -div.topic, -div.admonition, -div.system-message { - margin-left: 2em; - margin-right: 2em; -} -div.line-block { display: block; } -div.line-block div.line-block { - margin: 0 0 0 2em; -} -pre { margin-left: 2em; } -pre.code .ln { color: gray; } /* line numbers */ - - -/* Tables */ -table { border-collapse: collapse; } -td, th { - border-style: solid; - border-color: silver; - padding: 0 1ex; - border-width: thin; -} -td > p:first-child, th > p:first-child { margin-top: 0; } -td > p, th > p { margin-bottom: 0; } - -table > caption { - text-align: left; - margin-top: 0.2em; - margin-bottom: 0.2em; -} -table.captionbelow { - caption-side: bottom; -} - -table.borderless td, table.borderless th { - border: 0; - padding: 0; - padding-right: 0.5em /* separate table cells */ -} - -/* Document Header and Footer */ -header { border-bottom: 1px solid black; } -footer { border-top: 1px solid black; } - -/* new HTML5 block elements: set display for older browsers */ -header, section, footer, aside, nav, main, article, figure { - display: block; -} - -</style> -<style type="text/css"> - -/* CSS3_ style sheet for the output of Docutils HTML writers. */ -/* Generic responsive design for all screen sizes. */ -/* */ -/* :Author: Günter Milde */ -/* */ -/* :Id: $Id$ */ -/* :Copyright: © 2021 Günter Milde. */ -/* :License: Released under the terms of the `2-Clause BSD license`_, */ -/* in short: */ -/* */ -/* Copying and distribution of this file, with or without modification, */ -/* are permitted in any medium without royalty provided the copyright */ -/* notice and this notice are preserved. */ -/* */ -/* This file is offered as-is, without any warranty. */ -/* */ -/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ -/* .. _CSS3: http://www.w3.org/TR/CSS3 */ - - -/* General Settings */ -/* ================ */ - -/* Suited for all screen sizes or special to small ones (mobile first). */ -/* For adaption to larger screens see media queries below */ -@viewport { - zoom: 1.0; - width: extend-to-zoom; -} - -body { - background-color: #fafaf6; - font-size: larger; - line-height: 1.4; - margin: auto; -} -main { - counter-reset: figure table; -} -main, header, footer { - padding: 0.5em 5%; - background-color: white; - max-width: 66em; -} - -main > *, section > * { - max-width: 55em; /* ca. 90…100 characters */ -} -main > section, section > section { - max-width: 100%; -} - -/* Vertical Space (Parskip) */ -p, ol, ul, dl, li, -div.line-block, -div.topic, -table { - margin-top: 0.5em; - margin-bottom: 0.5em; -} -h1, h2, h3, h4, h5, h6, -dl > dd { - margin-bottom: 0.5em; -} -/* exceptions */ -p:first-child { - margin-top: 0; -} -p:last-child { - margin-bottom: 0; -} -blockquote > table, -div.topic > table { - margin-top: 0; - margin-bottom: 0; -} - -/* Indented Blocks */ -blockquote, -figure, -div.topic { - /* background-color: Honeydew; */ - margin: 0.5em 2%; - padding-left: 1em; -} -div.line-block div.line-block, -dl.option-list, -.literal-block, - -/* Object styling */ -/* ============== */ - -footer > *, header > *, -aside.sidebar > *, .marginal > * { - font-size: smaller; -} - -/* Frontmatter */ -blockquote.dedication, -div.topic.dedication { - padding: 0; - margin-left: 0; - font-style: italic; - font-size: larger; -} -div.abstract p.topic-title { - margin-left: calc(-2% - 1em); -} -div.dedication p.topic-title { - display: none; -} - -blockquote p.attribution, -div.topic p.attribution { - text-align: right; -} - -/* Table of Contents */ -div.topic.contents { - padding: 0; -} -ul.auto-toc > li > p { - padding-left: 1em; - text-indent: -1em; -} -div.topic.contents ul { - padding-left: 1em; -} -div.topic.contents ul > li::marker { - color: grey; -} - -/* Transitions */ -hr { - margin: 1em 10%; -} - -/* Lists */ - -/* Smaller indent on small screens */ -ul, ol { - padding-left: 1.1em; -} -dd { - margin-left: 1.5em; -} -dl.field-list > dd { - margin-left: 4em; -} -dl.field-list.narrow > dd, -dl.docinfo > dd, -dl.option-list > dd { - margin-left: 2.4em; -} -/* run-in: start field-body on same line after long field names */ -dl.field-list.run-in > dd p { - display: block; -} - -/* "description style" like in most dictionaries, encyclopedias etc. */ -dl.description > dt { - clear: left; - float: left; - margin: 0; - padding: 0; - padding-right: 0.5em; - font-weight: bold; -} -dl.description > dd:after { - display: block; - content: ""; - clear: both; -} -/* start lists nested in description/field lists on new line */ -dd > dl:first-child, -dd > ul:first-child, -dd > ol:first-child { - clear: left; -} -/* Footnotes and Citations */ -/* TODO: use <aside> */ -dl.footnote { - font-size: smaller; - padding-left: 0.5em; -/* text-indent: -0.5em; */ - border-left: solid; - border-left-width: thin; -} - -/* Images, Figures, and Tables */ -img { - display: block; -} -p > img, p > a > img, -figure > img, figure > a > img { - display: inline; -} - -table tr { - text-align: left; -} - -/* th { vertical-align: bottom; } */ -/* "booktabs" style (no vertical lines) */ -table.booktabs { - border-top: 2px solid; - border-bottom: 2px solid; -} -table.booktabs * { - border: 0; -} -table.booktabs th { - border-bottom: thin solid; -} - -figcaption, -table > caption { - /* font-size: smaller; */ - font-style: italic; -} -figcaption > .legend { - font-size: smaller; - font-style: initial; -} - -figure.numbered > figcaption > p:before { - counter-increment: figure; - content: "Figure " counter(figure) ": "; - font-weight: bold; - font-style: initial; -} -table.numbered > caption:before { - counter-increment: table; - content: "Table " counter(table) ": "; - font-weight: bold; - font-style: initial; -} - -/* Admonitions and System Messages */ -div.admonition, -div.system-message { - box-sizing: border-box; - border-style: solid; - border-color: silver; - border-width: thin; - margin: 1em 2%; - padding: 0.5em; -} -div.caution p.admonition-title, -div.attention p.admonition-title, -div.danger p.admonition-title, -div.warning p.admonition-title, -div.error { - color: maroon; -} -div.system-message > p > span.literal { - overflow-wrap: break-word; -} - -/* Literal and Code */ -pre { - /* font-family: Consolas, "Liberation Mono", Menlo, monospace; */ - /* font-size: 0.9em; */ - /* overflow: auto; */ -} - - -pre.code .ln { color: gray; } /* line numbers */ -/* basic highlighting: for a complete scheme, see */ -/* http://docutils.sourceforge.net/sandbox/stylesheets/ */ -pre.code .comment, code .comment { color: #5C6576 } -pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } -pre.code .literal.string, code .literal.string { color: #0C5404 } -pre.code .name.builtin, code .name.builtin { color: #352B84 } -pre.code .deleted, code .deleted { background-color: #DEB0A1} -pre.code .inserted, code .inserted { background-color: #A3D289} - - - -.sans { - font-family: "Gill Sans", "Gill Sans MT", Calibri, "Lucida Sans", "Noto Sans", sans-serif; - letter-spacing: .02em; -} - -/* Hyperlink References */ -/* underline that clears descenders */ -a { - text-decoration: none; - text-decoration-skip-ink: auto; /* nonstandard selector */ -} -/* Wrap links at any place, if this is the only way to prevent overflow */ -a:link{ - overflow-wrap: break-word; -} -.contents a, a.toc-backref, a.citation-reference { - overflow-wrap: inherit; -} - -/* undecorated links */ -a[href^="#system-message"], -.contents a, a.toc-backref, a.image-reference, -a.footnote-reference, a.fn-backref, .fn-backref a, -a.citation-reference { - color: inherit; -} -a:link:hover { - text-decoration: underline; -} - - -/* Block Alignment */ -/* Let content flow to the side of aligned images and figures */ - -/* no floats around this elements */ -dl.footnote, dl.citation, /* errors with internal floats */ -footer, header, hr, -h1, h2, h3, .contents > p.topic-title { - clear: both; -} - -img.align-left, -figure.align-left, -table.align-left { - margin-left: 0; - padding-left: 0; - margin-right: 0.5em; - clear: left; - float: left; -} -img.align-right, -figure.align-right, -table.align-right { - margin-left: 0.5em; - clear: right; - float: right; -} - -/* Margin Elements */ -/* see below for screen size dependent rules */ -aside.sidebar { -/* overwrite minimal.css */ - width: auto; - max-width: 100%; -/* float: none; */ -} -aside.sidebar, -.marginal, -.admonition.marginal, -.topic.marginal { - background-color: #efefea; - box-sizing: border-box; - margin: 0.5em 0; - padding: 0.5em; - clear: right; -} - -/* Adaptive page layout */ - -/* larger margins and floating elements moderately small screens */ -/* main text more than around 40 characters/line */ -@media (min-width: 35em) { - /* wider margins */ - main, header, footer { - padding: 0.5em calc(20% - 5rem); - line-height: 1.6 - } - /* floating margin elements */ - aside.sidebar, - .marginal, - .admonition.marginal, - .topic.marginal { - max-width: min(45%, 18em); - margin-left: 1em; - clear: right; - float: right; - } - /* more indent for field-list values */ - dl.field-list > dd, - dl.docinfo > dd { - margin-left: 6.4em; - } - dl.option-list > dd { - margin-left: 5em; - } -} - -@media (min-width: 65em) { - /* 2 column layout with wide margin */ - main, header, footer { - padding: 0.5em 15%; - } - aside.sidebar, - .marginal, - .admonition.marginal, - .topic.marginal { - background-color: inherit; - /* background-color: lavender; */ - margin-right: -18%; - padding: 0; - } - .admonition.marginal { padding: 0.5em; } -} - -/* Move ToC to the left */ -@media (min-width: 100em) { - main, header, footer { - margin-left: min(15%, 18em); - } - main > div.topic.contents { - position: fixed; - top: 0; - left: 0; - box-sizing: border-box; - width: min(25%, 28em); - height: 100vh; - margin: 0; - background-color: #fafaf6; - padding: 1em 2% 0 2%; - overflow: auto; - } - main > div.topic.contents > * { - padding-left: 0; - } - -/* marginal elements outside of main text */ -@media (min-width: 126em) { - aside.sidebar, - figure.marginal, - .topic.marginal, - p.marginal { - width: min(45%, 18em); - } -} - -</style> -</head> -<body> -<main id="greek-fontenc"> -<h1 class="title">greek-fontenc</h1> -<p class="subtitle" id="greek-font-encoding-definition-files">Greek font encoding definition files</p> -<dl class="docinfo simple"> -<dt class="author">Author</dt> -<dd class="author"><p>Günter Milde</p></dd> -<dt class="copyright">Copyright</dt> -<dd class="copyright">© 2010 – 2020 Günter Milde <<a class="reference external" href="mailto:milde@users.sf.net">milde@users.sf.net</a>></dd> -<dt class="licence">Licence</dt> -<dd class="licence"><p>This work may be distributed and/or modified under the -conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either -version 1.3 of this license or any later version.</p> -</dd> -</dl> -<div class="abstract topic"> -<p class="topic-title">Abstract</p> -<p><cite>LaTeX internal character representation</cite> (LICR) macros are a -verbose but failsafe 7-bit ASCII encoding that works unaltered -under both, 8-bit TeX and XeTeX/LuaTeX. Use cases are macro -definitions and generated text</p> -<p>This bundle provides LICR macros for characters from the -Greek script and encoding definition files for -<a class="reference internal" href="#greek-text-font-encodings">Greek text font encodings</a> for use with <a class="reference external" href="http://www.ctan.org/pkg/fontenc">fontenc</a> (8-bit TeX) -or <a class="reference external" href="http://www.ctan.org/pkg/fontspec">fontspec</a> (XeTeX/LuaTeX).</p> -<p>Included are also the LaTeX packages <a class="reference internal" href="#textalpha">textalpha</a> and <a class="reference internal" href="#alphabeta">alphabeta</a>.</p> -</div> -<div class="contents topic" id="contents"> -<p class="topic-title">Contents</p> -<ul class="simple"> -<li><p><a class="reference internal" href="#changelog" id="id19">Changelog</a></p></li> -<li><p><a class="reference internal" href="#tex-files" id="id20">TeX files</a></p></li> -<li><p><a class="reference internal" href="#documentation-and-test-documents" id="id21">Documentation and test documents</a></p></li> -<li><p><a class="reference internal" href="#experimental-files" id="id22">Experimental files</a></p></li> -<li><p><a class="reference internal" href="#installation" id="id23">Installation</a></p></li> -<li><p><a class="reference internal" href="#conflicts" id="id24">Conflicts</a></p></li> -<li><p><a class="reference internal" href="#usage" id="id25">Usage</a></p></li> -<li><p><a class="reference internal" href="#greek-text-font-encodings" id="id26">Greek text font encodings</a></p> -<ul> -<li><p><a class="reference internal" href="#t7" id="id27">T7</a></p></li> -<li><p><a class="reference internal" href="#lgr" id="id28">LGR</a></p></li> -<li><p><a class="reference internal" href="#lgi" id="id29">LGI</a></p></li> -<li><p><a class="reference internal" href="#tu" id="id30">TU</a></p></li> -<li><p><a class="reference internal" href="#pu" id="id31">PU</a></p></li> -</ul> -</li> -<li><p><a class="reference internal" href="#selecting-greek-licr-macro-names" id="id32">Selecting Greek LICR macro names</a></p> -<ul> -<li><p><a class="reference internal" href="#letters-and-symbols" id="id33">letters and symbols</a></p></li> -<li><p><a class="reference internal" href="#accent-macros" id="id34">accent macros</a></p></li> -<li><p><a class="reference internal" href="#symbol-variants" id="id35">symbol variants</a></p></li> -</ul> -</li> -<li><p><a class="reference internal" href="#references" id="id36">References</a></p></li> -</ul> -</div> -<section id="changelog"> -<h2><a class="toc-backref" href="#id19">Changelog</a></h2> -<table class="borderless"> -<colgroup> -<col style="width: 8%" /> -<col style="width: 14%" /> -<col style="width: 78%" /> -</colgroup> -<tbody> -<tr><td><p>0.9</p></td> -<td><p>2013-07-03</p></td> -<td><p><a class="reference external" href="greek-fontenc.def">greek-fontenc.def</a> “outsourced” from lgrxenc.def</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>experimental files xunicode-greek.sty and -greek-euenc.def: LICRs for XeTeX/LuaTeX.</p></td> -</tr> -<tr><td><p>0.9.1</p></td> -<td><p>2013-07-18</p></td> -<td><p>Bugfix: wrong breathings psilioxia -> dasiaoxia.</p></td> -</tr> -<tr><td><p>0.9.2</p></td> -<td><p>2013-07-19</p></td> -<td><p>Bugfix: Disable composite defs starting with char macro,</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>fix “hiatus” handling.</p></td> -</tr> -<tr><td><p>0.9.3</p></td> -<td><p>2013-07-24</p></td> -<td><p>Fix “input” path in xunicode-greek and greek-euenc.def.</p></td> -</tr> -<tr><td><p>0.9.4</p></td> -<td><p>2013-09-10</p></td> -<td><p>greek-fontenc.sty: Greek text font encoding setup package,</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>remove xunicode-greek.sty.</p></td> -</tr> -<tr><td><p>0.10</p></td> -<td><p>2013-09-13</p></td> -<td><p><a class="reference external" href="textalpha.sty">textalpha.sty</a> and <a class="reference external" href="alphabeta.sty">alphabeta.sty</a> moved here from lgrx and -updated to work with XeTeX/LuaTeX.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>greek-fontenc.sty removed (obsoleted by textalpha.sty).</p></td> -</tr> -<tr><td><p>0.10.1</p></td> -<td><p>2013-10-01</p></td> -<td><p>Bugfix in greek-euenc.def and alphabeta-euenc.def.</p></td> -</tr> -<tr><td><p>0.11</p></td> -<td><p>2013-11-28</p></td> -<td><p>Compatibility with Xe/LuaTeX in 8-bit mode,</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p><span class="docutils literal">\greekscript</span> TextCommand.</p></td> -</tr> -<tr><td><p>0.11.1</p></td> -<td><p>2013-12-01</p></td> -<td><p>Fix identification of <span class="docutils literal"><span class="pre">greek-euenc.def</span></span>.</p></td> -</tr> -<tr><td><p>0.11.2</p></td> -<td><p>2014-09-04</p></td> -<td><p>Documentation update, remove duplicate code.</p></td> -</tr> -<tr><td><p>0.12</p></td> -<td><p>2014-12-25</p></td> -<td><p>Fix auxiliary macro names in <cite>textalpha</cite>.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Conservative naming: move definition of <span class="docutils literal">\<</span> and <span class="docutils literal">\></span> -from <span class="docutils literal"><span class="pre">greek-fontenc.def</span></span> to <span class="docutils literal">textalpha.sty</span> -(Bugreport David Kastrup). -Documentation update.</p></td> -</tr> -<tr><td><p>0.13</p></td> -<td><p>2015-09-04</p></td> -<td><p>Support for <a class="reference internal" href="#symbol-variants">symbol variants</a>,</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p><span class="docutils literal"><span class="pre">keep-semicolon</span></span> option in <a class="reference internal" href="#textalpha">textalpha</a>,</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p><span class="docutils literal">\lccode</span>/<span class="docutils literal">\uccode</span> corrections for Unicode -(from Apostolos Syropoulos’ <a class="reference external" href="http://www.ctan.org/pkg/xgreek">xgreek</a>) in greek-euenc,</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Do not convert <span class="docutils literal">\ypogegrammeni</span> to <span class="docutils literal">\prosgegrammeni</span> -with <span class="docutils literal">\MakeUppercase</span>.</p></td> -</tr> -<tr><td><p>0.13.1</p></td> -<td><p>2015-12-07</p></td> -<td><p>Fix <a class="reference external" href="http://tex.stackexchange.com/questions/281631/greek-small-rho-with-dasia-and-also-psili-problem-with-accent-and-lgr-encodin">rho with dasia bug</a> in lgrenc.def (Linus Romer).</p></td> -</tr> -<tr><td><p>0.13.2</p></td> -<td><p>2016-02-05</p></td> -<td><p>Support for standard Unicode text font encoding “TU” -(new in fontspec v2.5a).</p></td> -</tr> -<tr><td><p>0.13.3</p></td> -<td><p>2019-07-10</p></td> -<td><p>Drop error font declaration (cf. <a class="reference external" href="https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex%2F4399&search=">ltxbugs 4399</a>).</p></td> -</tr> -<tr><td><p>0.13.4</p></td> -<td><p>2019-07-11</p></td> -<td><p><span class="docutils literal">@uclclist</span> entry for <span class="docutils literal">\prosgegrammeni</span>.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Documentation update.</p></td> -</tr> -<tr><td><p>0.14</p></td> -<td><p>2020-02-28</p></td> -<td><p>Update test for Unicode fonts. -Rename <span class="docutils literal"><span class="pre">greek-euenc</span></span> to <span class="docutils literal"><span class="pre">tuenc-greek</span></span>.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Use <span class="docutils literal">\UTFencoding</span> instead of <span class="docutils literal">\LastDeclaredEncoding</span>.</p></td> -</tr> -<tr><td><p>1.0</p></td> -<td><p>2020-09-25</p></td> -<td><p>Bugfix in <a class="reference internal" href="#textalpha">textalpha</a>: Let <span class="docutils literal">\greekscript</span> set -<span class="docutils literal">\encodingdefault</span>.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p><span class="docutils literal">\textKoppa</span> as alias for <span class="docutils literal">\textkoppa</span> in LGR.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Update URLs.</p></td> -</tr> -<tr><td><p>2.0</p></td> -<td><p>2020-10-30</p></td> -<td><p>Move common alias definitions to <span class="docutils literal"><span class="pre">greek-fontenc.def</span></span>.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p><a class="reference internal" href="#textalpha">textalpha</a> loads TU with Xe/LuaTeX by default and -provides <span class="docutils literal">\textmicro</span> and LICR macros for archaic -symbols from the Greek and Coptic Unicode block.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Use <span class="docutils literal">\UnicodeEncodingName</span> (by the LaTeX kernel) instead -of <span class="docutils literal">\UTFencname</span> for the Unicode font encoding name.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Replace utf8 literals in <span class="docutils literal"><span class="pre">tuenc-greek.def</span></span>.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>New file puenc-greek.def: setup for PU encoding -(defined by <a class="reference external" href="http://www.ctan.org/pkg/hyperref">hyperref</a> for PDF strings).</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Don’t use <span class="docutils literal">\textcompwordmark</span> as base in accent commands.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Documentation update.</p></td> -</tr> -</tbody> -</table> -</section> -<section id="tex-files"> -<h2><a class="toc-backref" href="#id20">TeX files</a></h2> -<dl> -<dt><a class="reference external" href="lgrenc.def">lgrenc.def</a></dt> -<dd><p><a class="reference external" href="lgrenc.def.html">LGR Greek font encoding definitions</a>.</p> -<p>This file is the successor of the basic LGR encoding definition file which -comes with <a class="reference external" href="http://www.ctan.org/pkg/babel">babel</a>’s Greek support and the now obsolete <a class="reference external" href="http://www.ctan.org/pkg/lgrx">lgrx</a> bundle.</p> -</dd> -<dt id="tuenc-greek"><a class="reference external" href="tuenc-greek.def">tuenc-greek.def</a></dt> -<dd><p><a class="reference external" href="tuenc-greek.def.html">Font setup for Greek with XeTeX/LuaTeX</a>.</p> -</dd> -<dt><a class="reference external" href="puenc-greek.def">puenc-greek.def</a></dt> -<dd><p><a class="reference external" href="puenc-greek.def.html">Greek LICR definitions for PDF strings</a>.</p> -</dd> -<dt><a class="reference external" href="greek-fontenc.def">greek-fontenc.def</a></dt> -<dd><p><a class="reference external" href="greek-fontenc.def.html">Common Greek font encoding definitions</a>.</p> -</dd> -<dt id="lgr-font-encoding-definition-file"><a class="reference external" href="greek-euenc.def">greek-euenc.def</a></dt> -<dd><p>Backwards compatibility file loading <a class="reference internal" href="#tuenc-greek">tuenc-greek</a>.</p> -</dd> -<dt id="textalpha"><a class="reference external" href="textalpha.sty">textalpha.sty</a></dt> -<dd><p><a class="reference external" href="textalpha.sty.html">Greek symbols in text</a></p> -<p>Use <span class="docutils literal">\textalpha</span> … <span class="docutils literal">\textOmega</span> independent of font encoding and TeX -engine.</p> -</dd> -<dt id="alphabeta"><a class="reference external" href="alphabeta.sty">alphabeta.sty</a></dt> -<dd><p><a class="reference external" href="alphabeta.sty.html">Greek symbols in text and math</a>.</p> -<p>Use <span class="docutils literal">\alpha</span> … <span class="docutils literal">\Omega</span> independent of text/math mode, font -encoding, and TeX engine.</p> -<dl class="simple"> -<dt><a class="reference external" href="alphabeta-lgr.def">alphabeta-lgr.def</a></dt> -<dd><p><a class="reference external" href="alphabeta-lgr.def.html">Composite definitions for 8-bit TeX.</a>.</p> -</dd> -<dt><a class="reference external" href="alphabeta-tuenc.def">alphabeta-tuenc.def</a></dt> -<dd><p><a class="reference external" href="alphabeta-tuenc.def.html">Composite definitions with XeTeX/LuaTeX.</a>.</p> -</dd> -</dl> -</dd> -</dl> -<p>Literate source files were converted with <a class="reference external" href="http://pypi.python.org/pypi/pylit">PyLit</a> to <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> and -with <a class="reference external" href="http://docutils.sourceforge.net/rst.html">Docutils</a> to the HTML documentation.</p> -</section> -<section id="documentation-and-test-documents"> -<h2><a class="toc-backref" href="#id21">Documentation and test documents</a></h2> -<dl class="simple"> -<dt>Overview:</dt> -<dd><p><a class="reference external" href="README">README</a>, <a class="reference external" href="greek-fontenc.html">greek-fontenc.html</a></p> -</dd> -<dt><a class="reference internal" href="#textalpha">textalpha</a> package documentation:</dt> -<dd><p><a class="reference external" href="textalpha-doc.tex">textalpha-doc.tex</a>, <a class="reference external" href="textalpha-doc.pdf">textalpha-doc.pdf</a>, <a class="reference external" href="textalpha-tu.pdf">textalpha-tu.pdf</a></p> -</dd> -<dt><a class="reference internal" href="#alphabeta">alphabeta</a> package documentation:</dt> -<dd><p><a class="reference external" href="alphabeta-doc.tex">alphabeta-doc.tex</a>, <a class="reference external" href="alphabeta-doc.pdf">alphabeta-doc.pdf</a>, <a class="reference external" href="alphabeta-tu.pdf">alphabeta-tu.pdf</a></p> -</dd> -<dt>LGR test and usage example</dt> -<dd><p><a class="reference external" href="test-lgrenc.tex">test-lgrenc.tex</a>, <a class="reference external" href="test-lgrenc.pdf">test-lgrenc.pdf</a></p> -</dd> -<dt>TU test and usage example</dt> -<dd><p><a class="reference external" href="test-tuenc-greek.tex">test-tuenc-greek.tex</a>, <a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a></p> -</dd> -<dt><a class="reference external" href="http://www.ctan.org/pkg/hyperref">Hyperref</a> test and usage example</dt> -<dd><p><a class="reference external" href="hyperref-with-greek.tex">hyperref-with-greek.tex</a>, <a class="reference external" href="hyperref-with-greek.pdf">hyperref-with-greek.pdf</a></p> -</dd> -<dt>Test with input encodings other than utf-8</dt> -<dd><p><a class="reference external" href="test-inputenc.tex">test-inputenc.tex</a>, <a class="reference external" href="test-inputenc.pdf">test-inputenc.pdf</a></p> -</dd> -<dt>Greek diacritics with standard accent macros</dt> -<dd><p><a class="reference external" href="diacritics.tex">diacritics.tex</a>, <a class="reference external" href="diacritics.pdf">diacritics.pdf</a></p> -</dd> -</dl> -</section> -<section id="experimental-files"> -<h2><a class="toc-backref" href="#id22">Experimental files</a></h2> -<p>These files are still in development and will eventually be moved to/merged -with other packages or removed in future versions:</p> -<dl class="simple"> -<dt><a class="reference external" href="lgr2licr.lua">lgr2licr.lua</a></dt> -<dd><p><a class="reference external" href="lgr2licr.lua.html">LGR Transcription to Greek LICR transformation</a></p> -</dd> -</dl> -</section> -<section id="installation"> -<h2><a class="toc-backref" href="#id23">Installation</a></h2> -<p>If possible, get the bundle from your distribution using its installation -manager.</p> -<p>Otherwise, make sure LaTeX can find the package and definition files:</p> -<ul class="simple"> -<li><p>Download and unpack <a class="reference external" href="http://mirrors.ctan.org/language/greek/greek-fontenc.zip">greek-fontenc.zip</a>.</p></li> -<li><p>Copy/Move/Link files ending in <span class="docutils literal">.def</span> or <span class="docutils literal">.sty</span> to a suitable place in -the “TeX Directory Structure” (<a class="reference external" href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds">TDS</a>) and run <span class="docutils literal">texhash</span>, or place them in -the current working directory (e.g. for testing).</p></li> -</ul> -</section> -<section id="conflicts"> -<h2><a class="toc-backref" href="#id24">Conflicts</a></h2> -<p>The <a class="reference external" href="https://www.ctan.org/pkg/arabi">arabi</a> package provides the Babel <span class="docutils literal">arabic</span> option which loads -<span class="docutils literal">arabicfnt.sty</span> for font setup. This package overwrites the LICR macros -<span class="docutils literal">\omega</span> and <span class="docutils literal">\textomega</span> with font selecting commands. See the report -for Debian <a class="reference external" href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=858987">bug 858987</a> for details and the <a class="reference internal" href="#arabi-workaround">arabi workaround</a> below.</p> -</section> -<section id="usage"> -<h2><a class="toc-backref" href="#id25">Usage</a></h2> -<p>There are several alternatives to set up the support for a Greek font -encoding provided by this bundle, e.g.:</p> -<dl> -<dt>Babel:</dt> -<dd><p>Use the <span class="docutils literal">greek</span> option with <a class="reference external" href="http://www.ctan.org/pkg/babel">Babel</a>:</p> -<pre class="literal-block">\usepackage[greek]{babel}</pre> -<p>This automatically loads <span class="docutils literal">lgrenc.def</span> with 8-bit TeX and -<span class="docutils literal"><span class="pre">tuenc-greek.def</span></span> with XeTeX/LuaTeX and provides localized auto-strings, -hyphenation and other localizations (see <a class="reference external" href="http://www.ctan.org/pkg/babel-greek">babel-greek</a>).</p> -<p>Babel can be used together with <a class="reference internal" href="#textalpha">textalpha</a> or <a class="reference internal" href="#alphabeta">alphabeta</a>.</p> -</dd> -<dt><a class="reference internal" href="#textalpha">textalpha</a>:</dt> -<dd><p>Ensure support for Greek characters in text mode:</p> -<pre class="literal-block">\usepackage{textalpha}</pre> -<p>eventually with the <a class="reference external" href="textalpha.sty.html#normalize-symbols">normalize-symbols</a> option to handle <a class="reference internal" href="#symbol-variants">symbol variants</a> -and/or the <a class="reference external" href="textalpha.sty.html#keep-semicolon">keep-semicolon</a> option to use the <a class="reference external" href="textalpha.sty.html#semicolon-as-erotimatiko">semicolon as erotimatiko</a> -also in LGR</p> -<pre class="literal-block">\usepackage[normalize-symbols,keep-semicolon]{textalpha}</pre> -<p>This sets up LICR macros for Greek text charactes under both, 8-bit TeX -and Xe-/LuaTeX. -For details see <a class="reference external" href="textalpha-doc.tex">textalpha-doc.tex</a> and <a class="reference external" href="textalpha-doc.pdf">textalpha-doc.pdf</a> (8-bit -TeX) as well as <a class="reference external" href="test-tuenc-greek.tex">test-tuenc-greek.tex</a> and <a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a> -(XeTeX/LuaTeX).</p> -</dd> -<dt><a class="reference internal" href="#alphabeta">alphabeta</a>:</dt> -<dd><p>To use the short macro names (<span class="docutils literal">\alpha</span> … <span class="docutils literal">\Omega</span>) known from math -mode in both, text and math mode, write</p> -<pre class="literal-block">\usepackage{alphabeta}</pre> -<p>For details see <a class="reference external" href="alphabeta-doc.tex">alphabeta-doc.tex</a> and <a class="reference external" href="alphabeta-doc.pdf">alphabeta-doc.pdf</a>.</p> -</dd> -<dt>fontenc:</dt> -<dd><p>Declare LGR via <a class="reference external" href="http://www.ctan.org/pkg/fontenc">fontenc</a>. For example, specify T1 (8-bit -Latin) as default font encoding and LGR for Greek with</p> -<pre class="literal-block">\usepackage[LGR,T1]{fontenc}</pre> -<p>Note that without <a class="reference internal" href="#textalpha">textalpha</a> or <a class="reference internal" href="#alphabeta">alphabeta</a>, Greek text macros work -only if the current font encoding supports Greek. See <a class="citation-reference" href="#fntguide" id="id6">[fntguide]</a> for -details and <a class="reference external" href="test-lgrenc.tex">test-lgrenc.tex</a> for an example.</p> -<p>It is possible to use 8-bit Greek text fonts in the LGR TeX font encoding -also with XeTeX/LuaTeX, if the <a class="reference external" href="http://www.ctan.org/pkg/fontenc">fontenc</a> package is loaded before -Babel, <a class="reference internal" href="#textalpha">textalpha</a>, or <a class="reference internal" href="#alphabeta">alphabeta</a>, e.g.</p> -<pre class="literal-block">\usepackage[LGR]{fontenc} -\usepackage{fontspec} -\setmainfont{Linux Libertine O} % Latin Modern does not support Greek -\setsansfont{Linux Biolinum O} -\usepackage{textalpha}</pre> -<p>See <a class="reference external" href="test-tuenc-greek.tex">test-tuenc-greek.tex</a>, <a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a> and -<a class="reference external" href="test-lgrenc.tex">test-lgrenc.tex</a>, <a class="reference external" href="test-lgrenc.pdf">test-lgrenc.pdf</a>.</p> -</dd> -</dl> -<p id="arabi-workaround">To work around the conflict with <a class="reference external" href="https://www.ctan.org/pkg/arabi">arabi</a>, it may suffice to ensure <span class="docutils literal">greek</span> -is loaded after <span class="docutils literal">arabic</span>:</p> -<pre class="literal-block">\usepackage[arabic,greek,english]{babel}</pre> -<p>More secure is an explicit reverse-definition, e.g.</p> -<pre class="literal-block">% save original \omega -\let\mathomega\omega - -\usepackage[utf8]{inputenc} -\usepackage[LAE,LGR,T1]{fontenc} -\usepackage[arabic,greek,english]{babel} - -% fix arabtex: -\DeclareTextSymbol{\textomega}{LGR}{119} -\renewcommand{\omega}{\mathomega}</pre> -</section> -<section id="greek-text-font-encodings"> -<h2><a class="toc-backref" href="#id26">Greek text font encodings</a></h2> -<p>Greek TeX font encodings are the envisaged <a class="reference internal" href="#t7">T7</a>, <a class="reference internal" href="#lgr">LGR</a>, and <a class="reference internal" href="#lgi">LGI</a>. -Greek letters and symbols are also defined in the Unicode-based font -encodings <a class="reference internal" href="#tu">TU</a>, and <a class="reference internal" href="#pu">PU</a>.</p> -<section id="t7"> -<h3><a class="toc-backref" href="#id27">T7</a></h3> -<p>The <a class="citation-reference" href="#encguide" id="id12">[encguide]</a> reserves the name T7 for a Greek <cite>standard font encoding</cite>. -However, up to now, there is no agreement on an implementation because the -restrictions for general text encodings are too severe for typesetting -polytonic Greek.</p> -</section> -<section id="lgr"> -<h3><a class="toc-backref" href="#id28">LGR</a></h3> -<p>The LGR font encoding is the de-facto standard for typesetting Greek with -(8-bit) LaTeX. <cite>greek-fontenc</cite> provides a comprehensive <a class="reference internal" href="#lgr-font-encoding-definition-file">LGR font -encoding definition file</a>.</p> -<p>Fonts in this encoding include the <a class="reference external" href="http://www.ctan.org/pkg/cbgreek-complete">CB fonts</a> (matching CM), <a class="reference external" href="http://www.ctan.org/pkg/grtimes">grtimes</a> -(Greek Times), <a class="reference external" href="http://www.ctan.org/pkg/kerkis">Kerkis</a> (matching URW Bookman), <a class="reference external" href="https://www.ctan.org/pkg/dejavu">DejaVu</a>, <a class="reference external" href="https://www.ctan.org/pkg/libertinegc">Libertine GC</a>, and -the <a class="reference external" href="http://www.ctan.org/pkg/gfs">GFS fonts</a>. Setup of these fonts as Greek variant to -matching Latin fonts is facilitated by the <a class="reference external" href="http://www.ctan.org/pkg/substitutefont">substitutefont</a> package.</p> -<p>The LGR font encoding allows to access Greek characters via an ASCII -transliteration. This enables simple input with a Latin keyboard. -Characters with diacritics can be selected by ligature definitions in the -font (see <a class="citation-reference" href="#greek-usage" id="id13">[greek-usage]</a>, <a class="citation-reference" href="#teubner-doc" id="id14">[teubner-doc]</a>, <a class="citation-reference" href="#cbfonts" id="id15">[cbfonts]</a>).</p> -<p>A major drawback of the transliteration is, that you cannot access Latin -letters if LGR is the active font encoding (e.g. in documents or parts of -documents given the <cite>Babel</cite> language <span class="docutils literal">greek</span> or <span class="docutils literal">polutionikogreek</span>). -This means that for every Latin-written word or acronym an explicit -language-switch is required. This problem can only be solved via a -font-encoding comprising Latin and Greek like the envisaged <a class="reference internal" href="#t7">T7</a> or -Unicode (with XeTeX or LuaTeX).</p> -</section> -<section id="lgi"> -<h3><a class="toc-backref" href="#id29">LGI</a></h3> -<p>The ‘Ibycus’ fonts from the package <a class="reference external" href="http://www.ctan.org/pkg/ibygrk">ibygrk</a> implement an alternative -transliteration scheme (also explained in <a class="citation-reference" href="#babel-patch" id="id16">[babel-patch]</a>). -It is currently not supported by <cite>greek-fontenc</cite>.</p> -<p>The font encoding file <span class="docutils literal">lgienc.def</span> from <a class="reference external" href="http://www.ctan.org/pkg/ibycus-babel">ibycus-babel</a> provides a basic -setup (without any LICR macros or composite definitions).</p> -</section> -<section id="tu"> -<h3><a class="toc-backref" href="#id30">TU</a></h3> -<p>Standard Unicode font encoding for XeTeX and LuaTeX loaded by <a class="reference external" href="http://www.ctan.org/pkg/fontspec">fontspec</a> -(since v2.5a) rsp. the LaTeX kernel since 2017/01/01 [LaTeX2e News Issue 26]_. -<cite>greek-fontenc</cite> adds support for the Greek script (see <a class="reference internal" href="#tuenc-greek">tuenc-greek</a>).</p> -<p>Xe/LuaTeX works with any system-wide installed <a class="reference external" href="https://ctan.org/topic/font-otf">OpenType font</a>. Suitable -fonts supporting Greek include <a class="reference external" href="https://www.ctan.org/pkg/cm-unicode">CM Unicode</a>, <a class="reference external" href="http://dejavu-fonts.org">Deja Vu</a>, <a class="reference external" href="https://ctan.org/pkg/ebgaramond">EB Garamond</a>, -the <a class="reference external" href="http://www.ctan.org/pkg/gfs">GFS fonts</a>, <a class="reference external" href="http://www.ctan.org/pkg/libertineotf">Libertine OTF</a>, <a class="reference external" href="https://ctan.org/pkg/libertinus">Libertinus</a>, <a class="reference external" href="https://ctan.org/pkg/oldstandard">Old Standard</a>, -<a class="reference external" href="https://www.ctan.org/pkg/tempora">Tempora</a>, and <a class="reference external" href="https://www.ctan.org/pkg/umtypewriter">UM Typewriter</a> (all available on CTAN) but also many commercial -fonts. Unfortunately, the <a class="reference external" href="http://www.ctan.org/pkg/fontspec">fontspec</a> default, <a class="reference external" href="http://www.gust.org.pl/projects/e-foundry/latin-modern">Latin Modern</a> misses most -Greek characters.</p> -<p>XeTeX uses the Unicode NFC normalization, so that combining characters -are merged with the base character if a pre-composed character exists. This -results in better looking output for characters with multiple diacritics. -Unfortunately, LuaTeX does not apply the NFC normalization. This leads to -suboptimal placing of some diactritics, especially the sub-iota (becoming -unintelligable in combination with small letter eta).</p> -<p>TODO: The <a class="reference external" href="https://ctan.org/pkg/lua-uni-algos">lua-uni-algos</a> package may be helpfull to implement a NTC -normalization to Greek text in LuaTeX.</p> -<p>The legacy Unicode font encodings EU1 and EU2 for XeTeX and LuaTeX -respectively were superseded by TU in the 2017 <a class="reference external" href="http://www.ctan.org/pkg/fontspec">fontspec</a> release.</p> -</section> -<section id="pu"> -<h3><a class="toc-backref" href="#id31">PU</a></h3> -<p>The package <a class="reference external" href="http://www.ctan.org/pkg/hyperref">hyperref</a> defines the PU font encoding for use in PDF strings -(ToC, bookmarks) which supports monotonic Greek. <cite>greek-fontenc</cite> adds -support for polytonic Greek and some archaic characters also supported in -LGR and TU (see <a class="reference external" href="hyperref-with-greek.tex">hyperref-with-greek.tex</a>, <a class="reference external" href="hyperref-with-greek.pdf">hyperref-with-greek.pdf</a>).</p> -</section> -</section> -<section id="selecting-greek-licr-macro-names"> -<h2><a class="toc-backref" href="#id32">Selecting Greek LICR macro names</a></h2> -<div class="admonition note"> -<p class="admonition-title">Note</p> -<p>The LICR macro names for Greek symbols are chosen pending -endorsement by the TeX community and related packages.</p> -<p>Names for archaic characters, accents/diacritics, and -punctuation may change in future versions.</p> -</div> -<p>This bundle provides LaTeX internal character representations (LICR macros) -for Greek letters and diacritics. Macro names were selected based on the -following considerations:</p> -<section id="letters-and-symbols"> -<h3><a class="toc-backref" href="#id33">letters and symbols</a></h3> -<ul> -<li><p>The <a class="reference internal" href="#fntguide">fntguide</a> (section 6.4 Naming conventions) recommends:</p> -<blockquote> -<p>Where possible, text symbols should be named as <span class="docutils literal">\text</span> followed -by the <strong>Adobe glyph name</strong>: for example <span class="docutils literal">\textonequarter</span> or -<span class="docutils literal">\textsterling</span>. Similarly, math symbols should be named as -<span class="docutils literal">\math</span> followed by the glyph name, for example -<span class="docutils literal">\mathonequarter</span> or <span class="docutils literal">\mathsterling</span>.</p> -</blockquote> -<dl class="simple"> -<dt>Problem:</dt> -<dd><p>The <a class="reference external" href="http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/aglfn.txt">Adobe Glyph List For New Fonts</a> has names for many glyphs in the -<cite>Greek and Coptic</cite> Unicode block, but not for <cite>Greek extended</cite>. The -<a class="reference external" href="http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/glyphlist.txt">Adobe Glyph List</a> (for existing fonts) lists additional glyph names -used in older fonts. However, these are not intended for active use.</p> -</dd> -</dl> -</li> -<li><p>If there exists a <strong>math-mode macro</strong> for a symbol, the corresponding text -macro could be formed by prepending <span class="docutils literal">text</span>.</p> -<dl class="simple"> -<dt>Example:</dt> -<dd><p>The glyph name for the GREEK SMALL LETTER FINAL SIGMA is <span class="docutils literal">sigma1</span>, -the corresponding math-macro is <span class="docutils literal">\varsigma</span>. The text symbol is -made available as <span class="docutils literal">\textvarsigma</span>.</p> -</dd> -<dt>Problem:</dt> -<dd><p>The math macros for the <a class="reference internal" href="#symbol-variants">symbol variants</a> <span class="docutils literal">\varepsilon</span> and -<span class="docutils literal">\varphi</span> map to characters named “GREEK SMALL <em>LETTER</em> …”, while -<span class="docutils literal">\vartheta</span>, <span class="docutils literal">\varkappa</span>, <span class="docutils literal">\varrho</span>, and <span class="docutils literal">\varpi</span> map to “GREEK -… <em>SYMBOL</em>” Unicode characters. (See also section 5.5.3 of the -<a class="reference external" href="http://www.ctan.org/pkg/unicode-math">unicode-math</a> documentation.)</p> -</dd> -</dl> -</li> -<li><p>The <a class="reference external" href="http://www.unicode.org/Public/UNIDATA/NamesList.txt">Unicode names list</a> provides standardized descriptive names for all -Unicode characters that use only capital letters of the Latin alphabet. -While not suited for direct use in LICR macros, they can be either</p> -<ol class="lowerroman simple"> -<li><p>used as inspiration for new LICR macro names or</p></li> -<li><p>converted to LICR macro names via a defined set of transformation rules.</p></li> -</ol> -<dl class="simple"> -<dt>Example:</dt> -<dd><p><span class="docutils literal">\textfinalsigma</span> is a descriptive alias for -GREEK SMALL LETTER FINAL SIGMA derived via the rules:</p> -<ul class="simple"> -<li><p>drop “LETTER” if the name remains unique,</p></li> -<li><p>drop “GREEK” if the name remains unique,</p></li> -<li><p>use capitalized name for capital letters, lowercase for “SMALL” letters -and drop “SMALL”,</p></li> -<li><p>concatenate</p></li> -</ul> -</dd> -</dl> -</li> -<li><p>Omit the “text” prefix for macros that do not have a math counterpart?</p> -<dl class="simple"> -<dt>Pro:</dt> -<dd><ul class="simple"> -<li><p>Simpler,</p></li> -<li><p>ease of use (less typing, better readability of source text),</p></li> -<li><p>many established text macro names without “text”,</p></li> -<li><p><span class="docutils literal">text</span> prefix does <strong>not</strong> mark a macro as encoding-specific or -“inserting a glyph”. There are e.g. font-changing macros (<span class="docutils literal">\textbf</span>, -<span class="docutils literal">\textit</span>) and encoding-changing macros (<span class="docutils literal">\textgreek</span>, -<span class="docutils literal">\textcyr</span>).</p></li> -<li><p>There are examples of encoding-specific macros -without the <span class="docutils literal">text</span>-prefix, especially for letters, see <a class="reference internal" href="#encguide">encguide</a>.</p></li> -</ul> -</dd> -<dt>Contra:</dt> -<dd><ul class="simple"> -<li><p>Less consistent,</p></li> -<li><p>possible name clashes</p></li> -<li><p><span class="docutils literal">text</span> prefix marks a macro as confined to text (as opposed to math) -mode,</p></li> -</ul> -</dd> -</dl> -<p>The font encoding definition files use the <span class="docutils literal">text</span> prefix for symbols. -Aliases (short forms, compatibility defs, etc.) are defined in -additional packages (e.g. <a class="reference external" href="alphabeta.sty">alphabeta.sty</a>, <a class="reference external" href="http://www.ctan.org/pkg/babel-greek">babel-greek</a>, or <a class="reference external" href="http://www.ctan.org/pkg/teubner">teubner</a>)</p> -</li> -</ul> -</section> -<section id="accent-macros"> -<h3><a class="toc-backref" href="#id34">accent macros</a></h3> -<ul> -<li><p>standard accent macros (<span class="docutils literal">\DeclareTextAccent</span> definitions in -<span class="docutils literal"><span class="pre">latex/base/...</span></span>) are one-symbol macros (<span class="docutils literal">\' \" ... \u \v ...</span>) .</p></li> -<li><p><span class="docutils literal">tipa.sty</span>, <a class="reference external" href="http://www.ctan.org/pkg/xunicode">xunicode</a>, and <a class="reference external" href="http://www.ctan.org/pkg/unicode">ucs</a> use the “text” prefix also for accents.</p> -<p>However, the <a class="reference external" href="http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/aglfn.txt">Adobe Glyph List For New Fonts</a> maps, e.g., “tonos” and -“dieresistonos” to the spacing characters GREEK TONOS and GREEK DIALYTIKA -TONOS, hence <cite>texttonos</cite> and <cite>textdiaresistonos</cite> should be spacing -characters.</p> -</li> -<li><p>textcomp (ts1enc.def) defines <span class="docutils literal"><span class="pre">\capital...</span></span> accents (i.e. without -<span class="docutils literal">text</span> prefix).</p></li> -</ul> -<p>Currently, <cite>greek-fontenc</cite> uses for diacritics:</p> -<ul class="simple"> -<li><p>Greek names like in Unicode, and <span class="docutils literal">ucsencs.def</span>, and</p></li> -<li><p>the prefix <span class="docutils literal">\acc</span> to distinguish the macros as <cite>TextAaccent</cite> and reduce -the risc of name clashes (cf. <span class="docutils literal">\@tabacckludge</span>).</p></li> -</ul> -<p>For the end-user “symbol macros” (<span class="docutils literal">\~ \' \` \" \< \> \"' ...</span>) are -provided. (The non-standard macros <span class="docutils literal">\<</span> and <span class="docutils literal">\></span> only with -<a class="reference internal" href="#textalpha">textalpha</a> or <a class="reference internal" href="#alphabeta">alphabeta</a>.)</p> -</section> -<section id="symbol-variants"> -<h3><a class="toc-backref" href="#id35">symbol variants</a></h3> -<p>See also <a class="reference external" href="http://en.wikipedia.org/wiki/Greek_alphabet#Glyph_variants">http://en.wikipedia.org/wiki/Greek_alphabet#Glyph_variants</a></p> -<p>Mathematical notation distinguishes variant shapes for beta (β|ϐ), theta -(θ|ϑ), phi (φ|ϕ), pi (π|ϖ), kappa (κ|ϰ), rho (ρ|ϱ), Theta (Θ|ϴ), and epsilon -(ε|ϵ). The variations have no syntactic meaning in Greek text and Greek -text fonts use the shape variants indiscriminately.</p> -<p>Unicode defines separate code points for the symbol variants for use in -mathematical context. However, they are sometimes also used in place of the -corresponding letter characters in Unicode-encoded text.</p> -<p>The variant shapes are not given separate code-points in the <a class="reference internal" href="#lgr">LGR</a> font -encoding.</p> -<p>In mathematical mode, TeX supports the distinction between θ|ϑ, π|ϖ, φ|ϕ, -ρ|ϱ, and ε|ϵ with <span class="docutils literal">\var<lettername></span> macros. However, the mapping of -letter/symbol in Unicode to “normal”/variant in TeX is inconsistent -and variant macros for ϴ ϐ, and ϰ are not available without additional -packages (e.g. <a class="reference external" href="http://www.ctan.org/pkg/amsfonts">amssymb</a> provides ϰ as <span class="docutils literal">\varkappa</span>).</p> -<p><cite>greek-fontenc</cite> provides <span class="docutils literal">\text<lettername>symbol</span> LICR macros for these -characters:</p> -<ul class="simple"> -<li><p>With Unicode fonts, the macros select the GREEK -<lettername> SYMBOL``.</p></li> -<li><p>With LGR encoded fonts, they report an error by default and are mapped to -the corresponding letter with the <span class="docutils literal"><span class="pre">normalize-symbols</span></span> option of -<a class="reference internal" href="#textalpha">textalpha</a> and <a class="reference internal" href="#alphabeta">alphabeta</a> (loosing the distinction between the shape -variants).</p></li> -</ul> -</section> -</section> -<section id="references"> -<h2><a class="toc-backref" href="#id36">References</a></h2> -<p>An alternative, more complete set of short mnemonic character names is -the <a class="reference external" href="http://www.w3.org/TR/xml-entity-names/">XML Entity Definitions for Characters</a> W3C Recommendation from -01 April 2010.</p> -<p>For glyph names of the LGR encoding see, e.g., <span class="docutils literal">CB.enc</span> by Apostolos -Syropoulos and <span class="docutils literal"><span class="pre">xl-lgr.enc</span></span> from the <a class="reference external" href="http://www.ctan.org/pkg/libertine-legacy">libertine</a> (legacy) package. -<span class="docutils literal">lgr.cmap</span> provides a mapping to Unicode characters.</p> -<p>A full set of <span class="docutils literal">\text*</span> symbol macros is defined in <span class="docutils literal">ucsencs.def</span> -from the <a class="reference external" href="http://www.ctan.org/pkg/unicode">ucs</a> package.</p> -<dl class="citation"> -<dt class="label" id="fntguide"><span class="brackets"><a class="fn-backref" href="#id6">fntguide</a></span></dt> -<dd><p>LaTeX3 Project Team, <cite>LaTeX2ε font selection</cite>, 2005. -<a class="reference external" href="http://mirror.ctan.org/macros/latex/base/fntguide.pdf">http://mirror.ctan.org/macros/latex/base/fntguide.pdf</a></p> -</dd> -<dt class="label" id="encguide"><span class="brackets"><a class="fn-backref" href="#id12">encguide</a></span></dt> -<dd><p>Frank Mittelbach, Robin Fairbairns, Werner Lemberg, -LaTeX3 Project Team, <cite>LaTeX font encodings</cite>, 2006. -<a class="reference external" href="http://mirror.ctan.org/macros/latex/base/encguide.pdf">http://mirror.ctan.org/macros/latex/base/encguide.pdf</a></p> -</dd> -<dt class="label" id="greek-usage"><span class="brackets"><a class="fn-backref" href="#id13">greek-usage</a></span></dt> -<dd><p>Apostolos Syropoulos, <cite>Writing Greek with the greek option -of the babel package</cite>, 1997. -<a class="reference external" href="http://mirrors.ctan.org/language/babel/contrib/greek/usage.pdf">http://mirrors.ctan.org/language/babel/contrib/greek/usage.pdf</a></p> -</dd> -<dt class="label" id="cbfonts"><span class="brackets"><a class="fn-backref" href="#id15">cbfonts</a></span></dt> -<dd><p>Claudio Beccari, <cite>The CB Greek fonts</cite>, Εὔτυπον, τεῦχος № 21, 2008. -<a class="reference external" href="http://www.eutypon.gr/eutypon/pdf/e2008-21/e21-a01.pdf">http://www.eutypon.gr/eutypon/pdf/e2008-21/e21-a01.pdf</a></p> -</dd> -<dt class="label" id="teubner-doc"><span class="brackets"><a class="fn-backref" href="#id14">teubner-doc</a></span></dt> -<dd><p>Claudio Beccari, <span class="docutils literal">teubner.sty</span> -<cite>An extension to the greek option of the babel package</cite>, 2011. -<a class="reference external" href="http://mirror.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf">http://mirror.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf</a></p> -</dd> -</dl> -<!-- [LaTeX2e News Issue 26] -https://www.latex-project.org/news/latex2e-news/ltnews26.pdf --> -<dl class="citation"> -<dt class="label" id="babel-patch"><span class="brackets"><a class="fn-backref" href="#id16">babel-patch</a></span></dt> -<dd><p>Werner Lemberg, <cite>Unicode support for the Greek LGR -encoding</cite> Εὔτυπον, τεῦχος № 20, 2008. -<a class="reference external" href="http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf">http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf</a></p> -</dd> -</dl> -<!-- fix scaling in mobile browsers --> -</section> -</main> -</body> -</html> diff --git a/language/greek/greek-fontenc/README.md b/language/greek/greek-fontenc/README.md new file mode 100644 index 0000000000..8a6da67416 --- /dev/null +++ b/language/greek/greek-fontenc/README.md @@ -0,0 +1,44 @@ +greek-fontenc +============= +Greek font encoding definition files +------------------------------------ + +Font encoding definition files with *LaTeX internal character +representation* (LICR) macros for letters and symbols from the Greek +script. + +The included LaTeX packages [textalpha] and [alphabeta] facilitate the use +of Greek symbols in text. + +**Version**: 2.2 ([changelog]) + +**Copyright**: © 2010 - 2023 Günter Milde <milde@users.sf.net> + +**License**: + This work may be distributed and/or modified under the conditions of the + [LaTeX Project Public License](http://www.latex-project.org/lppl.txt), + either version 1.3 of this license or any later version. + +**Home**: <https://codeberg.org/milde/greek-tex> + +**Latest Release**: <https://ctan.org/pkg/greek-fontenc> + +**Requires**: text fonts supporting the Greek script + +**Recommends**: [greek-inputenc] (when used with 8-bit TeX/pdfTeX) + +**Required by**: [babel-greek], [greek-inputenc] + + +See [greek-fontenc-doc.html] ([greek-fontenc-doc.rst]) for a detailed +overview. + + +[Babel]: https://ctan.org/pkg/babel +[babel-greek]: https://ctan.org/pkg/babel-greek +[greek-inputenc]: https://ctan.org/pkg/greek-inputenc +[textalpha]: greek-fontenc-doc.html#textalpha +[alphabeta]: greek-fontenc-doc.html#alphabeta +[greek-fontenc-doc.html]: greek-fontenc-doc.html +[greek-fontenc-doc.rst]: greek-fontenc-doc.rst +[changelog]: greek-fontenc-doc.html#changelog diff --git a/language/greek/greek-fontenc/alphabeta-doc-tu.pdf b/language/greek/greek-fontenc/alphabeta-doc-tu.pdf Binary files differnew file mode 100644 index 0000000000..23d5dcfcb0 --- /dev/null +++ b/language/greek/greek-fontenc/alphabeta-doc-tu.pdf diff --git a/language/greek/greek-fontenc/alphabeta-doc.pdf b/language/greek/greek-fontenc/alphabeta-doc.pdf Binary files differindex b9f9dade15..4b8d9aeefb 100644 --- a/language/greek/greek-fontenc/alphabeta-doc.pdf +++ b/language/greek/greek-fontenc/alphabeta-doc.pdf diff --git a/language/greek/greek-fontenc/alphabeta-doc.tex b/language/greek/greek-fontenc/alphabeta-doc.tex index 618713a127..c149f517ba 100644 --- a/language/greek/greek-fontenc/alphabeta-doc.tex +++ b/language/greek/greek-fontenc/alphabeta-doc.tex @@ -66,6 +66,14 @@ % varbeta and varTheta only defined with unicode-math \providecommand*{\varbeta}{\missing} +% Semantic styling: + +\newcommand{\file}{\texttt} +\newcommand{\cs}[1]{\texttt{\textbackslash#1}} +\newcommand{\pkgref}[1]{\emph{\href{https://ctan.org/pkg/#1}{#1}}} + +% Auxiliary macros + % print current font encoding: \makeatletter \newcommand{\currentEncoding}{\f@encoding} @@ -84,12 +92,11 @@ mathematical mode also available in text mode. This way, you can input Greek letters ``by name'' everywhere in the document. The mode determines whether the characters are taken from the text or math font. -With 8-bit TeX and -\emph{\href{http://www.ctan.org/pkg/greek-inputenc}{greek-inputenc}}, +With 8-bit TeX and \pkgref{greek-inputenc}, literal Unicode charactes can also be used in mathematical mode. \footnote{ - This document was compiled using the \href{https://ctan.org/pkg/encguide}% - {font encoding} \encodingdefault{} + This document was compiled using the + \href{https://ctan.org/pkg/encguide}{font encoding} \encodingdefault{} \ifdefined \UTFencname % defined by fontspec (Unicode fonts). For a version using 8-bit fonts, see @@ -97,28 +104,29 @@ literal Unicode charactes can also be used in mathematical mode. \else (8-bit fonts). For a version using Unicode fonts, see - \href{alphabeta-tu.pdf}{alphabeta-tu.pdf}. + \href{alphabeta-doc-tu.pdf}{alphabeta-doc-tu.pdf}. \fi } \end{abstract} % \tableofcontents + \section{Requirements and Conflicts} The \emph{alphabeta} package depends on -\emph{\href{textalpha-doc.pdf}{textalpha}} (both are part of -\emph{\href{http://www.ctan.org/pkg/greek-fontenc}{greek-fontenc}}). It can -be used under 8-bit TeX as well as XeTeX/LuaTeX (this document is typeset -with \engine{} and \fontset). Depending on the converter and fonts, different -\hyperref[sec:limitations]{limitations} apply. +\emph{\href{textalpha-doc.pdf}{textalpha}} +(both are part of \pkgref{greek-fontenc}). +It can be used under 8-bit TeX as well as XeTeX/LuaTeX (this document is +typeset with \engine{} and \fontset). Depending on the converter and fonts, +different \hyperref[sec:limitations]{limitations} apply. -The package conflicts with -\href{http://www.ctan.org/pkg/unicode-math}{\emph{unicode-math}}. +The package conflicts with \pkgref{unicode-math}. + +It also fails, if the \texttt{utf8x} input encoding is selected. +(The interface to the \pkgref{ucs} package uses a non-compatible +definition of \cs{DeclareUnicodeCharacter}.) -It also fails, if the \texttt{utf8x} input encoding is selected (interface -to the \href{http://www.ctan.org/pkg/ucs}{\emph{ucs}} package using a -non-compatible definition of \verb+\DeclareUnicodeCharacter+). \section{Usage} @@ -132,17 +140,14 @@ Now you can write a single Greek symbol (like \Psi{} or \mu{}) or a \lambda\omicron\gamma\omicron\varsigma{} in non-Greek text as well as ISO-conforming formulas with upright symbols for constants like $A = \text{\pi} r^2$ (instead of $A = \pi r^2$).% -\footnote{The - \href{http://mirrors.ctan.org/macros/latex/contrib/isomath/isomath.html}% - {\emph{isomath} documentation} describes more alternatives for upright - Greek symbols in math mode.} +\footnote{The \pkgref{isomath} documentation describes more alternatives + for upright Greek symbols in math mode.} Just like Latin letters, the Greek counterparts are by default italic in math mode% \footnote{Capital Greek letters are upright in TeX unless a package selects -the ``ISO'' math-style. See the -\href{http://mirrors.ctan.org/macros/latex/contrib/isomath/isomath.html}% -{\emph{isomath} documentation} for a detailled discussion of math-styles.} + the ``ISO'' math-style. See the \pkgref{isomath} documentation + for a detailled discussion of math-styles.} and upright in text: \begin{quote} @@ -163,16 +168,10 @@ package. Example call with options: \usepackage[normalize-symbols,keep-semicolon]{alphabeta} \end{verbatim} -\texttt{normalize-symbols} merges ``letter'' and ``symbol`` variants of -some Greek letters to the ``letter'' character: -\footnote{The normalize-symbols option was added in version 0.13 (2015-08-03). - Unicode input of the symbol variants requires at least version~1.6 - (2015-08-05) of - \emph{\href{http://www.ctan.org/pkg/greek-inputenc}{greek-inputenc}}.} -Without this option, the symbol variant characters cannot be used in text, -because they are not supported by 8-bit Greek fonts (LGR encoding). -The \texttt{normalize-symbols} option is ignored, if you compile the -document with XeTeX or LuaTeX using Unicode fonts. +\texttt{normalize-symbols} merges ``letter'' and ``symbol`` variants of some +Greek letters (cf. next section) to the ``letter'' character: Without this +option, the symbol variant characters cannot be used in text, because they +are not supported by 8-bit Greek fonts (LGR encoding). \textbf{Attention}: Be careful in cases where the distinction between the symbol variants may be important (e.g. in a mathematical or scientific context). Use XeTeX/LuaTeX with Unicode fonts or the respective characters @@ -182,6 +181,9 @@ The option \texttt{keep-semicolon} prevents conversion of the semicolon to an \emph{ano teleia} in 8-bit TeX (see \emph{\href{textalpha-doc.pdf}{textalpha-doc}}). +Both options are ignored in text set using Unicode fonts. + + \subsection{symbol variants} Mathematical notation uses variant shapes of some Greek letters as @@ -195,7 +197,7 @@ some of the variant shape symbols in mathematical mode, but its concept of “GREEK LETTER ...” vs. “GREEK ... SYMBOL” in the Unicode standard. The \emph{alphabeta} package defines generic macros for these variants that -are short forms of the set defined in \texttt{tuenc-greek.def} +are short forms of the set defined in \file{tuenc-greek.def} (cf. \href{test-tuenc-greek.pdf}{test-tuenc-greek}): \begin{quote} \verb|\<name>| selects the Unicode GREEK LETTER ... variant, @@ -208,21 +210,21 @@ are short forms of the set defined in \texttt{tuenc-greek.def} \end{quote} See Table \ref{tab:symbol-variant-macros} for the full list. + \section{Limitations \label{sec:limitations}} With 8-bit TeX, the limitations described in the \href{textalpha-doc.pdf}{textalpha documentation} apply. See also the tests in section \hyperref[sec:8-bit-limitations]{8 bit limitations}. -These limitations are lifted, if the text language is switched to ``greek'' -with Babel, the text part is wrapped in \verb+\ensuregreek+, or the -document is compiled with XeTeX/LuaTeX. +These limitations do not apply, if the text language is switched to ``greek'' +with Babel, the text part is wrapped in \verb+\ensuregreek+, or set using +Unicode fonts (with XeTeX/LuaTeX). With XeTeX/LuaTeX and Unicode fonts, literal Unicode characters cannot be used in formulas (the log file reports missing characters) This is a generic TeX limitation which \emph{alphabeta} overcomes if used under 8-bit TeX. -Under XeTeX/LuaTeX it may be lifted using the -\href{http://www.ctan.org/pkg/unicode-math}{\emph{unicode-math}} package. -However, \emph{unicode-math} conflicts with \emph{alphabeta}. +Under XeTeX/LuaTeX it may be circumvented using the \pkgref{unicode-math} +package. Mind, that \emph{unicode-math} conflicts with \emph{alphabeta}. \section{Tests and examples} @@ -243,13 +245,10 @@ switch (active font encoding \encodingdefault): \\ \digamma{} \Digamma{} \stigma{} \varstigma{}% \footnote{There is no separate Unicode code point for a stigma variant - symbol, \texttt{\textbackslash varstigma} is not defined with - Xe/LuaTeX and similar to \texttt{\textbackslash stigma} in some fonts.} + symbol, \cs{varstigma} is not defined with + Xe/LuaTeX and similar to \cs{stigma} in some fonts.} \koppa{} \Koppa{}% - \footnote{In LGR, there is no separate code point for Koppa as - typographical practice normally does not observe a - contrast between uppercase and lowercase forms for numeric koppa.} - % https://en.wikipedia.org/wiki/Koppa_(letter) + \footnote{In LGR, there is no separate glyph for uppercase Koppa.} \qoppa{} \Qoppa{} \Stigma{} \Sampi{} \sampi{} \end{quote} % @@ -261,6 +260,7 @@ Greek letters via Unicode (active font encoding \encodingdefault): ϝ Ϝ ϛ ϟ Ϟ ϙ Ϙ Ϛ Ϡ ϡ \end{quote} + \subsection{Diacritics} Accent macros are set up for use with the generic macros by definition of @@ -319,9 +319,10 @@ In the main document, Greek in math mode should work as usual: \[\Gamma = \frac{\sin\alpha}{\cos{\beta}}. \] -Greek letters and symbols in math input as macro:% -\footnote{There are no math macros for Greek letters wich exist with similar -shape in the Latin alphabet} +Greek letters and symbols in math mode,\footnote{% + There are no math macros for Greek letters wich exist with similar + shape in the Latin alphabet} +input as macro: \begin{align*} & % \Alpha{} \Beta{} @@ -356,35 +357,42 @@ written to the log). This works resonably well for simple formulas (but not, e.g., for super-/subscripts). With the \emph{alphabeta} package, it works also for Greek letters. -\subsection{Greek Unicode characters in math (only under 8-bit TeX)} -With the \texttt{utf8} option of \emph{inputenc} and -\href{http://www.ctan.org/pkg/greek-inputenc}{\emph{greek-inputenc}}, -literal Greek Unicode characters are supported also in -mathematical mode. +\subsection{Greek Unicode characters in math} +With 8-bit TeX and \pkgref{greek-inputenc}, literal Greek Unicode characters +are supported also in mathematical mode. +% \ifdefined\DeclareUnicodeCharacter \[ Γ = \frac{\sin α}{\cos β}. \] - Greek letters and symbols in math input as Unicode literals: + Greek letters and symbols in math mode, input as Unicode literals: \begin{align*} & Γ ΔΘΛΞΠΣΥ ΦΨ Ω \\ & αβγδεζηθικλμνξπρσςτυφχψω \\ & ϑϕϖϝϱϵ \end{align*} \fi - This does not work with XeTeX/LuaTeX (unless in 8-bit emulation mode). +Here, \pkgref{unicode-math} can be used instead of \emph{alphabeta}. + +The ``normal'' vs. ``variant'' shape of letters is used +so that the output matches the Unicode reference glyph +(cf. Table \ref{tab:symbol-variant-macros}). +This corresponds to the behaviour of \pkgref{unicode-math}. -The ``normal'' vs. ``variant'' shape of letters is used so that the output -matches the Unicode reference glyph (cf. Table -\ref{tab:symbol-variant-macros}). This corresponds to the behaviour of -\href{http://www.ctan.org/pkg/unicode-math}{\emph{unicode-math}}. \subsection{8-bit limitations \label{sec:8-bit-limitations}} -Certain limitations apply if Greek symbols are used in non-Greek context. +Certain limitations apply if Greek LICRs are used in non-Greek context with +8-bit TeX fonts (this document is typeset using +\ifdefined \UnicodeEncodingName + Unicode fonts% +\else + 8-bit fonts% +\fi +). \begin{itemize} @@ -400,7 +408,10 @@ Certain limitations apply if Greek symbols are used in non-Greek context. \ensuregreek{\<'\alpha{} \accdasia\acctonos\alpha{} \accdasiaoxia\alpha{} (\currentEncoding)} vs. \accdasiaoxia\alpha{} (\currentEncoding) -\item MakeUppercase fails with composite diacritics in other font encodings. +\item MakeUppercase fails with composite diacritics in other font encodings.% + \footnote{Since the re-implementation 2022/06, MakeUppercase follows + the Greek typesetting rules only for text parts given the + \pkgref{babel} language \texttt{greek}.} % \MakeUppercase{% % \<\alpha{} \>\epsilon{} \'\iota{} \`\eta{} \~\upsilon{} % } @@ -415,8 +426,8 @@ font encoding supporting Greek. This keeps kerning (if the kerning pair is inside the argument, \ensuregreek{\Alpha\"\Upsilon\Alpha}), and allows combining of accent macros where pre-composed characters are selected (\ensuregreek{\<'\alpha}). -Setting the corrct language for Greek quotes with the \emph{Babel} package -additionally ensures correct hyphenation . +Setting the corrct language for Greek text parts with the \pkgref{babel} +package additionally ensures correct hyphenation and upcasing. \begin{table}[bp] diff --git a/language/greek/greek-fontenc/alphabeta-lgr.def.html b/language/greek/greek-fontenc/alphabeta-lgr.def.html index a903d1e75b..a0d9674440 100644 --- a/language/greek/greek-fontenc/alphabeta-lgr.def.html +++ b/language/greek/greek-fontenc/alphabeta-lgr.def.html @@ -1,18 +1,19 @@ <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> -<meta charset="utf-8"/> -<meta name="generator" content="Docutils 0.17b2.dev: http://docutils.sourceforge.net/" /> -<title>alphabeta-lgr.def</title> +<meta charset="utf-8" /> +<meta name="generator" content="Docutils 0.20b.dev: https://docutils.sourceforge.io/" /> +<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="dcterms.rights" content="© 2014 Günter Milde" /> +<title>alphabeta-lgr.def</title> <link rel="schema.dcterms" href="http://purl.org/dc/terms/"/> <style type="text/css"> /* Minimal style sheet for the HTML output of Docutils. */ /* */ /* :Author: Günter Milde, based on html4css1.css by David Goodger */ -/* :Id: $Id$ */ -/* :Copyright: © 2015 Günter Milde. */ +/* :Id: $Id$ */ +/* :Copyright: © 2015, 2021 Günter Milde. */ /* :License: Released under the terms of the `2-Clause BSD license`_, */ /* in short: */ /* */ @@ -24,38 +25,24 @@ /* */ /* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ -/* This CSS2.1_ stylesheet defines rules for Docutils elements without */ -/* HTML equivalent. It is required to make the document semantic visible. */ -/* */ -/* .. _CSS2.1: http://www.w3.org/TR/CSS2 */ -/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ - -/* alignment of text and inline objects inside block objects*/ -.align-left { text-align: left; } -.align-right { text-align: right; } -.align-center { clear: both; text-align: center; } -.align-top { vertical-align: top; } -.align-middle { vertical-align: middle; } -.align-bottom { vertical-align: bottom; } +/* This CSS3 stylesheet defines rules for Docutils elements without */ +/* HTML equivalent. It is required to make the document semantics visible. */ +/* */ +/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ /* titles */ -h1.title, -p.subtitle { - text-align: center; -} p.topic-title, -p.sidebar-title, -p.rubric, p.admonition-title, p.system-message-title { font-weight: bold; } -h1 + p.subtitle { - font-size: 1.6em; +p.sidebar-title, +p.rubric { + font-weight: bold; + font-size: larger; } -h2 + p.section-subtitle, -p.sidebar-title { - font-size: 1.2em; +p.rubric { + color: maroon; } p.subtitle, p.section-subtitle, @@ -63,46 +50,47 @@ p.sidebar-subtitle { font-weight: bold; margin-top: -0.5em; } -p.rubric { - font-size: larger; - color: maroon; +h1 + p.subtitle { + font-size: 1.6em; } a.toc-backref { - color: black; - text-decoration: none; } + color: inherit; + text-decoration: none; +} /* Warnings, Errors */ -div.system-messages h2, -span.problematic, -p.system-message-title { +.system-messages h2, +.system-message-title, +span.problematic { color: red; } -/* inline literals */ -span.docutils.literal { +/* Inline Literals */ +.docutils.literal { font-family: monospace; white-space: pre-wrap; } -/* do not wraph at hyphens and similar: */ +/* do not wrap at hyphens and similar: */ .literal > span.pre { white-space: nowrap; } /* Lists */ /* compact and simple lists: no margin between items */ -.simple li, .compact li, -.simple ul, .compact ul, -.simple ol, .compact ol, -.simple > li p, .compact > li p, -dl.simple > dd, dl.compact > dd { +.simple li, .simple ul, .simple ol, +.compact li, .compact ul, .compact ol, +.simple > li p, dl.simple > dd, +.compact > li p, dl.compact > dd { margin-top: 0; margin-bottom: 0; } +/* Nested Paragraphs */ +p:first-child { margin-top: 0; } +p:last-child { margin-bottom: 0; } +details > p:last-child { margin-bottom: 1em; } /* Table of Contents */ -div.topic.contents { margin: 0.5em 0; } -div.topic.contents ul { +.contents ul.auto-toc { /* section numbers present */ list-style-type: none; - padding-left: 1.5em; } /* Enumerated Lists */ @@ -112,32 +100,41 @@ ol.upperalpha { list-style: upper-alpha } ol.lowerroman { list-style: lower-roman } ol.upperroman { list-style: upper-roman } -dt span.classifier { font-style: italic } -dt span.classifier:before { +/* Definition Lists and Derivatives */ +dt .classifier { font-style: italic } +dt .classifier:before { font-style: normal; margin: 0.5em; content: ":"; } - -/* Field Lists and drivatives */ +/* Field Lists and similar */ /* bold field name, content starts on the same line */ +dl.field-list, +dl.option-list, +dl.docinfo { + display: flow-root; +} dl.field-list > dt, dl.option-list > dt, -dl.docinfo > dt, -dl.footnote > dt, -dl.citation > dt { +dl.docinfo > dt { font-weight: bold; clear: left; float: left; margin: 0; padding: 0; - padding-right: 0.5em; + padding-right: 0.2em; } /* Offset for field content (corresponds to the --field-name-limit option) */ dl.field-list > dd, dl.option-list > dd, dl.docinfo > dd { - margin-left: 9em; /* ca. 14 chars in the test examples */ + margin-left: 9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */ +} +/* start nested lists on new line */ +dd > dl:first-child, +dd > ul:first-child, +dd > ol:first-child { + clear: left; } /* start field-body on a new line after long field names */ dl.field-list > dd > *:first-child, @@ -147,108 +144,124 @@ dl.option-list > dd > *:first-child width: 100%; margin: 0; } -/* field names followed by a colon */ -dl.field-list > dt:after, -dl.docinfo > dt:after { - content: ":"; -} /* Bibliographic Fields (docinfo) */ -pre.address { - font: inherit; +dl.docinfo pre.address { + font: inherit; margin: 0.5em 0; } -dd.authors > p { margin: 0; } +dl.docinfo > dd.authors > p { margin: 0; } /* Option Lists */ -dl.option-list { margin-left: 1.5em; } dl.option-list > dt { font-weight: normal; } span.option { white-space: nowrap; } /* Footnotes and Citations */ -dl.footnote.superscript > dd {margin-left: 1em; } -dl.footnote.brackets > dd {margin-left: 2em; } -dl.footnote > dt { font-weight: normal; } -a.footnote-reference.brackets:before, -dt.label > span.brackets:before { content: "["; } -a.footnote-reference.brackets:after, -dt.label > span.brackets:after { content: "]"; } -a.footnote-reference.superscript, -dl.footnote.superscript > dt.label { + +.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */ +/* hanging indent */ +.citation { padding-left: 2em; } +.footnote { padding-left: 1.7em; } +.footnote.superscript { padding-left: 1.0em; } +.citation > .label { margin-left: -2em; } +.footnote > .label { margin-left: -1.7em; } +.footnote.superscript > .label { margin-left: -1.0em; } + +.footnote > .label + *, +.citation > .label + * { + display: inline-block; + margin-top: 0; + vertical-align: top; +} +.footnote > .backrefs + *, +.citation > .backrefs + * { + margin-top: 0; +} +.footnote > .label + p, .footnote > .backrefs + p, +.citation > .label + p, .citation > .backrefs + p { + display: inline; + vertical-align: inherit; +} + +.backrefs { user-select: none; } +.backrefs > a { font-style: italic; } + +/* superscript footnotes */ +a[role="doc-noteref"].superscript, +.footnote.superscript > .label, +.footnote.superscript > .backrefs { vertical-align: super; - font-size: small; + font-size: smaller; + line-height: 1; +} +a[role="doc-noteref"].superscript > .fn-bracket, +.footnote.superscript > .label > .fn-bracket { + /* hide brackets in display but leave for copy/paste */ + display: inline-block; + width: 0; + overflow: hidden; +} +[role="doc-noteref"].superscript + [role="doc-noteref"].superscript { + padding-left: 0.15em; /* separate consecutive footnote references */ + /* TODO: unfortunately, "+" also selects with text between the references. */ } -dt.label > span.fn-backref { margin-left: 0.2em; } -dt.label > span.fn-backref > a { font-style: italic; } -/* Figures, Images, and Tables */ -.figure.align-left, -figure.align-left, -img.align-left, -object.align-left, -table.align-left { +/* Alignment */ +.align-left { + text-align: left; margin-right: auto; } -.figure.align-center, -figure.align-center, -img.align-center, -object.align-center, -table.align-center { +.align-center { + text-align: center; margin-left: auto; margin-right: auto; } -.figure.align-right, -figure.align-right, -img.align-right, -object.align-right, -table.align-right { +.align-right { + text-align: right; margin-left: auto; } -img.align-center, img.align-right, -object.align-center, object.align-right { - display: block; -} +.align-top { vertical-align: top; } +.align-middle { vertical-align: middle; } +.align-bottom { vertical-align: bottom; } + /* reset inner alignment in figures and tables */ -.figure.align-left, .figure.align-right, figure.align-left, figure.align-right, table.align-left, table.align-center, table.align-right { text-align: inherit; } -/* Sidebar */ -aside.sidebar { - width: 30%; - max-width: 26em; - float: right; - clear: right; -} - /* Text Blocks */ -blockquote, -div.topic, -div.admonition, -div.system-message { - margin-left: 2em; - margin-right: 2em; +.topic { margin: 1em 2em; } +.sidebar, +.admonition, +.system-message { + margin: 1em 2em; + border: thin solid; + padding: 0.5em 1em; } div.line-block { display: block; } -div.line-block div.line-block { - margin: 0 0 0 2em; -} -pre { margin-left: 2em; } -pre.code .ln { color: gray; } /* line numbers */ +div.line-block div.line-block, pre { margin-left: 2em; } +/* Code line numbers: dropped when copying text from the page */ +pre.code .ln { display: none; } +pre.code code:before { + content: attr(data-lineno); /* …, none) fallback not supported by any browser */ + color: gray; +} /* Tables */ -table { border-collapse: collapse; } +table { + border-collapse: collapse; +} td, th { - border-style: solid; - border-color: silver; + border: thin solid silver; padding: 0 1ex; - border-width: thin; } -td > p:first-child, th > p:first-child { margin-top: 0; } -td > p, th > p { margin-bottom: 0; } +.borderless td, .borderless th { + border: 0; + padding: 0; + padding-right: 0.5em /* separate table cells */ +} table > caption { text-align: left; @@ -259,31 +272,29 @@ table.captionbelow { caption-side: bottom; } -table.borderless td, table.borderless th { - border: 0; - padding: 0; - padding-right: 0.5em /* separate table cells */ -} - /* Document Header and Footer */ header { border-bottom: 1px solid black; } footer { border-top: 1px solid black; } -/* new HTML5 block elements: set display for older browsers */ -header, section, footer, aside, nav, main, article, figure { +/* Images are block-level by default in Docutils */ +/* New HTML5 block elements: set display for older browsers */ +img, header, footer, main, aside, nav, section, figure, video, details { display: block; } +/* inline images */ +p img, p video, figure img, figure video { + display: inline; +} </style> <style type="text/css"> -/* CSS3_ style sheet for the output of Docutils HTML writers. */ -/* Generic responsive design for all screen sizes. */ -/* */ -/* :Author: Günter Milde */ +/* CSS31_ style sheet for the output of Docutils HTML writers. */ +/* Rules for easy reading and pre-defined style variants. */ /* */ +/* :Author: Günter Milde, based on html4css1.css by David Goodger */ /* :Id: $Id$ */ -/* :Copyright: © 2021 Günter Milde. */ +/* :Copyright: © 2015 Günter Milde. */ /* :License: Released under the terms of the `2-Clause BSD license`_, */ /* in short: */ /* */ @@ -294,197 +305,169 @@ header, section, footer, aside, nav, main, article, figure { /* This file is offered as-is, without any warranty. */ /* */ /* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ -/* .. _CSS3: http://www.w3.org/TR/CSS3 */ - +/* .. _CSS3: https://www.w3.org/Style/CSS/ */ -/* General Settings */ -/* ================ */ -/* Suited for all screen sizes or special to small ones (mobile first). */ -/* For adaption to larger screens see media queries below */ -@viewport { - zoom: 1.0; - width: extend-to-zoom; -} +/* Document Structure */ +/* ****************** */ +/* "page layout" */ body { - background-color: #fafaf6; - font-size: larger; - line-height: 1.4; + margin: 0; + background-color: #dbdbdb; + --field-indent: 9em; /* default indent of fields in field lists */ +} +main, footer, header { + line-height:1.6; + /* avoid long lines --> better reading */ + /* optimum is 45…75 characters/line <http://webtypography.net/2.1.2> */ + /* OTOH: lines should not be too short because of missing hyphenation, */ + max-width: 50rem; + padding: 1px 2%; /* 1px on top avoids grey bar above title (mozilla) */ margin: auto; } main { - counter-reset: figure table; -} -main, header, footer { - padding: 0.5em 5%; + counter-reset: table figure; background-color: white; - max-width: 66em; +} +footer, header { + font-size: smaller; + padding: 0.5em 2%; + border: none; } -main > *, section > * { - max-width: 55em; /* ca. 90…100 characters */ +/* Table of Contents */ +ul.auto-toc > li > p { + padding-left: 1em; + text-indent: -1em; } -main > section, section > section { - max-width: 100%; +nav.contents ul { + padding-left: 1em; +} +main > nav.contents ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B29\ '; +} +main > nav.contents ul ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B1D\ '; } -/* Vertical Space (Parskip) */ +/* Transitions */ +hr.docutils { + width: 80%; + margin-top: 1em; + margin-bottom: 1em; + clear: both; +} + +/* Paragraphs */ + +/* vertical space (parskip) */ p, ol, ul, dl, li, div.line-block, -div.topic, +.footnote, .citation, +div > math, table { margin-top: 0.5em; margin-bottom: 0.5em; } + h1, h2, h3, h4, h5, h6, -dl > dd { +dd, details > p:last-child { margin-bottom: 0.5em; } -/* exceptions */ -p:first-child { - margin-top: 0; -} -p:last-child { - margin-bottom: 0; -} -blockquote > table, -div.topic > table { - margin-top: 0; - margin-bottom: 0; -} -/* Indented Blocks */ -blockquote, -figure, -div.topic { - /* background-color: Honeydew; */ - margin: 0.5em 2%; - padding-left: 1em; -} -div.line-block div.line-block, -dl.option-list, -.literal-block, -pre { - /* background-color: LightCyan; */ - margin-left: calc(2% + 1em); -} +/* Lists */ +/* ===== */ -/* Object styling */ -/* ============== */ +/* Definition Lists */ +/* Indent lists nested in definition lists */ +dd > ul:only-child, dd > ol:only-child { padding-left: 1em; } -footer > *, header > *, -aside.sidebar > *, .marginal > * { - font-size: smaller; +/* Description Lists */ +/* styled like in most dictionaries, encyclopedias etc. */ +dl.description { + display: flow-root; } - -/* Frontmatter */ -blockquote.dedication, -div.topic.dedication { +dl.description > dt { + font-weight: bold; + clear: left; + float: left; + margin: 0; padding: 0; - margin-left: 0; - font-style: italic; - font-size: larger; -} -div.abstract p.topic-title { - margin-left: calc(-2% - 1em); + padding-right: 0.3em; } -div.dedication p.topic-title { - display: none; +dl.description > dd:after { + display: table; + content: ""; + clear: left; /* clearfix for empty descriptions */ } -blockquote p.attribution, -div.topic p.attribution { - text-align: right; -} +/* Field Lists */ -/* Table of Contents */ -div.topic.contents { - padding: 0; -} -ul.auto-toc > li > p { - padding-left: 1em; - text-indent: -1em; -} -div.topic.contents ul { - padding-left: 1em; -} - -/* Transitions */ -hr { - margin: 1em 10%; +dl.field-list > dd, +dl.docinfo > dd { + margin-left: var(--field-indent); /* adapted in media queries or HTML */ } -/* Lists */ - -/* Smaller indent on small screens */ -ul, ol { - padding-left: 1.1em; -} -dd { - margin-left: 1.5em; -} -dl.field-list > dd { - margin-left: 4em; -} -dl.field-list.narrow > dd, -dl.docinfo > dd, -dl.option-list > dd { - margin-left: 2.4em; +/* example for custom field-name width */ +dl.field-list.narrow > dd { + --field-indent: 5em; } /* run-in: start field-body on same line after long field names */ dl.field-list.run-in > dd p { display: block; } -/* "description style" like in most dictionaries, encyclopedias etc. */ -dl.description > dt { - clear: left; - float: left; - margin: 0; - padding: 0; - padding-right: 0.5em; - font-weight: bold; -} -dl.description > dd:after { - display: block; - content: ""; - clear: both; +/* Bibliographic Fields */ + +/* generally, bibliographic fields use dl.docinfo */ +/* but dedication and abstract are placed into divs */ +div.abstract p.topic-title { + text-align: center; } -/* start lists nested in description/field lists on new line */ -dd > dl:first-child, -dd > ul:first-child, -dd > ol:first-child { - clear: left; +div.dedication { + margin: 2em 5em; + text-align: center; + font-style: italic; } -/* Footnotes and Citations */ -/* TODO: use <aside> */ -dl.footnote { - font-size: smaller; - padding-left: 0.5em; -/* text-indent: -0.5em; */ - border-left: solid; - border-left-width: thin; +div.dedication p.topic-title { + font-style: normal; } -/* Images, Figures, and Tables */ -img { - display: block; -} -p > img, p > a > img, -figure > img, figure > a > img { - display: inline; +/* disclosures */ +details { padding-left: 1em; } +summary { margin-left: -1em; } + +/* Text Blocks */ +/* =========== */ + +/* Literal Blocks */ +pre.literal-block, pre.doctest-block, +pre.math, pre.code { + font-family: monospace; } -table tr { - text-align: left; +/* Block Quotes and Topics */ +bockquote { margin: 1em 2em; } +blockquote p.attribution, +.topic p.attribution { + text-align: right; + margin-left: 20%; } +/* Tables */ +/* ====== */ + /* th { vertical-align: bottom; } */ + +table tr { text-align: left; } + /* "booktabs" style (no vertical lines) */ table.booktabs { + border: 0; border-top: 2px solid; border-bottom: 2px solid; + border-collapse: collapse; } table.booktabs * { border: 0; @@ -493,62 +476,89 @@ table.booktabs th { border-bottom: thin solid; } -figcaption, -table > caption { - /* font-size: smaller; */ - font-style: italic; +/* numbered tables (counter defined in div.document) */ +table.numbered > caption:before { + counter-increment: table; + content: "Table " counter(table) ": "; + font-weight: bold; } -figcaption > .legend { - font-size: smaller; - font-style: initial; + +/* Explicit Markup Blocks */ +/* ====================== */ + +/* Footnotes and Citations */ +/* ----------------------- */ + +/* line on the left */ +.footnote-list { + border-left: solid thin; + padding-left: 0.25em; } +/* Directives */ +/* ---------- */ + +/* Body Elements */ +/* ~~~~~~~~~~~~~ */ + +/* Images and Figures */ + +/* let content flow to the side of aligned images and figures */ +figure.align-left, +img.align-left, +video.align-left, +object.align-left { + clear: left; + float: left; + margin-right: 1em; +} +figure.align-right, +img.align-right, +video.align-right, +object.align-right { + clear: right; + float: right; + margin-left: 1em; +} +/* Stop floating sidebars, images and figures */ +h1, h2, h3, h4, footer, header { clear: both; } + +/* Numbered figures */ figure.numbered > figcaption > p:before { counter-increment: figure; content: "Figure " counter(figure) ": "; font-weight: bold; - font-style: initial; -} -table.numbered > caption:before { - counter-increment: table; - content: "Table " counter(table) ": "; - font-weight: bold; - font-style: initial; } /* Admonitions and System Messages */ -div.admonition, -div.system-message { - box-sizing: border-box; - border-style: solid; - border-color: silver; - border-width: thin; - margin: 1em 2%; - padding: 0.5em; -} -div.caution p.admonition-title, -div.attention p.admonition-title, -div.danger p.admonition-title, -div.warning p.admonition-title, +.caution p.admonition-title, +.attention p.admonition-title, +.danger p.admonition-title, +.error p.admonition-title, +.warning p.admonition-title, div.error { - color: maroon; -} -div.system-message > p > span.literal { - overflow-wrap: break-word; + color: red; } -/* Literal and Code */ -pre { - /* font-family: Consolas, "Liberation Mono", Menlo, monospace; */ - /* font-size: 0.9em; */ -/* overflow: auto; */ - margin-right: -5%; +/* Sidebar */ +/* Move right. In a layout with fixed margins, */ +/* it can be moved into the margin. */ +aside.sidebar { + width: 30%; + max-width: 26em; + float: right; + clear: right; + margin-left: 1em; + margin-right: -1%; + background-color: #fffffa; } -pre.code .ln { color: gray; } /* line numbers */ +/* Code */ +pre.code { padding: 0.7ex } +pre.code, code { background-color: #eeeeee } /* basic highlighting: for a complete scheme, see */ -/* http://docutils.sourceforge.net/sandbox/stylesheets/ */ +/* https://docutils.sourceforge.io/sandbox/stylesheets/ */ pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } pre.code .literal.string, code .literal.string { color: #0C5404 } @@ -556,160 +566,41 @@ pre.code .name.builtin, code .name.builtin { color: #352B84 } pre.code .deleted, code .deleted { background-color: #DEB0A1} pre.code .inserted, code .inserted { background-color: #A3D289} - - -.sans { - font-family: "Gill Sans", "Gill Sans MT", Calibri, "Lucida Sans", "Noto Sans", sans-serif; - letter-spacing: .02em; -} - -/* Hyperlink References */ -/* underline that clears descenders */ -a { - text-decoration: none; - text-decoration-skip-ink: auto; /* nonstandard selector */ -} -a:link{ - overflow-wrap: break-word; -} -/* undecorated links */ -a[href^="#system-message"], -.contents a, a.toc-backref, a.image-reference, -a.footnote-reference, a.fn-backref, .fn-backref a, -a.citation-reference { - color: inherit; +/* Math */ +/* for math-output=MathML (for math-output=HTML, see math.css) */ +math .boldsymbol { + font-weight: bold; } -a:link:hover { - text-decoration: underline; +mstyle.mathscr, mi.mathscr { + font-family: STIX; } +/* Epigraph */ +/* Highlights */ +/* Pull-Quote */ +/* Compound Paragraph */ +/* Container */ -/* Block Alignment */ -/* Let content flow to the side of aligned images and figures */ +/* Inline Markup */ +/* ============= */ -/* no floats around this elements */ -dl.footnote, dl.citation, /* errors with internal floats */ -footer, header, hr, -h1, h2, h3, .contents > p.topic-title { - clear: both; -} +sup, sub { line-height: 0.8; } /* do not add leading for lines with sup/sub */ -img.align-left, -figure.align-left, -table.align-left { - margin-left: 0; - padding-left: 0; - margin-right: 0.5em; - clear: left; - float: left; -} -img.align-right, -figure.align-right, -table.align-right { - margin-left: 0.5em; - clear: right; - float: right; -} +/* Inline Literals */ +/* possible values: normal, nowrap, pre, pre-wrap, pre-line */ +/* span.docutils.literal { white-space: pre-wrap; } */ -/* Margin Elements */ -/* see below for screen size dependent rules */ -aside.sidebar { -/* overwrite minimal.css */ - width: auto; - max-width: 100%; -/* float: none; */ -} -aside.sidebar, -.marginal, -.admonition.marginal, -.topic.marginal { - background-color: #efefea; - box-sizing: border-box; - margin: 0.5em 0; - padding: 0.5em; - clear: right; -} +/* Hyperlink References */ +a { text-decoration: none; } -/* Adaptive page layout */ - -/* larger margins and floating elements moderately small screens */ -/* main text more than around 40 characters/line */ -@media (min-width: 35em) { - /* wider margins */ - main, header, footer { - padding: 0.5em calc(20% - 5rem); - line-height: 1.6 - } - pre { - margin-right: calc(5rem - 20%); - } - /* floating margin elements */ - aside.sidebar, - .marginal, - .admonition.marginal, - .topic.marginal { - max-width: min(45%, 18em); - margin-left: 1em; - clear: right; - float: right; - } - /* more indent for field-list values */ - dl.field-list > dd, - dl.docinfo > dd { - margin-left: 6.4em; - } - dl.option-list > dd { - margin-left: 5em; - } -} - -@media (min-width: 65em) { - /* 2 column layout with wide margin */ - main, header, footer { - padding: 0.5em 15%; - } - aside.sidebar, - .marginal, - .admonition.marginal, - .topic.marginal { - background-color: inherit; - /* background-color: lavender; */ - margin-right: -18%; - padding: 0; - } - .admonition.marginal { padding: 0.5em; } -} - -/* Move ToC to the left */ -@media (min-width: 100em) { - main, header, footer { - margin-left: min(15%, 18em); - } - main > div.topic.contents { - position: fixed; - top: 0; - left: 0; - box-sizing: border-box; - width: min(25%, 28em); - height: 100vh; - margin: 0; - background-color: #fafaf6; - padding: 5.5em 2%; - overflow: auto; - } - main > div.topic.contents > * { - padding-left: 0; - } - -/* marginal elements outside of main text */ -@media (min-width: 126em) { - aside.sidebar, - figure.marginal, - .topic.marginal, - p.marginal { - width: min(45%, 18em); - } -} +/* External Targets */ +/* span.target.external */ +/* Internal Targets */ +/* span.target.internal */ +/* Footnote References */ +/* a[role="doc-noteref"] */ +/* Citation References */ +/* a.citation-reference */ </style> </head> @@ -718,24 +609,19 @@ aside.sidebar, <h1 class="title">alphabeta-lgr.def</h1> <p class="subtitle" id="composite-definitions-for-8-bit-tex">Composite definitions for 8-bit TeX</p> <dl class="docinfo"> -<dt class="copyright">Copyright</dt> +<dt class="copyright">Copyright<span class="colon">:</span></dt> <dd class="copyright">© 2014 Günter Milde</dd> -<dt class="licence">Licence</dt> +<dt class="licence">Licence<span class="colon">:</span></dt> <dd class="licence"><p>This work may be distributed and/or modified under the conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either version 1.3 of this license or any later version.</p> </dd> -<dt class="identification">Identification</dt> +<dt class="identification">Identification<span class="colon">:</span></dt> <dd class="identification"><pre class="literal-block">\ProvidesFile{alphabeta-lgr} [2020/09/25 1.0 Composite definitions for 8-bit TeX]</pre> </dd> -<dt class="changelog">Changelog</dt> +<dt class="changelog">Changelog<span class="colon">:</span></dt> <dd class="changelog"><table class="borderless"> -<colgroup> -<col style="width: 9%" /> -<col style="width: 14%" /> -<col style="width: 77%" /> -</colgroup> <tbody> <tr><td><p>0.11.2</p></td> <td><p>2014-09-04</p></td> diff --git a/language/greek/greek-fontenc/alphabeta-tu.pdf b/language/greek/greek-fontenc/alphabeta-tu.pdf Binary files differdeleted file mode 100644 index 34d85ab410..0000000000 --- a/language/greek/greek-fontenc/alphabeta-tu.pdf +++ /dev/null diff --git a/language/greek/greek-fontenc/alphabeta-tuenc.def b/language/greek/greek-fontenc/alphabeta-tuenc.def index 8f86ff0133..cb2f621e54 100644 --- a/language/greek/greek-fontenc/alphabeta-tuenc.def +++ b/language/greek/greek-fontenc/alphabeta-tuenc.def @@ -13,7 +13,7 @@ \ProvidesFile{alphabeta-tuenc} [2020/10/30 2.0 Composite definitions for XeTeX and LuaTeX] -% :Abstract: +% :Abstract: % Composite definitions for ``alphabeta.sty`` with XeTeX and LuaTeX. % % :Changelog: diff --git a/language/greek/greek-fontenc/alphabeta-tuenc.def.html b/language/greek/greek-fontenc/alphabeta-tuenc.def.html index 5f5451e43d..308e0bef42 100644 --- a/language/greek/greek-fontenc/alphabeta-tuenc.def.html +++ b/language/greek/greek-fontenc/alphabeta-tuenc.def.html @@ -1,19 +1,20 @@ <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> -<meta charset="utf-8"/> -<meta name="generator" content="Docutils 0.17b2.dev: http://docutils.sourceforge.net/" /> -<title>alphabeta-tuenc.def</title> -<meta name="dcterms.rights" content="© 2013 Günter Milde" /> +<meta charset="utf-8" /> +<meta name="generator" content="Docutils 0.20b.dev: https://docutils.sourceforge.io/" /> +<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta content="width=device-width, initial-scale=1" name="viewport" /> +<meta name="dcterms.rights" content="© 2013 Günter Milde" /> +<title>alphabeta-tuenc.def</title> <link rel="schema.dcterms" href="http://purl.org/dc/terms/"/> <style type="text/css"> /* Minimal style sheet for the HTML output of Docutils. */ /* */ /* :Author: Günter Milde, based on html4css1.css by David Goodger */ -/* :Id: $Id$ */ -/* :Copyright: © 2015 Günter Milde. */ +/* :Id: $Id$ */ +/* :Copyright: © 2015, 2021 Günter Milde. */ /* :License: Released under the terms of the `2-Clause BSD license`_, */ /* in short: */ /* */ @@ -25,38 +26,24 @@ /* */ /* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ -/* This CSS2.1_ stylesheet defines rules for Docutils elements without */ -/* HTML equivalent. It is required to make the document semantic visible. */ -/* */ -/* .. _CSS2.1: http://www.w3.org/TR/CSS2 */ -/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ - -/* alignment of text and inline objects inside block objects*/ -.align-left { text-align: left; } -.align-right { text-align: right; } -.align-center { clear: both; text-align: center; } -.align-top { vertical-align: top; } -.align-middle { vertical-align: middle; } -.align-bottom { vertical-align: bottom; } +/* This CSS3 stylesheet defines rules for Docutils elements without */ +/* HTML equivalent. It is required to make the document semantics visible. */ +/* */ +/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ /* titles */ -h1.title, -p.subtitle { - text-align: center; -} p.topic-title, -p.sidebar-title, -p.rubric, p.admonition-title, p.system-message-title { font-weight: bold; } -h1 + p.subtitle { - font-size: 1.6em; +p.sidebar-title, +p.rubric { + font-weight: bold; + font-size: larger; } -h2 + p.section-subtitle, -p.sidebar-title { - font-size: 1.2em; +p.rubric { + color: maroon; } p.subtitle, p.section-subtitle, @@ -64,46 +51,47 @@ p.sidebar-subtitle { font-weight: bold; margin-top: -0.5em; } -p.rubric { - font-size: larger; - color: maroon; +h1 + p.subtitle { + font-size: 1.6em; } a.toc-backref { - color: black; - text-decoration: none; } + color: inherit; + text-decoration: none; +} /* Warnings, Errors */ -div.system-messages h2, -span.problematic, -p.system-message-title { +.system-messages h2, +.system-message-title, +span.problematic { color: red; } -/* inline literals */ -span.docutils.literal { +/* Inline Literals */ +.docutils.literal { font-family: monospace; white-space: pre-wrap; } -/* do not wraph at hyphens and similar: */ +/* do not wrap at hyphens and similar: */ .literal > span.pre { white-space: nowrap; } /* Lists */ /* compact and simple lists: no margin between items */ -.simple li, .compact li, -.simple ul, .compact ul, -.simple ol, .compact ol, -.simple > li p, .compact > li p, -dl.simple > dd, dl.compact > dd { +.simple li, .simple ul, .simple ol, +.compact li, .compact ul, .compact ol, +.simple > li p, dl.simple > dd, +.compact > li p, dl.compact > dd { margin-top: 0; margin-bottom: 0; } +/* Nested Paragraphs */ +p:first-child { margin-top: 0; } +p:last-child { margin-bottom: 0; } +details > p:last-child { margin-bottom: 1em; } /* Table of Contents */ -div.topic.contents { margin: 0.5em 0; } -div.topic.contents ul { +.contents ul.auto-toc { /* section numbers present */ list-style-type: none; - padding-left: 1.5em; } /* Enumerated Lists */ @@ -113,32 +101,41 @@ ol.upperalpha { list-style: upper-alpha } ol.lowerroman { list-style: lower-roman } ol.upperroman { list-style: upper-roman } -dt span.classifier { font-style: italic } -dt span.classifier:before { +/* Definition Lists and Derivatives */ +dt .classifier { font-style: italic } +dt .classifier:before { font-style: normal; margin: 0.5em; content: ":"; } - -/* Field Lists and drivatives */ +/* Field Lists and similar */ /* bold field name, content starts on the same line */ +dl.field-list, +dl.option-list, +dl.docinfo { + display: flow-root; +} dl.field-list > dt, dl.option-list > dt, -dl.docinfo > dt, -dl.footnote > dt, -dl.citation > dt { +dl.docinfo > dt { font-weight: bold; clear: left; float: left; margin: 0; padding: 0; - padding-right: 0.5em; + padding-right: 0.2em; } /* Offset for field content (corresponds to the --field-name-limit option) */ dl.field-list > dd, dl.option-list > dd, dl.docinfo > dd { - margin-left: 9em; /* ca. 14 chars in the test examples */ + margin-left: 9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */ +} +/* start nested lists on new line */ +dd > dl:first-child, +dd > ul:first-child, +dd > ol:first-child { + clear: left; } /* start field-body on a new line after long field names */ dl.field-list > dd > *:first-child, @@ -148,108 +145,124 @@ dl.option-list > dd > *:first-child width: 100%; margin: 0; } -/* field names followed by a colon */ -dl.field-list > dt:after, -dl.docinfo > dt:after { - content: ":"; -} /* Bibliographic Fields (docinfo) */ -pre.address { - font: inherit; +dl.docinfo pre.address { + font: inherit; margin: 0.5em 0; } -dd.authors > p { margin: 0; } +dl.docinfo > dd.authors > p { margin: 0; } /* Option Lists */ -dl.option-list { margin-left: 1.5em; } dl.option-list > dt { font-weight: normal; } span.option { white-space: nowrap; } /* Footnotes and Citations */ -dl.footnote.superscript > dd {margin-left: 1em; } -dl.footnote.brackets > dd {margin-left: 2em; } -dl.footnote > dt { font-weight: normal; } -a.footnote-reference.brackets:before, -dt.label > span.brackets:before { content: "["; } -a.footnote-reference.brackets:after, -dt.label > span.brackets:after { content: "]"; } -a.footnote-reference.superscript, -dl.footnote.superscript > dt.label { + +.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */ +/* hanging indent */ +.citation { padding-left: 2em; } +.footnote { padding-left: 1.7em; } +.footnote.superscript { padding-left: 1.0em; } +.citation > .label { margin-left: -2em; } +.footnote > .label { margin-left: -1.7em; } +.footnote.superscript > .label { margin-left: -1.0em; } + +.footnote > .label + *, +.citation > .label + * { + display: inline-block; + margin-top: 0; + vertical-align: top; +} +.footnote > .backrefs + *, +.citation > .backrefs + * { + margin-top: 0; +} +.footnote > .label + p, .footnote > .backrefs + p, +.citation > .label + p, .citation > .backrefs + p { + display: inline; + vertical-align: inherit; +} + +.backrefs { user-select: none; } +.backrefs > a { font-style: italic; } + +/* superscript footnotes */ +a[role="doc-noteref"].superscript, +.footnote.superscript > .label, +.footnote.superscript > .backrefs { vertical-align: super; - font-size: small; + font-size: smaller; + line-height: 1; +} +a[role="doc-noteref"].superscript > .fn-bracket, +.footnote.superscript > .label > .fn-bracket { + /* hide brackets in display but leave for copy/paste */ + display: inline-block; + width: 0; + overflow: hidden; +} +[role="doc-noteref"].superscript + [role="doc-noteref"].superscript { + padding-left: 0.15em; /* separate consecutive footnote references */ + /* TODO: unfortunately, "+" also selects with text between the references. */ } -dt.label > span.fn-backref { margin-left: 0.2em; } -dt.label > span.fn-backref > a { font-style: italic; } -/* Figures, Images, and Tables */ -.figure.align-left, -figure.align-left, -img.align-left, -object.align-left, -table.align-left { +/* Alignment */ +.align-left { + text-align: left; margin-right: auto; } -.figure.align-center, -figure.align-center, -img.align-center, -object.align-center, -table.align-center { +.align-center { + text-align: center; margin-left: auto; margin-right: auto; } -.figure.align-right, -figure.align-right, -img.align-right, -object.align-right, -table.align-right { +.align-right { + text-align: right; margin-left: auto; } -img.align-center, img.align-right, -object.align-center, object.align-right { - display: block; -} +.align-top { vertical-align: top; } +.align-middle { vertical-align: middle; } +.align-bottom { vertical-align: bottom; } + /* reset inner alignment in figures and tables */ -.figure.align-left, .figure.align-right, figure.align-left, figure.align-right, table.align-left, table.align-center, table.align-right { text-align: inherit; } -/* Sidebar */ -aside.sidebar { - width: 30%; - max-width: 26em; - float: right; - clear: right; -} - /* Text Blocks */ -blockquote, -div.topic, -div.admonition, -div.system-message { - margin-left: 2em; - margin-right: 2em; +.topic { margin: 1em 2em; } +.sidebar, +.admonition, +.system-message { + margin: 1em 2em; + border: thin solid; + padding: 0.5em 1em; } div.line-block { display: block; } -div.line-block div.line-block { - margin: 0 0 0 2em; -} -pre { margin-left: 2em; } -pre.code .ln { color: gray; } /* line numbers */ +div.line-block div.line-block, pre { margin-left: 2em; } +/* Code line numbers: dropped when copying text from the page */ +pre.code .ln { display: none; } +pre.code code:before { + content: attr(data-lineno); /* …, none) fallback not supported by any browser */ + color: gray; +} /* Tables */ -table { border-collapse: collapse; } +table { + border-collapse: collapse; +} td, th { - border-style: solid; - border-color: silver; + border: thin solid silver; padding: 0 1ex; - border-width: thin; } -td > p:first-child, th > p:first-child { margin-top: 0; } -td > p, th > p { margin-bottom: 0; } +.borderless td, .borderless th { + border: 0; + padding: 0; + padding-right: 0.5em /* separate table cells */ +} table > caption { text-align: left; @@ -260,31 +273,29 @@ table.captionbelow { caption-side: bottom; } -table.borderless td, table.borderless th { - border: 0; - padding: 0; - padding-right: 0.5em /* separate table cells */ -} - /* Document Header and Footer */ header { border-bottom: 1px solid black; } footer { border-top: 1px solid black; } -/* new HTML5 block elements: set display for older browsers */ -header, section, footer, aside, nav, main, article, figure { +/* Images are block-level by default in Docutils */ +/* New HTML5 block elements: set display for older browsers */ +img, header, footer, main, aside, nav, section, figure, video, details { display: block; } +/* inline images */ +p img, p video, figure img, figure video { + display: inline; +} </style> <style type="text/css"> -/* CSS3_ style sheet for the output of Docutils HTML writers. */ -/* Generic responsive design for all screen sizes. */ -/* */ -/* :Author: Günter Milde */ +/* CSS31_ style sheet for the output of Docutils HTML writers. */ +/* Rules for easy reading and pre-defined style variants. */ /* */ +/* :Author: Günter Milde, based on html4css1.css by David Goodger */ /* :Id: $Id$ */ -/* :Copyright: © 2021 Günter Milde. */ +/* :Copyright: © 2015 Günter Milde. */ /* :License: Released under the terms of the `2-Clause BSD license`_, */ /* in short: */ /* */ @@ -295,197 +306,169 @@ header, section, footer, aside, nav, main, article, figure { /* This file is offered as-is, without any warranty. */ /* */ /* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ -/* .. _CSS3: http://www.w3.org/TR/CSS3 */ +/* .. _CSS3: https://www.w3.org/Style/CSS/ */ -/* General Settings */ -/* ================ */ - -/* Suited for all screen sizes or special to small ones (mobile first). */ -/* For adaption to larger screens see media queries below */ -@viewport { - zoom: 1.0; - width: extend-to-zoom; -} +/* Document Structure */ +/* ****************** */ +/* "page layout" */ body { - background-color: #fafaf6; - font-size: larger; - line-height: 1.4; + margin: 0; + background-color: #dbdbdb; + --field-indent: 9em; /* default indent of fields in field lists */ +} +main, footer, header { + line-height:1.6; + /* avoid long lines --> better reading */ + /* optimum is 45…75 characters/line <http://webtypography.net/2.1.2> */ + /* OTOH: lines should not be too short because of missing hyphenation, */ + max-width: 50rem; + padding: 1px 2%; /* 1px on top avoids grey bar above title (mozilla) */ margin: auto; } main { - counter-reset: figure table; -} -main, header, footer { - padding: 0.5em 5%; + counter-reset: table figure; background-color: white; - max-width: 66em; +} +footer, header { + font-size: smaller; + padding: 0.5em 2%; + border: none; } -main > *, section > * { - max-width: 55em; /* ca. 90…100 characters */ +/* Table of Contents */ +ul.auto-toc > li > p { + padding-left: 1em; + text-indent: -1em; } -main > section, section > section { - max-width: 100%; +nav.contents ul { + padding-left: 1em; +} +main > nav.contents ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B29\ '; +} +main > nav.contents ul ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B1D\ '; } -/* Vertical Space (Parskip) */ +/* Transitions */ +hr.docutils { + width: 80%; + margin-top: 1em; + margin-bottom: 1em; + clear: both; +} + +/* Paragraphs */ + +/* vertical space (parskip) */ p, ol, ul, dl, li, div.line-block, -div.topic, +.footnote, .citation, +div > math, table { margin-top: 0.5em; margin-bottom: 0.5em; } + h1, h2, h3, h4, h5, h6, -dl > dd { +dd, details > p:last-child { margin-bottom: 0.5em; } -/* exceptions */ -p:first-child { - margin-top: 0; -} -p:last-child { - margin-bottom: 0; -} -blockquote > table, -div.topic > table { - margin-top: 0; - margin-bottom: 0; -} -/* Indented Blocks */ -blockquote, -figure, -div.topic { - /* background-color: Honeydew; */ - margin: 0.5em 2%; - padding-left: 1em; -} -div.line-block div.line-block, -dl.option-list, -.literal-block, -pre { - /* background-color: LightCyan; */ - margin-left: calc(2% + 1em); -} +/* Lists */ +/* ===== */ -/* Object styling */ -/* ============== */ +/* Definition Lists */ +/* Indent lists nested in definition lists */ +dd > ul:only-child, dd > ol:only-child { padding-left: 1em; } -footer > *, header > *, -aside.sidebar > *, .marginal > * { - font-size: smaller; +/* Description Lists */ +/* styled like in most dictionaries, encyclopedias etc. */ +dl.description { + display: flow-root; } - -/* Frontmatter */ -blockquote.dedication, -div.topic.dedication { +dl.description > dt { + font-weight: bold; + clear: left; + float: left; + margin: 0; padding: 0; - margin-left: 0; - font-style: italic; - font-size: larger; + padding-right: 0.3em; } -div.abstract p.topic-title { - margin-left: calc(-2% - 1em); -} -div.dedication p.topic-title { - display: none; -} - -blockquote p.attribution, -div.topic p.attribution { - text-align: right; +dl.description > dd:after { + display: table; + content: ""; + clear: left; /* clearfix for empty descriptions */ } -/* Table of Contents */ -div.topic.contents { - padding: 0; -} -ul.auto-toc > li > p { - padding-left: 1em; - text-indent: -1em; -} -div.topic.contents ul { - padding-left: 1em; -} +/* Field Lists */ -/* Transitions */ -hr { - margin: 1em 10%; +dl.field-list > dd, +dl.docinfo > dd { + margin-left: var(--field-indent); /* adapted in media queries or HTML */ } -/* Lists */ - -/* Smaller indent on small screens */ -ul, ol { - padding-left: 1.1em; -} -dd { - margin-left: 1.5em; -} -dl.field-list > dd { - margin-left: 4em; -} -dl.field-list.narrow > dd, -dl.docinfo > dd, -dl.option-list > dd { - margin-left: 2.4em; +/* example for custom field-name width */ +dl.field-list.narrow > dd { + --field-indent: 5em; } /* run-in: start field-body on same line after long field names */ dl.field-list.run-in > dd p { display: block; } -/* "description style" like in most dictionaries, encyclopedias etc. */ -dl.description > dt { - clear: left; - float: left; - margin: 0; - padding: 0; - padding-right: 0.5em; - font-weight: bold; -} -dl.description > dd:after { - display: block; - content: ""; - clear: both; +/* Bibliographic Fields */ + +/* generally, bibliographic fields use dl.docinfo */ +/* but dedication and abstract are placed into divs */ +div.abstract p.topic-title { + text-align: center; } -/* start lists nested in description/field lists on new line */ -dd > dl:first-child, -dd > ul:first-child, -dd > ol:first-child { - clear: left; +div.dedication { + margin: 2em 5em; + text-align: center; + font-style: italic; } -/* Footnotes and Citations */ -/* TODO: use <aside> */ -dl.footnote { - font-size: smaller; - padding-left: 0.5em; -/* text-indent: -0.5em; */ - border-left: solid; - border-left-width: thin; +div.dedication p.topic-title { + font-style: normal; } -/* Images, Figures, and Tables */ -img { - display: block; -} -p > img, p > a > img, -figure > img, figure > a > img { - display: inline; +/* disclosures */ +details { padding-left: 1em; } +summary { margin-left: -1em; } + +/* Text Blocks */ +/* =========== */ + +/* Literal Blocks */ +pre.literal-block, pre.doctest-block, +pre.math, pre.code { + font-family: monospace; } -table tr { - text-align: left; +/* Block Quotes and Topics */ +bockquote { margin: 1em 2em; } +blockquote p.attribution, +.topic p.attribution { + text-align: right; + margin-left: 20%; } +/* Tables */ +/* ====== */ + /* th { vertical-align: bottom; } */ + +table tr { text-align: left; } + /* "booktabs" style (no vertical lines) */ table.booktabs { + border: 0; border-top: 2px solid; border-bottom: 2px solid; + border-collapse: collapse; } table.booktabs * { border: 0; @@ -494,62 +477,89 @@ table.booktabs th { border-bottom: thin solid; } -figcaption, -table > caption { - /* font-size: smaller; */ - font-style: italic; +/* numbered tables (counter defined in div.document) */ +table.numbered > caption:before { + counter-increment: table; + content: "Table " counter(table) ": "; + font-weight: bold; } -figcaption > .legend { - font-size: smaller; - font-style: initial; + +/* Explicit Markup Blocks */ +/* ====================== */ + +/* Footnotes and Citations */ +/* ----------------------- */ + +/* line on the left */ +.footnote-list { + border-left: solid thin; + padding-left: 0.25em; } +/* Directives */ +/* ---------- */ + +/* Body Elements */ +/* ~~~~~~~~~~~~~ */ + +/* Images and Figures */ + +/* let content flow to the side of aligned images and figures */ +figure.align-left, +img.align-left, +video.align-left, +object.align-left { + clear: left; + float: left; + margin-right: 1em; +} +figure.align-right, +img.align-right, +video.align-right, +object.align-right { + clear: right; + float: right; + margin-left: 1em; +} +/* Stop floating sidebars, images and figures */ +h1, h2, h3, h4, footer, header { clear: both; } + +/* Numbered figures */ figure.numbered > figcaption > p:before { counter-increment: figure; content: "Figure " counter(figure) ": "; font-weight: bold; - font-style: initial; -} -table.numbered > caption:before { - counter-increment: table; - content: "Table " counter(table) ": "; - font-weight: bold; - font-style: initial; } /* Admonitions and System Messages */ -div.admonition, -div.system-message { - box-sizing: border-box; - border-style: solid; - border-color: silver; - border-width: thin; - margin: 1em 2%; - padding: 0.5em; -} -div.caution p.admonition-title, -div.attention p.admonition-title, -div.danger p.admonition-title, -div.warning p.admonition-title, +.caution p.admonition-title, +.attention p.admonition-title, +.danger p.admonition-title, +.error p.admonition-title, +.warning p.admonition-title, div.error { - color: maroon; -} -div.system-message > p > span.literal { - overflow-wrap: break-word; + color: red; } -/* Literal and Code */ -pre { - /* font-family: Consolas, "Liberation Mono", Menlo, monospace; */ - /* font-size: 0.9em; */ -/* overflow: auto; */ - margin-right: -5%; +/* Sidebar */ +/* Move right. In a layout with fixed margins, */ +/* it can be moved into the margin. */ +aside.sidebar { + width: 30%; + max-width: 26em; + float: right; + clear: right; + margin-left: 1em; + margin-right: -1%; + background-color: #fffffa; } -pre.code .ln { color: gray; } /* line numbers */ +/* Code */ +pre.code { padding: 0.7ex } +pre.code, code { background-color: #eeeeee } /* basic highlighting: for a complete scheme, see */ -/* http://docutils.sourceforge.net/sandbox/stylesheets/ */ +/* https://docutils.sourceforge.io/sandbox/stylesheets/ */ pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } pre.code .literal.string, code .literal.string { color: #0C5404 } @@ -557,160 +567,41 @@ pre.code .name.builtin, code .name.builtin { color: #352B84 } pre.code .deleted, code .deleted { background-color: #DEB0A1} pre.code .inserted, code .inserted { background-color: #A3D289} - - -.sans { - font-family: "Gill Sans", "Gill Sans MT", Calibri, "Lucida Sans", "Noto Sans", sans-serif; - letter-spacing: .02em; -} - -/* Hyperlink References */ -/* underline that clears descenders */ -a { - text-decoration: none; - text-decoration-skip-ink: auto; /* nonstandard selector */ -} -a:link{ - overflow-wrap: break-word; -} -/* undecorated links */ -a[href^="#system-message"], -.contents a, a.toc-backref, a.image-reference, -a.footnote-reference, a.fn-backref, .fn-backref a, -a.citation-reference { - color: inherit; +/* Math */ +/* for math-output=MathML (for math-output=HTML, see math.css) */ +math .boldsymbol { + font-weight: bold; } -a:link:hover { - text-decoration: underline; +mstyle.mathscr, mi.mathscr { + font-family: STIX; } +/* Epigraph */ +/* Highlights */ +/* Pull-Quote */ +/* Compound Paragraph */ +/* Container */ -/* Block Alignment */ -/* Let content flow to the side of aligned images and figures */ +/* Inline Markup */ +/* ============= */ -/* no floats around this elements */ -dl.footnote, dl.citation, /* errors with internal floats */ -footer, header, hr, -h1, h2, h3, .contents > p.topic-title { - clear: both; -} +sup, sub { line-height: 0.8; } /* do not add leading for lines with sup/sub */ -img.align-left, -figure.align-left, -table.align-left { - margin-left: 0; - padding-left: 0; - margin-right: 0.5em; - clear: left; - float: left; -} -img.align-right, -figure.align-right, -table.align-right { - margin-left: 0.5em; - clear: right; - float: right; -} +/* Inline Literals */ +/* possible values: normal, nowrap, pre, pre-wrap, pre-line */ +/* span.docutils.literal { white-space: pre-wrap; } */ -/* Margin Elements */ -/* see below for screen size dependent rules */ -aside.sidebar { -/* overwrite minimal.css */ - width: auto; - max-width: 100%; -/* float: none; */ -} -aside.sidebar, -.marginal, -.admonition.marginal, -.topic.marginal { - background-color: #efefea; - box-sizing: border-box; - margin: 0.5em 0; - padding: 0.5em; - clear: right; -} +/* Hyperlink References */ +a { text-decoration: none; } -/* Adaptive page layout */ - -/* larger margins and floating elements moderately small screens */ -/* main text more than around 40 characters/line */ -@media (min-width: 35em) { - /* wider margins */ - main, header, footer { - padding: 0.5em calc(20% - 5rem); - line-height: 1.6 - } - pre { - margin-right: calc(5rem - 20%); - } - /* floating margin elements */ - aside.sidebar, - .marginal, - .admonition.marginal, - .topic.marginal { - max-width: min(45%, 18em); - margin-left: 1em; - clear: right; - float: right; - } - /* more indent for field-list values */ - dl.field-list > dd, - dl.docinfo > dd { - margin-left: 6.4em; - } - dl.option-list > dd { - margin-left: 5em; - } -} - -@media (min-width: 65em) { - /* 2 column layout with wide margin */ - main, header, footer { - padding: 0.5em 15%; - } - aside.sidebar, - .marginal, - .admonition.marginal, - .topic.marginal { - background-color: inherit; - /* background-color: lavender; */ - margin-right: -18%; - padding: 0; - } - .admonition.marginal { padding: 0.5em; } -} - -/* Move ToC to the left */ -@media (min-width: 100em) { - main, header, footer { - margin-left: min(15%, 18em); - } - main > div.topic.contents { - position: fixed; - top: 0; - left: 0; - box-sizing: border-box; - width: min(25%, 28em); - height: 100vh; - margin: 0; - background-color: #fafaf6; - padding: 5.5em 2%; - overflow: auto; - } - main > div.topic.contents > * { - padding-left: 0; - } - -/* marginal elements outside of main text */ -@media (min-width: 126em) { - aside.sidebar, - figure.marginal, - .topic.marginal, - p.marginal { - width: min(45%, 18em); - } -} +/* External Targets */ +/* span.target.external */ +/* Internal Targets */ +/* span.target.internal */ +/* Footnote References */ +/* a[role="doc-noteref"] */ +/* Citation References */ +/* a.citation-reference */ </style> </head> @@ -719,24 +610,19 @@ aside.sidebar, <h1 class="title">alphabeta-tuenc.def</h1> <p class="subtitle" id="composite-definitions-for-xetex-and-luatex">Composite definitions for XeTeX and LuaTeX</p> <dl class="docinfo"> -<dt class="copyright">Copyright</dt> +<dt class="copyright">Copyright<span class="colon">:</span></dt> <dd class="copyright">© 2013 Günter Milde</dd> -<dt class="licence">Licence</dt> +<dt class="licence">Licence<span class="colon">:</span></dt> <dd class="licence"><p>This work may be distributed and/or modified under the conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either version 1.3 of this license or any later version.</p> </dd> -<dt class="identification">Identification</dt> +<dt class="identification">Identification<span class="colon">:</span></dt> <dd class="identification"><pre class="literal-block">\ProvidesFile{alphabeta-tuenc} [2020/10/30 2.0 Composite definitions for XeTeX and LuaTeX]</pre> </dd> -<dt class="changelog">Changelog</dt> +<dt class="changelog">Changelog<span class="colon">:</span></dt> <dd class="changelog"><table class="borderless"> -<colgroup> -<col style="width: 8%" /> -<col style="width: 14%" /> -<col style="width: 78%" /> -</colgroup> <tbody> <tr><td><p>0.1</p></td> <td><p>2013-09-12</p></td> @@ -767,7 +653,7 @@ use <span class="docutils literal">\UTFencname</span> instead of <span class="do </table> </dd> </dl> -<div class="abstract topic"> +<div class="topic abstract" role="doc-abstract"> <p class="topic-title">Abstract</p> <p>Composite definitions for <span class="docutils literal">alphabeta.sty</span> with XeTeX and LuaTeX.</p> </div> diff --git a/language/greek/greek-fontenc/alphabeta.sty b/language/greek/greek-fontenc/alphabeta.sty index 5eb769625f..09a1cf5c6e 100644 --- a/language/greek/greek-fontenc/alphabeta.sty +++ b/language/greek/greek-fontenc/alphabeta.sty @@ -1,5 +1,7 @@ -% alphabeta: Greek symbols in text and math -% ***************************************** +% alphabeta.sty +% +++++++++++++ +% Greek symbols in text and math +% ****************************** % % :Copyright: © 2010 Günter Milde % :Licence: This work may be distributed and/or modified under the @@ -34,7 +36,7 @@ % 2.0 2020/10/13 Provide ``\Koppa``. % ====== ========== ========================================================= % -% .. contents:: +% .. contents:: % % Motivation % ========== @@ -396,11 +398,11 @@ % .. References % ---------- % .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt -% .. _CB Fonts: http://ctan.org/pkg/cbgreek-complete -% .. _Babel: http://ctan.org/pkg/babel +% .. _CB Fonts: https://ctan.org/pkg/cbgreek-complete +% .. _Babel: https://ctan.org/pkg/babel % .. _e-TeX: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=etex -% .. _greek-fontenc: http://ctan.org/pkg/greek-fontenc -% .. _greek-inputenc: http://ctan.org/pkg/greek-inputenc -% .. _inputenc: http://ctan.org/pkg/inputenc -% .. _fixltx2e: http://ctan.org/pkg/fixltx2e -% .. _Polyglossia: http://ctan.org/pkg/polyglossia +% .. _greek-fontenc: https://ctan.org/pkg/greek-fontenc +% .. _greek-inputenc: https://ctan.org/pkg/greek-inputenc +% .. _inputenc: https://ctan.org/pkg/inputenc +% .. _fixltx2e: https://ctan.org/pkg/fixltx2e +% .. _Polyglossia: https://ctan.org/pkg/polyglossia diff --git a/language/greek/greek-fontenc/alphabeta.sty.html b/language/greek/greek-fontenc/alphabeta.sty.html index 3bbd1ca681..ba21b883b2 100644 --- a/language/greek/greek-fontenc/alphabeta.sty.html +++ b/language/greek/greek-fontenc/alphabeta.sty.html @@ -1,18 +1,19 @@ <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> -<meta charset="utf-8"/> -<meta name="generator" content="Docutils 0.17b2.dev: http://docutils.sourceforge.net/" /> -<title>alphabeta: Greek symbols in text and math</title> +<meta charset="utf-8" /> +<meta name="generator" content="Docutils 0.20b.dev: https://docutils.sourceforge.io/" /> +<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="dcterms.rights" content="© 2010 Günter Milde" /> +<title>alphabeta.sty</title> <link rel="schema.dcterms" href="http://purl.org/dc/terms/"/> <style type="text/css"> /* Minimal style sheet for the HTML output of Docutils. */ /* */ /* :Author: Günter Milde, based on html4css1.css by David Goodger */ -/* :Id: $Id$ */ -/* :Copyright: © 2015 Günter Milde. */ +/* :Id: $Id$ */ +/* :Copyright: © 2015, 2021 Günter Milde. */ /* :License: Released under the terms of the `2-Clause BSD license`_, */ /* in short: */ /* */ @@ -24,38 +25,24 @@ /* */ /* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ -/* This CSS2.1_ stylesheet defines rules for Docutils elements without */ -/* HTML equivalent. It is required to make the document semantic visible. */ -/* */ -/* .. _CSS2.1: http://www.w3.org/TR/CSS2 */ -/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ - -/* alignment of text and inline objects inside block objects*/ -.align-left { text-align: left; } -.align-right { text-align: right; } -.align-center { clear: both; text-align: center; } -.align-top { vertical-align: top; } -.align-middle { vertical-align: middle; } -.align-bottom { vertical-align: bottom; } +/* This CSS3 stylesheet defines rules for Docutils elements without */ +/* HTML equivalent. It is required to make the document semantics visible. */ +/* */ +/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ /* titles */ -h1.title, -p.subtitle { - text-align: center; -} p.topic-title, -p.sidebar-title, -p.rubric, p.admonition-title, p.system-message-title { font-weight: bold; } -h1 + p.subtitle { - font-size: 1.6em; +p.sidebar-title, +p.rubric { + font-weight: bold; + font-size: larger; } -h2 + p.section-subtitle, -p.sidebar-title { - font-size: 1.2em; +p.rubric { + color: maroon; } p.subtitle, p.section-subtitle, @@ -63,46 +50,47 @@ p.sidebar-subtitle { font-weight: bold; margin-top: -0.5em; } -p.rubric { - font-size: larger; - color: maroon; +h1 + p.subtitle { + font-size: 1.6em; } a.toc-backref { - color: black; - text-decoration: none; } + color: inherit; + text-decoration: none; +} /* Warnings, Errors */ -div.system-messages h2, -span.problematic, -p.system-message-title { +.system-messages h2, +.system-message-title, +span.problematic { color: red; } -/* inline literals */ -span.docutils.literal { +/* Inline Literals */ +.docutils.literal { font-family: monospace; white-space: pre-wrap; } -/* do not wraph at hyphens and similar: */ +/* do not wrap at hyphens and similar: */ .literal > span.pre { white-space: nowrap; } /* Lists */ /* compact and simple lists: no margin between items */ -.simple li, .compact li, -.simple ul, .compact ul, -.simple ol, .compact ol, -.simple > li p, .compact > li p, -dl.simple > dd, dl.compact > dd { +.simple li, .simple ul, .simple ol, +.compact li, .compact ul, .compact ol, +.simple > li p, dl.simple > dd, +.compact > li p, dl.compact > dd { margin-top: 0; margin-bottom: 0; } +/* Nested Paragraphs */ +p:first-child { margin-top: 0; } +p:last-child { margin-bottom: 0; } +details > p:last-child { margin-bottom: 1em; } /* Table of Contents */ -div.topic.contents { margin: 0.5em 0; } -div.topic.contents ul { +.contents ul.auto-toc { /* section numbers present */ list-style-type: none; - padding-left: 1.5em; } /* Enumerated Lists */ @@ -112,32 +100,41 @@ ol.upperalpha { list-style: upper-alpha } ol.lowerroman { list-style: lower-roman } ol.upperroman { list-style: upper-roman } -dt span.classifier { font-style: italic } -dt span.classifier:before { +/* Definition Lists and Derivatives */ +dt .classifier { font-style: italic } +dt .classifier:before { font-style: normal; margin: 0.5em; content: ":"; } - -/* Field Lists and drivatives */ +/* Field Lists and similar */ /* bold field name, content starts on the same line */ +dl.field-list, +dl.option-list, +dl.docinfo { + display: flow-root; +} dl.field-list > dt, dl.option-list > dt, -dl.docinfo > dt, -dl.footnote > dt, -dl.citation > dt { +dl.docinfo > dt { font-weight: bold; clear: left; float: left; margin: 0; padding: 0; - padding-right: 0.5em; + padding-right: 0.2em; } /* Offset for field content (corresponds to the --field-name-limit option) */ dl.field-list > dd, dl.option-list > dd, dl.docinfo > dd { - margin-left: 9em; /* ca. 14 chars in the test examples */ + margin-left: 9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */ +} +/* start nested lists on new line */ +dd > dl:first-child, +dd > ul:first-child, +dd > ol:first-child { + clear: left; } /* start field-body on a new line after long field names */ dl.field-list > dd > *:first-child, @@ -147,108 +144,124 @@ dl.option-list > dd > *:first-child width: 100%; margin: 0; } -/* field names followed by a colon */ -dl.field-list > dt:after, -dl.docinfo > dt:after { - content: ":"; -} /* Bibliographic Fields (docinfo) */ -pre.address { - font: inherit; +dl.docinfo pre.address { + font: inherit; margin: 0.5em 0; } -dd.authors > p { margin: 0; } +dl.docinfo > dd.authors > p { margin: 0; } /* Option Lists */ -dl.option-list { margin-left: 1.5em; } dl.option-list > dt { font-weight: normal; } span.option { white-space: nowrap; } /* Footnotes and Citations */ -dl.footnote.superscript > dd {margin-left: 1em; } -dl.footnote.brackets > dd {margin-left: 2em; } -dl.footnote > dt { font-weight: normal; } -a.footnote-reference.brackets:before, -dt.label > span.brackets:before { content: "["; } -a.footnote-reference.brackets:after, -dt.label > span.brackets:after { content: "]"; } -a.footnote-reference.superscript, -dl.footnote.superscript > dt.label { + +.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */ +/* hanging indent */ +.citation { padding-left: 2em; } +.footnote { padding-left: 1.7em; } +.footnote.superscript { padding-left: 1.0em; } +.citation > .label { margin-left: -2em; } +.footnote > .label { margin-left: -1.7em; } +.footnote.superscript > .label { margin-left: -1.0em; } + +.footnote > .label + *, +.citation > .label + * { + display: inline-block; + margin-top: 0; + vertical-align: top; +} +.footnote > .backrefs + *, +.citation > .backrefs + * { + margin-top: 0; +} +.footnote > .label + p, .footnote > .backrefs + p, +.citation > .label + p, .citation > .backrefs + p { + display: inline; + vertical-align: inherit; +} + +.backrefs { user-select: none; } +.backrefs > a { font-style: italic; } + +/* superscript footnotes */ +a[role="doc-noteref"].superscript, +.footnote.superscript > .label, +.footnote.superscript > .backrefs { vertical-align: super; - font-size: small; + font-size: smaller; + line-height: 1; +} +a[role="doc-noteref"].superscript > .fn-bracket, +.footnote.superscript > .label > .fn-bracket { + /* hide brackets in display but leave for copy/paste */ + display: inline-block; + width: 0; + overflow: hidden; +} +[role="doc-noteref"].superscript + [role="doc-noteref"].superscript { + padding-left: 0.15em; /* separate consecutive footnote references */ + /* TODO: unfortunately, "+" also selects with text between the references. */ } -dt.label > span.fn-backref { margin-left: 0.2em; } -dt.label > span.fn-backref > a { font-style: italic; } -/* Figures, Images, and Tables */ -.figure.align-left, -figure.align-left, -img.align-left, -object.align-left, -table.align-left { +/* Alignment */ +.align-left { + text-align: left; margin-right: auto; } -.figure.align-center, -figure.align-center, -img.align-center, -object.align-center, -table.align-center { +.align-center { + text-align: center; margin-left: auto; margin-right: auto; } -.figure.align-right, -figure.align-right, -img.align-right, -object.align-right, -table.align-right { +.align-right { + text-align: right; margin-left: auto; } -img.align-center, img.align-right, -object.align-center, object.align-right { - display: block; -} +.align-top { vertical-align: top; } +.align-middle { vertical-align: middle; } +.align-bottom { vertical-align: bottom; } + /* reset inner alignment in figures and tables */ -.figure.align-left, .figure.align-right, figure.align-left, figure.align-right, table.align-left, table.align-center, table.align-right { text-align: inherit; } -/* Sidebar */ -aside.sidebar { - width: 30%; - max-width: 26em; - float: right; - clear: right; -} - /* Text Blocks */ -blockquote, -div.topic, -div.admonition, -div.system-message { - margin-left: 2em; - margin-right: 2em; +.topic { margin: 1em 2em; } +.sidebar, +.admonition, +.system-message { + margin: 1em 2em; + border: thin solid; + padding: 0.5em 1em; } div.line-block { display: block; } -div.line-block div.line-block { - margin: 0 0 0 2em; -} -pre { margin-left: 2em; } -pre.code .ln { color: gray; } /* line numbers */ +div.line-block div.line-block, pre { margin-left: 2em; } +/* Code line numbers: dropped when copying text from the page */ +pre.code .ln { display: none; } +pre.code code:before { + content: attr(data-lineno); /* …, none) fallback not supported by any browser */ + color: gray; +} /* Tables */ -table { border-collapse: collapse; } +table { + border-collapse: collapse; +} td, th { - border-style: solid; - border-color: silver; + border: thin solid silver; padding: 0 1ex; - border-width: thin; } -td > p:first-child, th > p:first-child { margin-top: 0; } -td > p, th > p { margin-bottom: 0; } +.borderless td, .borderless th { + border: 0; + padding: 0; + padding-right: 0.5em /* separate table cells */ +} table > caption { text-align: left; @@ -259,25 +272,24 @@ table.captionbelow { caption-side: bottom; } -table.borderless td, table.borderless th { - border: 0; - padding: 0; - padding-right: 0.5em /* separate table cells */ -} - /* Document Header and Footer */ header { border-bottom: 1px solid black; } footer { border-top: 1px solid black; } -/* new HTML5 block elements: set display for older browsers */ -header, section, footer, aside, nav, main, article, figure { +/* Images are block-level by default in Docutils */ +/* New HTML5 block elements: set display for older browsers */ +img, header, footer, main, aside, nav, section, figure, video, details { display: block; } +/* inline images */ +p img, p video, figure img, figure video { + display: inline; +} </style> <style type="text/css"> -/* CSS3_ style sheet for the output of Docutils HTML writers. */ +/* CSS3_ style sheet for the output of Docutils HTML5 writer. */ /* Generic responsive design for all screen sizes. */ /* */ /* :Author: Günter Milde */ @@ -294,120 +306,113 @@ header, section, footer, aside, nav, main, article, figure { /* This file is offered as-is, without any warranty. */ /* */ /* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ -/* .. _CSS3: http://www.w3.org/TR/CSS3 */ +/* .. _CSS3: https://www.w3.org/Style/CSS/ */ + +/* Note: */ +/* This style sheet is provisional: */ +/* the API is not settled and may change with any minor Docutils version. */ + /* General Settings */ /* ================ */ -/* Suited for all screen sizes or special to small ones (mobile first). */ -/* For adaption to larger screens see media queries below */ -@viewport { - zoom: 1.0; - width: extend-to-zoom; -} + +* { box-sizing: border-box; } body { background-color: #fafaf6; - font-size: larger; - line-height: 1.4; margin: auto; + --field-indent: 6.6em; /* indent of fields in field lists */ + --sidebar-margin-right: 0; /* adapted in media queries below */ } main { counter-reset: figure table; } -main, header, footer { - padding: 0.5em 5%; +body > * { background-color: white; - max-width: 66em; -} - -main > *, section > * { - max-width: 55em; /* ca. 90…100 characters */ + line-height: 1.6; + padding: 0.5rem calc(29% - 7.2rem); /* go from 5% to 15% (8.15em/54em) */ + margin: auto; + max-width: 100rem; } -main > section, section > section { - max-width: 100%; +sup, sub { /* avoid additional inter-line space for lines with sup/sub */ + line-height: 1; } /* Vertical Space (Parskip) */ p, ol, ul, dl, li, div.line-block, -div.topic, +.topic, +.footnote, .citation, +div > math, table { margin-top: 0.5em; margin-bottom: 0.5em; } h1, h2, h3, h4, h5, h6, -dl > dd { +dl > dd, details > p:last-child { margin-bottom: 0.5em; } -/* exceptions */ -p:first-child { - margin-top: 0; -} -p:last-child { - margin-bottom: 0; -} -blockquote > table, -div.topic > table { - margin-top: 0; - margin-bottom: 0; -} /* Indented Blocks */ -blockquote, -figure, -div.topic { - /* background-color: Honeydew; */ - margin: 0.5em 2%; +blockquote, figure, .topic { + margin: 1em 2%; padding-left: 1em; } div.line-block div.line-block, -dl.option-list, -.literal-block, -pre { - /* background-color: LightCyan; */ +pre, dd, dl.option-list { margin-left: calc(2% + 1em); } /* Object styling */ /* ============== */ -footer > *, header > *, -aside.sidebar > *, .marginal > * { - font-size: smaller; +footer, header { + font-size: small; } /* Frontmatter */ -blockquote.dedication, -div.topic.dedication { +div.dedication { padding: 0; - margin-left: 0; + margin: 1.4em 0; font-style: italic; - font-size: larger; + font-size: large; } -div.abstract p.topic-title { - margin-left: calc(-2% - 1em); -} -div.dedication p.topic-title { +.dedication p.topic-title { display: none; } blockquote p.attribution, -div.topic p.attribution { +.topic p.attribution { text-align: right; } /* Table of Contents */ -div.topic.contents { - padding: 0; +nav.contents ul { + padding-left: 1em; } -ul.auto-toc > li > p { +ul.auto-toc > li > p { /* hanging indent */ padding-left: 1em; text-indent: -1em; } -div.topic.contents ul { - padding-left: 1em; +main > nav.contents ul:not(.auto-toc) { + list-style-type: square; +} +main > nav.contents ul ul:not(.auto-toc) { + list-style-type: disc; +} +main > nav.contents ul ul ul:not(.auto-toc) { + list-style-type: '\2B29\ '; +} +main > nav.contents ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B1D\ '; +} +main > nav.contents ul ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B2A\ '; +} +nav.contents ul > li::marker { + color: grey; } /* Transitions */ @@ -417,54 +422,51 @@ hr { /* Lists */ -/* Smaller indent on small screens */ ul, ol { - padding-left: 1.1em; -} -dd { - margin-left: 1.5em; + padding-left: 1.1em; /* indent by bullet width (Firefox, DejaVu fonts) */ } -dl.field-list > dd { - margin-left: 4em; +dl.field-list > dd, +dl.docinfo > dd { + margin-left: var(--field-indent); /* adapted in media queries or HTML */ } -dl.field-list.narrow > dd, -dl.docinfo > dd, dl.option-list > dd { - margin-left: 2.4em; + margin-left: 20%; } /* run-in: start field-body on same line after long field names */ dl.field-list.run-in > dd p { display: block; } - /* "description style" like in most dictionaries, encyclopedias etc. */ +dl.description { + display: flow-root; +} dl.description > dt { clear: left; float: left; margin: 0; padding: 0; - padding-right: 0.5em; + padding-right: 0.3em; font-weight: bold; } dl.description > dd:after { - display: block; + display: table; content: ""; - clear: both; + clear: left; /* clearfix for empty descriptions */ } /* start lists nested in description/field lists on new line */ dd > dl:first-child, dd > ul:first-child, dd > ol:first-child { - clear: left; + clear: left; } + +/* disclosures */ +details { padding-left: 1em; } +summary { margin-left: -1em; } + /* Footnotes and Citations */ -/* TODO: use <aside> */ -dl.footnote { - font-size: smaller; - padding-left: 0.5em; -/* text-indent: -0.5em; */ - border-left: solid; - border-left-width: thin; +.footnote { + font-size: small; } /* Images, Figures, and Tables */ @@ -476,39 +478,36 @@ figure > img, figure > a > img { display: inline; } -table tr { - text-align: left; -} - -/* th { vertical-align: bottom; } */ -/* "booktabs" style (no vertical lines) */ -table.booktabs { - border-top: 2px solid; - border-bottom: 2px solid; -} -table.booktabs * { - border: 0; -} -table.booktabs th { - border-bottom: thin solid; -} - figcaption, table > caption { - /* font-size: smaller; */ + /* font-size: small; */ font-style: italic; } figcaption > .legend { - font-size: smaller; + font-size: small; font-style: initial; } - figure.numbered > figcaption > p:before { counter-increment: figure; content: "Figure " counter(figure) ": "; font-weight: bold; font-style: initial; } + +table tr { + text-align: left; + vertical-align: baseline; +} +table.booktabs { /* "booktabs" style (no vertical lines) */ + border-top: 2px solid; + border-bottom: 2px solid; +} +table.booktabs * { + border: 0; +} +table.booktabs th { + border-bottom: thin solid; +} table.numbered > caption:before { counter-increment: table; content: "Table " counter(table) ": "; @@ -517,19 +516,16 @@ table.numbered > caption:before { } /* Admonitions and System Messages */ -div.admonition, +.admonition, div.system-message { - box-sizing: border-box; - border-style: solid; - border-color: silver; - border-width: thin; + border: thin solid silver; margin: 1em 2%; - padding: 0.5em; + padding: 0.5em 1em; } -div.caution p.admonition-title, -div.attention p.admonition-title, -div.danger p.admonition-title, -div.warning p.admonition-title, +.caution p.admonition-title, +.attention p.admonition-title, +.danger p.admonition-title, +.warning p.admonition-title, div.error { color: maroon; } @@ -538,17 +534,19 @@ div.system-message > p > span.literal { } /* Literal and Code */ -pre { - /* font-family: Consolas, "Liberation Mono", Menlo, monospace; */ - /* font-size: 0.9em; */ -/* overflow: auto; */ - margin-right: -5%; +pre.literal-block, pre.doctest{ + padding: 0.2em; + overflow-x: auto; +} +.literal-block, .doctest, span.literal { + background-color: #f6f9f8; +} +.system-message span.literal { + background-color: inherit; } - -pre.code .ln { color: gray; } /* line numbers */ /* basic highlighting: for a complete scheme, see */ -/* http://docutils.sourceforge.net/sandbox/stylesheets/ */ +/* https://docutils.sourceforge.io/sandbox/stylesheets/ */ pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } pre.code .literal.string, code .literal.string { color: #0C5404 } @@ -556,45 +554,57 @@ pre.code .name.builtin, code .name.builtin { color: #352B84 } pre.code .deleted, code .deleted { background-color: #DEB0A1} pre.code .inserted, code .inserted { background-color: #A3D289} - - -.sans { - font-family: "Gill Sans", "Gill Sans MT", Calibri, "Lucida Sans", "Noto Sans", sans-serif; - letter-spacing: .02em; -} - /* Hyperlink References */ -/* underline that clears descenders */ a { - text-decoration: none; - text-decoration-skip-ink: auto; /* nonstandard selector */ -} -a:link{ + text-decoration: none; /* for chromium */ + /* Wrap links at any place, if this is the only way to prevent overflow */ overflow-wrap: break-word; } -/* undecorated links */ -a[href^="#system-message"], -.contents a, a.toc-backref, a.image-reference, -a.footnote-reference, a.fn-backref, .fn-backref a, -a.citation-reference { +.contents a, a.toc-backref, a.citation-reference { + overflow-wrap: inherit; +} +/* Undecorated Links (see also minimal.css) */ +/* a.citation-reference, */ +.citation a.fn-backref { color: inherit; } -a:link:hover { +a:hover { text-decoration: underline; } - +*:hover > a.toc-backref:after { + content: " \2191"; /* ↑ UPWARDS ARROW */ + color: grey; +} +*:hover > a.self-link:after { + content: "\1F517"; /* LINK SYMBOL */ + color: grey; + font-size: smaller; + margin-left: 0.2em; +} +/* highlight the target of the current URL */ +section:target > h2, section:target > h3, section:target > h4, +section:target > h5, section:target > h6, +.contents :target, +.contents:target > .topic-title, +[role="doc-biblioentry"]:target > .label, +[role="doc-biblioref"]:target, +[role="note"]:target, /* Docutils 0.18 ... 0.19 */ +[role="doc-footnote"]:target, /* Docutils >= 0.20 */ +[role="doc-noteref"]:target { + background-color: #d2e6ec; +} /* Block Alignment */ /* Let content flow to the side of aligned images and figures */ /* no floats around this elements */ -dl.footnote, dl.citation, /* errors with internal floats */ -footer, header, hr, -h1, h2, h3, .contents > p.topic-title { +footer, header, hr, +h1, h2, h3 { clear: both; } img.align-left, +video.align-left, figure.align-left, table.align-left { margin-left: 0; @@ -604,133 +614,198 @@ table.align-left { float: left; } img.align-right, +video.align-right, figure.align-right, table.align-right { margin-left: 0.5em; + margin-right: 0; clear: right; float: right; } /* Margin Elements */ /* see below for screen size dependent rules */ -aside.sidebar { -/* overwrite minimal.css */ - width: auto; - max-width: 100%; -/* float: none; */ -} -aside.sidebar, +.sidebar, .marginal, -.admonition.marginal, -.topic.marginal { +.admonition.marginal { + max-width: 40%; + border: none; background-color: #efefea; - box-sizing: border-box; - margin: 0.5em 0; + margin: 0.5em var(--sidebar-margin-right) 0.5em 1em; padding: 0.5em; + padding-left: 0.7em; clear: right; + float: right; + font-size: small; +} +.sidebar { + width: 40%; } -/* Adaptive page layout */ +/* Math */ +/* for math-output=MathML (for math-output=HTML, see math.css) */ +math .boldsymbol { + font-weight: bold; +} +mstyle.mathscr, mi.mathscr { + font-family: STIX; +} -/* larger margins and floating elements moderately small screens */ -/* main text more than around 40 characters/line */ -@media (min-width: 35em) { - /* wider margins */ - main, header, footer { - padding: 0.5em calc(20% - 5rem); - line-height: 1.6 - } - pre { - margin-right: calc(5rem - 20%); +/* Adaptive page layout */ +/* ==================== */ + +@media (max-width: 30em) { + /* Smaller margins and no floating elements for small screens */ + /* (main text less than 40 characters/line) */ + body > * { + padding: 0.5rem 5%; + line-height: 1.4 } - /* floating margin elements */ - aside.sidebar, + .sidebar, .marginal, - .admonition.marginal, - .topic.marginal { - max-width: min(45%, 18em); - margin-left: 1em; - clear: right; - float: right; + .admonition.marginal { + width: auto; + max-width: 100%; + float: none; } - /* more indent for field-list values */ - dl.field-list > dd, - dl.docinfo > dd { - margin-left: 6.4em; + dl.option-list, + pre { + margin-left: 0; } - dl.option-list > dd { - margin-left: 5em; + body { + --field-indent: 4em; } -} - -@media (min-width: 65em) { - /* 2 column layout with wide margin */ - main, header, footer { - padding: 0.5em 15%; + dl.field-list.narrow, dl.docinfo, dl.option-list { + --field-indent: 2.4em; } - aside.sidebar, - .marginal, - .admonition.marginal, - .topic.marginal { - background-color: inherit; - /* background-color: lavender; */ - margin-right: -18%; - padding: 0; + pre, pre * { + font-size: 0.9em; + /* overflow: auto; */ } - .admonition.marginal { padding: 0.5em; } } -/* Move ToC to the left */ -@media (min-width: 100em) { - main, header, footer { - margin-left: min(15%, 18em); +@media (min-width: 54em) { + /* Move ToC to the left */ + /* Main text width before: 70% ≙ 35em ≙ 75…95 chrs (Dejavu/Times) */ + /* after: ≳ 30em ≙ 54…70 chrs (Dejavu/Times) */ + body.with-toc { + padding-left: 8%; + } + body.with-toc > * { + margin-left: 0; + padding-left: 22rem; /* fallback for webkit */ + padding-left: min(22%, 22rem); + padding-right: 7%; } - main > div.topic.contents { + main > nav.contents { /* global ToC */ position: fixed; top: 0; left: 0; - box-sizing: border-box; - width: min(25%, 28em); + width: min(25%, 25em); height: 100vh; margin: 0; background-color: #fafaf6; - padding: 1em 2%; + padding: 1em 2% 0 2%; overflow: auto; } - main > div.topic.contents > * { + main > nav.contents > * { padding-left: 0; + line-height: 1.4; + } + main > nav.contents a { + color: inherit; + } +} + +@media (min-width: 70em) { + body { + --field-indent: 9em; + } +} + +@media (min-width: 77em) { + /* Move marginalia to 6rem from right border */ + /* .sidebar, */ + /* .marginal, */ + /* .admonition.marginal { */ + /* margin-right: calc(6rem - 15%); */ + /* } */ + /* BUG: margin is calculated for break point width */ + /* workaround: variable + many breakpoints */ + body > * { + padding-left: 18%; + padding-right: 28%; /* fallback for webkit */ + padding-right: min(28%, 28rem); + --sidebar-margin-right: -20rem; + } + /* limit main text to ~ 50em ≙ 85…100 characters DejaVu rsp. …120 Times */ + body.with-toc > * { + padding-left: min(22%, 22rem); + padding-right: calc(78% - 50rem); /* fallback for webkit */ + padding-right: min(78% - 50rem, 28rem); + --sidebar-margin-right: 0; + } +} + +@media (min-width: 85em) { + body.with-toc > * { + --sidebar-margin-right: -9rem; + } +} + +@media (min-width: 90em) { + /* move marginalia into the margin */ + body > * { + padding-left: min(22%, 22rem); + --sidebar-margin-right: -23rem; + } + body.with-toc > * { + --sidebar-margin-right: -14rem; + } +} + +@media (min-width: 99em) { + /* move marginalia out of main text area */ + body.with-toc > * { + --sidebar-margin-right: -20rem; + } + body > *, body.with-toc > * { /* for webkit */ + padding-left: 22rem; + padding-right: 28rem; + } + .admonition.marginal, + .marginal { + width: 40%; /* make marginal figures, ... "full width" */ + } +} + +@media (min-width: 104em) { + body.with-toc > * { + --sidebar-margin-right: -23rem; } - -/* marginal elements outside of main text */ -@media (min-width: 126em) { - aside.sidebar, - figure.marginal, - .topic.marginal, - p.marginal { - width: min(45%, 18em); - } } </style> </head> -<body> -<main id="alphabeta-greek-symbols-in-text-and-math"> -<h1 class="title">alphabeta: Greek symbols in text and math</h1> +<body class="with-toc"> +<main id="alphabeta-sty"> +<h1 class="title">alphabeta.sty</h1> +<p class="subtitle" id="greek-symbols-in-text-and-math">Greek symbols in text and math</p> <dl class="docinfo"> -<dt class="copyright">Copyright</dt> +<dt class="copyright">Copyright<span class="colon">:</span></dt> <dd class="copyright">© 2010 Günter Milde</dd> -<dt class="licence">Licence</dt> +<dt class="licence">Licence<span class="colon">:</span></dt> <dd class="licence"><p>This work may be distributed and/or modified under the conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either version 1.3 of this license or any later version.</p> </dd> -<dt class="identification">Identification</dt> +<dt class="identification">Identification<span class="colon">:</span></dt> <dd class="identification"><pre class="literal-block">\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{alphabeta} [2020/10/13 2.0 macros for Greek letters in text and math]</pre> </dd> </dl> -<div class="abstract topic"> +<div class="topic abstract" role="doc-abstract"> <p class="topic-title">Abstract</p> <p>Use <span class="docutils literal">\alpha, \beta, ...</span> for Greek letters in text and math mode.</p> @@ -738,11 +813,6 @@ mode.</p> <dl> <dt>Changelog:</dt> <dd><table class="borderless"> -<colgroup> -<col style="width: 8%" /> -<col style="width: 14%" /> -<col style="width: 78%" /> -</colgroup> <tbody> <tr><td><p>0.1</p></td> <td><p>2012-06-26</p></td> @@ -763,7 +833,7 @@ mode.</p> </tr> <tr><td><p>0.4</p></td> <td><p>2013-09-11</p></td> -<td><p>move to <a class="reference external" href="http://ctan.org/pkg/greek-fontenc">greek-fontenc</a>, support XeTeX/LuaTeX.</p></td> +<td><p>move to <a class="reference external" href="https://ctan.org/pkg/greek-fontenc">greek-fontenc</a>, support XeTeX/LuaTeX.</p></td> </tr> <tr><td><p>0.13</p></td> <td><p>2015-09-04</p></td> @@ -791,62 +861,62 @@ mode.</p> </table> </dd> </dl> -<div class="contents topic" id="contents"> +<nav class="contents" id="contents" role="doc-toc"> <p class="topic-title">Contents</p> <ul class="simple"> -<li><p><a class="reference internal" href="#motivation" id="id1">Motivation</a></p></li> -<li><p><a class="reference internal" href="#usage" id="id2">Usage</a></p> +<li><p><a class="reference internal" href="#motivation" id="toc-entry-1">Motivation</a></p></li> +<li><p><a class="reference internal" href="#usage" id="toc-entry-2">Usage</a></p> <ul> -<li><p><a class="reference internal" href="#conflicts" id="id3">Conflicts</a></p></li> +<li><p><a class="reference internal" href="#conflicts" id="toc-entry-3">Conflicts</a></p></li> </ul> </li> -<li><p><a class="reference internal" href="#implementation" id="id4">Implementation</a></p> +<li><p><a class="reference internal" href="#implementation" id="toc-entry-4">Implementation</a></p> <ul> -<li><p><a class="reference internal" href="#requirements" id="id5">Requirements</a></p></li> -<li><p><a class="reference internal" href="#postpone-the-re-definitions" id="id6">Postpone the re-definitions</a></p></li> -<li><p><a class="reference internal" href="#save-math-macros" id="id7">Save math macros</a></p></li> -<li><p><a class="reference internal" href="#commands-to-access-greek-letters-by-name" id="id8">Commands to access Greek letters by name</a></p> +<li><p><a class="reference internal" href="#requirements" id="toc-entry-5">Requirements</a></p></li> +<li><p><a class="reference internal" href="#postpone-the-re-definitions" id="toc-entry-6">Postpone the re-definitions</a></p></li> +<li><p><a class="reference internal" href="#save-math-macros" id="toc-entry-7">Save math macros</a></p></li> +<li><p><a class="reference internal" href="#commands-to-access-greek-letters-by-name" id="toc-entry-8">Commands to access Greek letters by name</a></p> <ul> -<li><p><a class="reference internal" href="#archaic-letters" id="id9">Archaic letters</a></p></li> -<li><p><a class="reference internal" href="#variant-shape-symbols" id="id10">Variant shape symbols</a></p></li> +<li><p><a class="reference internal" href="#archaic-letters" id="toc-entry-9">Archaic letters</a></p></li> +<li><p><a class="reference internal" href="#variant-shape-symbols" id="toc-entry-10">Variant shape symbols</a></p></li> </ul> </li> -<li><p><a class="reference internal" href="#textcompositecommands-for-the-generic-macros" id="id11">TextCompositeCommands for the generic macros</a></p></li> -<li><p><a class="reference internal" href="#re-definition-for-greek-unicode-input-in-math-mode" id="id12">Re-definition for Greek Unicode input in math mode</a></p></li> +<li><p><a class="reference internal" href="#textcompositecommands-for-the-generic-macros" id="toc-entry-11">TextCompositeCommands for the generic macros</a></p></li> +<li><p><a class="reference internal" href="#re-definition-for-greek-unicode-input-in-math-mode" id="toc-entry-12">Re-definition for Greek Unicode input in math mode</a></p></li> </ul> </li> </ul> -</div> +</nav> <section id="motivation"> -<h2><a class="toc-backref" href="#id1">Motivation</a></h2> +<h2><a class="toc-backref" href="#toc-entry-1" role="doc-backlink">Motivation</a></h2> <p>By default, the <span class="docutils literal">\alpha, \beta, ...</span> macros for Greek letters are only valid in mathematical mode.</p> <p>With this package, the math macros are redefined to work in both, text and math mode, so that Greek letters can be specified with the established command names in text, too.</p> -<p>If used together with the <span class="docutils literal">utf8</span> option of <a class="reference external" href="http://ctan.org/pkg/inputenc">inputenc</a>, literal Unicode +<p>If used together with the <span class="docutils literal">utf8</span> option of <a class="reference external" href="https://ctan.org/pkg/inputenc">inputenc</a>, literal Unicode characters can be used for Greek symbols in mathematical formulas.</p> -<div class="admonition attention"> +<aside class="admonition attention"> <p class="admonition-title">Attention!</p> <p>The macros work well in any font encoding for single symbols. However, with 8-bit TeX, the automatic font-encoding switches behind the doors interfere with kerning between letters and replacement of accent+character with a pre-composed character.</p> -<p>Therefore, Greek text should be written with the help of <a class="reference external" href="http://ctan.org/pkg/babel">Babel</a> or -<a class="reference external" href="http://ctan.org/pkg/polyglossia">Polyglossia</a> (setting the language to <span class="docutils literal">greek</span>) or wrapped in the -provided <span class="docutils literal">ensuregreek</span> macro. Using <a class="reference external" href="http://ctan.org/pkg/babel">Babel</a> or <a class="reference external" href="http://ctan.org/pkg/polyglossia">Polyglossia</a> also helps +<p>Therefore, Greek text should be written with the help of <a class="reference external" href="https://ctan.org/pkg/babel">Babel</a> or +<a class="reference external" href="https://ctan.org/pkg/polyglossia">Polyglossia</a> (setting the language to <span class="docutils literal">greek</span>) or wrapped in the +provided <span class="docutils literal">ensuregreek</span> macro. Using <a class="reference external" href="https://ctan.org/pkg/babel">Babel</a> or <a class="reference external" href="https://ctan.org/pkg/polyglossia">Polyglossia</a> also helps to ensure proper hyphenation.</p> -</div> +</aside> </section> <section id="usage"> -<h2><a class="toc-backref" href="#id2">Usage</a></h2> +<h2><a class="toc-backref" href="#toc-entry-2" role="doc-backlink">Usage</a></h2> <pre class="code latex literal-block"><code><span class="keyword">\usepackage</span><span class="name builtin">{</span>alphabeta<span class="name builtin">}</span></code></pre> -<p>The <a class="reference external" href="http://ctan.org/pkg/greek-inputenc">greek-inputenc</a> package provides support for Unicode (utf-8) input -of Greek characters with 8-bit TeX and the <a class="reference external" href="http://ctan.org/pkg/inputenc">inputenc</a> package:</p> +<p>The <a class="reference external" href="https://ctan.org/pkg/greek-inputenc">greek-inputenc</a> package provides support for Unicode (utf-8) input +of Greek characters with 8-bit TeX and the <a class="reference external" href="https://ctan.org/pkg/inputenc">inputenc</a> package:</p> <pre class="code latex literal-block"><code><span class="keyword">\usepackage</span><span class="name attribute">[utf-8]</span><span class="name builtin">{</span>inputenc<span class="name builtin">}</span> <span class="keyword">\usepackage</span><span class="name builtin">{</span>alphabeta<span class="name builtin">}</span></code></pre> <section id="conflicts"> -<h3><a class="toc-backref" href="#id3">Conflicts</a></h3> +<h3><a class="toc-backref" href="#toc-entry-3" role="doc-backlink">Conflicts</a></h3> <p><cite>alphabeta</cite> does not work if the <span class="docutils literal">utf8x</span> input encoding is selected. (<span class="docutils literal">utf8x</span> is an interface to the <span class="docutils literal">ucs</span> package which uses a non-compatible definition of <span class="docutils literal">\DeclareUnicodeCharacter</span>.)</p> @@ -854,28 +924,28 @@ non-compatible definition of <span class="docutils literal">\DeclareUnicodeChara </section> </section> <section id="implementation"> -<h2><a class="toc-backref" href="#id4">Implementation</a></h2> +<h2><a class="toc-backref" href="#toc-entry-4" role="doc-backlink">Implementation</a></h2> <section id="requirements"> -<h3><a class="toc-backref" href="#id5">Requirements</a></h3> +<h3><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Requirements</a></h3> <p>This package extends the <a class="reference external" href="textalpha.sty.html">textalpha</a> package. Package options are passed on to <cite>textalpha</cite>:</p> <pre class="literal-block">\RequirePackageWithOptions{textalpha}</pre> -<p>Just like <cite>alphabeta</cite>, <cite>textalpha</cite> is part of <a class="reference external" href="http://ctan.org/pkg/greek-fontenc">greek-fontenc</a>.</p> +<p>Just like <cite>alphabeta</cite>, <cite>textalpha</cite> is part of <a class="reference external" href="https://ctan.org/pkg/greek-fontenc">greek-fontenc</a>.</p> <p>This package requires the <a class="reference external" href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=etex">e-TeX</a> extensions (i.e. a not too old TeX distribution) for the <span class="docutils literal">\ifdefined</span> test.</p> -<p>It uses the <span class="docutils literal">\TextOrMath</span> test from the <a class="reference external" href="http://ctan.org/pkg/fixltx2e">fixltx2e</a> standard LaTeX package. +<p>It uses the <span class="docutils literal">\TextOrMath</span> test from the <a class="reference external" href="https://ctan.org/pkg/fixltx2e">fixltx2e</a> standard LaTeX package. <span class="docutils literal">fixltx2e</span> is loaded by default since TeXLive 2015. In case of an <span class="docutils literal">\TextOrMath undefined</span> error, load it in the document preamble via</p> <pre class="code latex literal-block"><code><span class="keyword">\usepackage</span><span class="name builtin">{</span>fixltx2e<span class="name builtin">}</span></code></pre> </section> <section id="postpone-the-re-definitions"> -<h3><a class="toc-backref" href="#id6">Postpone the re-definitions</a></h3> +<h3><a class="toc-backref" href="#toc-entry-6" role="doc-backlink">Postpone the re-definitions</a></h3> <p>To prevent other packages overwriting the re-defined commands we postpone the next steps until the start of the document body:</p> <pre class="literal-block">\AtBeginDocument{</pre> </section> <section id="save-math-macros"> -<h3><a class="toc-backref" href="#id7">Save math macros</a></h3> +<h3><a class="toc-backref" href="#toc-entry-7" role="doc-backlink">Save math macros</a></h3> <p>Map the standard math commands to maths-specific names:</p> <pre class="literal-block">\let\mathGamma\Gamma \let\mathDelta\Delta @@ -932,7 +1002,7 @@ the next steps until the start of the document body:</p> \fi</pre> </section> <section id="commands-to-access-greek-letters-by-name"> -<h3><a class="toc-backref" href="#id8">Commands to access Greek letters by name</a></h3> +<h3><a class="toc-backref" href="#toc-entry-8" role="doc-backlink">Commands to access Greek letters by name</a></h3> <p>For letters defined in math mode, the commands work in both, text and math.</p> <p>Some Greek letters look identical to Latin letters and can therefore not be used as variable symbols in math formulas. These letters are not defined in @@ -1002,7 +1072,7 @@ in both, text and math mode.</p> \renewcommand*{\psi}{\TextOrMath{\textpsi}{\mathpsi}} \renewcommand*{\omega}{\TextOrMath{\textomega}{\mathomega}}</pre> <section id="archaic-letters"> -<h4><a class="toc-backref" href="#id9">Archaic letters</a></h4> +<h4><a class="toc-backref" href="#toc-entry-9" role="doc-backlink">Archaic letters</a></h4> <pre class="literal-block">\renewcommand*{\digamma}{\TextOrMath{\textdigamma}{\mathdigamma}} % ϝ \providecommand*{\Digamma}{\textDigamma} % Ϝ \providecommand*{\stigma}{\textstigma} % ϛ @@ -1016,7 +1086,7 @@ in both, text and math mode.</p> \providecommand*{\sampi}{\textsampi} % ϡ</pre> </section> <section id="variant-shape-symbols"> -<h4><a class="toc-backref" href="#id10">Variant shape symbols</a></h4> +<h4><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">Variant shape symbols</a></h4> <p>TeX’s concept of “standard” vs. “variant” math symbols does not map to the distinction between GREEK LETTER … vs. GREEK … SYMBOL in the Unicode standard (see <a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a>).</p> @@ -1054,7 +1124,7 @@ math (or, if not supported, the SYMBOL shape):</p> </section> </section> <section id="textcompositecommands-for-the-generic-macros"> -<h3><a class="toc-backref" href="#id11">TextCompositeCommands for the generic macros</a></h3> +<h3><a class="toc-backref" href="#toc-entry-11" role="doc-backlink">TextCompositeCommands for the generic macros</a></h3> <p>The NFSS TextComposite mechanism looks for the next token without expanding it. In order to let compositions like <span class="docutils literal"><span class="pre">\ensuregreek{\'\Alpha}</span></span> or <span class="docutils literal"><span class="pre">\ensuregreek{\>"\alpha}</span></span> work as expected we define TextComposites with the @@ -1068,7 +1138,7 @@ is LGR).</p> }{}</pre> </section> <section id="re-definition-for-greek-unicode-input-in-math-mode"> -<h3><a class="toc-backref" href="#id12">Re-definition for Greek Unicode input in math mode</a></h3> +<h3><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">Re-definition for Greek Unicode input in math mode</a></h3> <p>Check with <span class="docutils literal">\ifdefined</span> for the definition of <span class="docutils literal">\DeclareUnicodeCharacter</span>. In contrast to <span class="docutils literal">\@ifdefined</span>, this works without side-effects. It makes the package dependent on the <a class="reference external" href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=etex">e-TeX</a> diff --git a/language/greek/greek-fontenc/diacritics.pdf b/language/greek/greek-fontenc/diacritics.pdf Binary files differdeleted file mode 100644 index 5155ca6357..0000000000 --- a/language/greek/greek-fontenc/diacritics.pdf +++ /dev/null diff --git a/language/greek/greek-fontenc/diacritics.tex b/language/greek/greek-fontenc/diacritics.tex deleted file mode 100644 index dddfbc2560..0000000000 --- a/language/greek/greek-fontenc/diacritics.tex +++ /dev/null @@ -1,172 +0,0 @@ -% Test definitions for accents and composite accents in Greek -\documentclass[a4paper,polutonikogreek,british]{article} -\pagestyle{empty} -\usepackage[margin=2.9cm]{geometry} -% \usepackage{cmap} % fix search and cut-and-paste in Acrobat Reader - -\usepackage% -{lmodern} -% {gfsartemisia} -% {gfsbaskerville} -% [default]{gfsbodoni} -% [default]{gfscomplutum} -% {gfsdidot} -% [default]{gfsneohellenic} -% {lmodern} \usepackage{gfsporson} \renewcommand*\rmdefault{porson} -% [default]{gfssolomos} -% {kerkis} -% {teubner} -% \renewcommand{\ttdefault}{txtt} - -% Load encoding definitions (after font package) -\usepackage[LGR,T1]{fontenc} -\usepackage{textalpha} - -\usepackage{listings} -\lstset{basicstyle=\ttfamily} - -% Babel package: - -\usepackage{babel} - -% With XeTeX/LuaTeX, load fontspec after babel to use Unicode -% fonts for Latin script and LGR for Greek: -\ifdefined\luatexversion \usepackage{fontspec}\fi -\ifdefined\XeTeXrevision \usepackage{fontspec}\fi - - -% "Lipsiakos" italic font `cbleipzig`: -\newcommand*{\lishape}{\fontencoding{LGR}\fontfamily{cmr}% - \fontshape{li}\selectfont} -\DeclareTextFontCommand{\textli}{\lishape} - - -\begin{document} - -% \selectlanguage{british} - -\title{Greek diacritics with standard accent macros} -\author{G\"unter Milde} -\date{\filedate} -\maketitle - -The font encoding definition file \texttt{lgrenc.def} defines LICR macros -for all non-ASCII characters in the LGR font encoding. Greek accent macros -have names starting with \verb|\acc| followed by the Greek accent name as -used in the Unicode standard (e.g. \verb|\acctonos|). The standard symbol -accents \verb|\' \` \~| behave according to Greek typography if used in the -LGR font encoding. - -The \emph{textalpha} or \emph{alphabeta} packages define the symbol macros -\verb|\<| and \verb|\>| as alias for the breathings (Dasia and Psili).% -\footnote{The definition of the macros - \texttt{\textbackslash<} and \texttt{\textbackslash>} was moved - from the font definition file \texttt{greek-fontenc.def} to - \texttt{textalpha.sty} in order to avoid clashes with local - definitions of this macros in documents using the LGR font - encoding via \emph{fontenc} or \emph{babel}.} -With these packages, all Greek diacritics can be input as backslash followed -by the LGR transliteration.% -\footnote{This makes it easy to follow the advise in - \emph{teubner-doc}: ``typeset your paper with the regular - accent vowel ligatures and [{\ldots}] substitute them in the - final revision with the accented vowel macros only in those - instances where the lack of kerning is disturbing''.} - -The example in babel/contrib/greek/usage.pdf: -% -\begin{quote} \selectlanguage{greek} - T\'i f\'hic? \<Id\`wn \>enj\'ede pa\~id'' - \>eleuj\'eran t\`ac plhs\'ion N\'umfac stefano\~usan, - S\'wstrate, \>er\~wn \'ap\~hljec e\>uj\'uc? -\end{quote} -can be input as -\begin{lstlisting} - T\'i f\'hic? \<Id\`wn \>enj\'ede pa\~id'' - \>eleuj\'eran t\`ac plhs\'ion N\'umfac stefano\~usan, - S\'wstrate, \>er\~wn \'ap\~hljec e\>uj\'uc? -\end{lstlisting} -% -Improvements over the ligature-based approach in LGR: -% -\begin{itemize} - -\item Accents can be placed on any character: - \textgreek{\"k \`l \'m \~<n \<o \>'p \>9 \`\>-} - -\item Kerning is preserved - \selectlanguage{greek} - \begin{tabular}[t]{llll} - & \textlatin{roman} & \textlatin{italic} & \textlatin{cbleipzig} \\ - \foreignlanguage{british}{accent macro:} & - a\>ut'os & \emph{a\>ut\'os} & \textli{a\>ut\'os} \\ - \foreignlanguage{british}{transliteration:} & - a>ut'os & \emph{a>ut'os} & \textli{a>ut'os}\\ - \end{tabular} - \selectlanguage{british} - - Like in any font encoding, kerning only works with pre-composed glyphs:\\ - \textgreek{A\"UA $\ne$ A\~UA}, AVA $\ne$ A\'VA. - -\item Compatible with hyperref (see greekhyperref.pdf). - -\item Following Greek typesetting convention, diacritics (except the - dialytika) are placed to the left of capital letters and and dropped - by \verb|\MakeUppercase|: - - \begin{quote} \selectlanguage{greek} - \'antropos $\mapsto$ \MakeUppercase{\'antropos}, - \>'antropos $\mapsto$ \MakeUppercase{\>'antropos},\\ - Aqill\'eas $\mapsto$ \MakeUppercase{Aqill\'eas}, - \>Aqille\'us $\mapsto$ \MakeUppercase{\>Aqille\'us}. - \end{quote} - - The dialytika is printed even in cases where it's not needed - in lowercase: % the "hiatus" feature - \begin{quote} \selectlanguage{greek} - \'aulos $\mapsto$ \MakeUppercase{\'aulos}, - \'>aulos $\mapsto$ \MakeUppercase{\'\>aulos}, - % from http://diacritics.typo.cz/index.php?id=69 μάινα -> ΜΑΪΝΑ - m\'aina $\mapsto$ \MakeUppercase{m\'aina},\\ - % from http://de.wikipedia.org/wiki/Neugriechische_Orthographie#Das_Trema - % κέικ, ἀυπνία/αϋπνία - k\'eik, $\mapsto$ \MakeUppercase{k\'eik}, - \>aupn\'ia $\mapsto$ \MakeUppercase{\>aupn\'ia}. - \end{quote} -\end{itemize} - -\selectlanguage{british} Composite diacritics can be specified as -named macro, backslash + LGR transliteration, or combined accent macros, -e.\,g. \textgreek{\~>a} can be written as -\begin{quote} - \verb+\accpsiliperispomeni{a}+, - \verb+\~>a+, \verb+\>~a+, - \verb+\~\>{a}+, or \verb+\~\>a+. -\end{quote} -However, braces in composite accents -(\verb+\~{\>a}+, \verb+\~{>a}+, or \verb+\~{\>{a}}+) -lead to errors. - -\verb+\MakeUppercase+ works with most input variants but fails with a tilde -in a document which does \textbf{not} define the \texttt{greek} or -\texttt{polutonikogreek} language with Babel (which fixes the uccode for -characters used in the LGR transliteration). -Combining ``symbol macros'' (\verb+\>\~+) or reversing the order -(\verb+\~>+) is safe. -% \foreignlanguage{greek}{\~>a \>~a \>\~a \~\>a $\mapsto$ -% \MakeUppercase{\~>a \>~a \>\~a \~\>a}}. - -Accent macros can start with \verb|\a| instead of \verb|\| when the -short form is redefined, e.\,g. inside a \emph{tabbing} environment. -This also works for the new-defined Dasia and Psili shortcuts -(\verb|\a<| and \verb|\a>|): -% -\begin{quote} -\selectlanguage{greek} -\begin{tabbing} -T'i f'hic? \= T\a'i f\a'hic? \\ -<Id`wn \> \a>enj\a'ede pa\a~id -\end{tabbing} -\end{quote} - -\end{document} diff --git a/language/greek/greek-fontenc/greek-fontenc-doc.html b/language/greek/greek-fontenc/greek-fontenc-doc.html new file mode 100644 index 0000000000..82bd481047 --- /dev/null +++ b/language/greek/greek-fontenc/greek-fontenc-doc.html @@ -0,0 +1,1446 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta charset="utf-8" /> +<meta name="generator" content="Docutils 0.20b.dev: https://docutils.sourceforge.io/" /> +<meta name="viewport" content="width=device-width, initial-scale=1" /> +<meta name="dcterms.rights" content="© 2010 – 2023 Günter Milde <milde@users.sf.net>" /> +<title>greek-fontenc</title> +<link rel="schema.dcterms" href="http://purl.org/dc/terms/"/> +<style type="text/css"> + +/* Minimal style sheet for the HTML output of Docutils. */ +/* */ +/* :Author: Günter Milde, based on html4css1.css by David Goodger */ +/* :Id: $Id$ */ +/* :Copyright: © 2015, 2021 Günter Milde. */ +/* :License: Released under the terms of the `2-Clause BSD license`_, */ +/* in short: */ +/* */ +/* Copying and distribution of this file, with or without modification, */ +/* are permitted in any medium without royalty provided the copyright */ +/* notice and this notice are preserved. */ +/* */ +/* This file is offered as-is, without any warranty. */ +/* */ +/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ + +/* This CSS3 stylesheet defines rules for Docutils elements without */ +/* HTML equivalent. It is required to make the document semantics visible. */ +/* */ +/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ + +/* titles */ +p.topic-title, +p.admonition-title, +p.system-message-title { + font-weight: bold; +} +p.sidebar-title, +p.rubric { + font-weight: bold; + font-size: larger; +} +p.rubric { + color: maroon; +} +p.subtitle, +p.section-subtitle, +p.sidebar-subtitle { + font-weight: bold; + margin-top: -0.5em; +} +h1 + p.subtitle { + font-size: 1.6em; +} +a.toc-backref { + color: inherit; + text-decoration: none; +} + +/* Warnings, Errors */ +.system-messages h2, +.system-message-title, +span.problematic { + color: red; +} + +/* Inline Literals */ +.docutils.literal { + font-family: monospace; + white-space: pre-wrap; +} +/* do not wrap at hyphens and similar: */ +.literal > span.pre { white-space: nowrap; } + +/* Lists */ + +/* compact and simple lists: no margin between items */ +.simple li, .simple ul, .simple ol, +.compact li, .compact ul, .compact ol, +.simple > li p, dl.simple > dd, +.compact > li p, dl.compact > dd { + margin-top: 0; + margin-bottom: 0; +} +/* Nested Paragraphs */ +p:first-child { margin-top: 0; } +p:last-child { margin-bottom: 0; } +details > p:last-child { margin-bottom: 1em; } + +/* Table of Contents */ +.contents ul.auto-toc { /* section numbers present */ + list-style-type: none; +} + +/* Enumerated Lists */ +ol.arabic { list-style: decimal } +ol.loweralpha { list-style: lower-alpha } +ol.upperalpha { list-style: upper-alpha } +ol.lowerroman { list-style: lower-roman } +ol.upperroman { list-style: upper-roman } + +/* Definition Lists and Derivatives */ +dt .classifier { font-style: italic } +dt .classifier:before { + font-style: normal; + margin: 0.5em; + content: ":"; +} +/* Field Lists and similar */ +/* bold field name, content starts on the same line */ +dl.field-list, +dl.option-list, +dl.docinfo { + display: flow-root; +} +dl.field-list > dt, +dl.option-list > dt, +dl.docinfo > dt { + font-weight: bold; + clear: left; + float: left; + margin: 0; + padding: 0; + padding-right: 0.2em; +} +/* Offset for field content (corresponds to the --field-name-limit option) */ +dl.field-list > dd, +dl.option-list > dd, +dl.docinfo > dd { + margin-left: 9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */ +} +/* start nested lists on new line */ +dd > dl:first-child, +dd > ul:first-child, +dd > ol:first-child { + clear: left; +} +/* start field-body on a new line after long field names */ +dl.field-list > dd > *:first-child, +dl.option-list > dd > *:first-child +{ + display: inline-block; + width: 100%; + margin: 0; +} + +/* Bibliographic Fields (docinfo) */ +dl.docinfo pre.address { + font: inherit; + margin: 0.5em 0; +} +dl.docinfo > dd.authors > p { margin: 0; } + +/* Option Lists */ +dl.option-list > dt { font-weight: normal; } +span.option { white-space: nowrap; } + +/* Footnotes and Citations */ + +.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */ +/* hanging indent */ +.citation { padding-left: 2em; } +.footnote { padding-left: 1.7em; } +.footnote.superscript { padding-left: 1.0em; } +.citation > .label { margin-left: -2em; } +.footnote > .label { margin-left: -1.7em; } +.footnote.superscript > .label { margin-left: -1.0em; } + +.footnote > .label + *, +.citation > .label + * { + display: inline-block; + margin-top: 0; + vertical-align: top; +} +.footnote > .backrefs + *, +.citation > .backrefs + * { + margin-top: 0; +} +.footnote > .label + p, .footnote > .backrefs + p, +.citation > .label + p, .citation > .backrefs + p { + display: inline; + vertical-align: inherit; +} + +.backrefs { user-select: none; } +.backrefs > a { font-style: italic; } + +/* superscript footnotes */ +a[role="doc-noteref"].superscript, +.footnote.superscript > .label, +.footnote.superscript > .backrefs { + vertical-align: super; + font-size: smaller; + line-height: 1; +} +a[role="doc-noteref"].superscript > .fn-bracket, +.footnote.superscript > .label > .fn-bracket { + /* hide brackets in display but leave for copy/paste */ + display: inline-block; + width: 0; + overflow: hidden; +} +[role="doc-noteref"].superscript + [role="doc-noteref"].superscript { + padding-left: 0.15em; /* separate consecutive footnote references */ + /* TODO: unfortunately, "+" also selects with text between the references. */ +} + +/* Alignment */ +.align-left { + text-align: left; + margin-right: auto; +} +.align-center { + text-align: center; + margin-left: auto; + margin-right: auto; +} +.align-right { + text-align: right; + margin-left: auto; +} +.align-top { vertical-align: top; } +.align-middle { vertical-align: middle; } +.align-bottom { vertical-align: bottom; } + +/* reset inner alignment in figures and tables */ +figure.align-left, figure.align-right, +table.align-left, table.align-center, table.align-right { + text-align: inherit; +} + +/* Text Blocks */ +.topic { margin: 1em 2em; } +.sidebar, +.admonition, +.system-message { + margin: 1em 2em; + border: thin solid; + padding: 0.5em 1em; +} +div.line-block { display: block; } +div.line-block div.line-block, pre { margin-left: 2em; } + +/* Code line numbers: dropped when copying text from the page */ +pre.code .ln { display: none; } +pre.code code:before { + content: attr(data-lineno); /* …, none) fallback not supported by any browser */ + color: gray; +} + +/* Tables */ +table { + border-collapse: collapse; +} +td, th { + border: thin solid silver; + padding: 0 1ex; +} +.borderless td, .borderless th { + border: 0; + padding: 0; + padding-right: 0.5em /* separate table cells */ +} + +table > caption { + text-align: left; + margin-top: 0.2em; + margin-bottom: 0.2em; +} +table.captionbelow { + caption-side: bottom; +} + +/* Document Header and Footer */ +header { border-bottom: 1px solid black; } +footer { border-top: 1px solid black; } + +/* Images are block-level by default in Docutils */ +/* New HTML5 block elements: set display for older browsers */ +img, header, footer, main, aside, nav, section, figure, video, details { + display: block; +} +/* inline images */ +p img, p video, figure img, figure video { + display: inline; +} + +</style> +<style type="text/css"> + +/* CSS3_ style sheet for the output of Docutils HTML5 writer. */ +/* Generic responsive design for all screen sizes. */ +/* */ +/* :Author: Günter Milde */ +/* */ +/* :Id: $Id$ */ +/* :Copyright: © 2021 Günter Milde. */ +/* :License: Released under the terms of the `2-Clause BSD license`_, */ +/* in short: */ +/* */ +/* Copying and distribution of this file, with or without modification, */ +/* are permitted in any medium without royalty provided the copyright */ +/* notice and this notice are preserved. */ +/* */ +/* This file is offered as-is, without any warranty. */ +/* */ +/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ +/* .. _CSS3: https://www.w3.org/Style/CSS/ */ + +/* Note: */ +/* This style sheet is provisional: */ +/* the API is not settled and may change with any minor Docutils version. */ + + + +/* General Settings */ +/* ================ */ + + +* { box-sizing: border-box; } + +body { + background-color: #fafaf6; + margin: auto; + --field-indent: 6.6em; /* indent of fields in field lists */ + --sidebar-margin-right: 0; /* adapted in media queries below */ +} +main { + counter-reset: figure table; +} +body > * { + background-color: white; + line-height: 1.6; + padding: 0.5rem calc(29% - 7.2rem); /* go from 5% to 15% (8.15em/54em) */ + margin: auto; + max-width: 100rem; +} +sup, sub { /* avoid additional inter-line space for lines with sup/sub */ + line-height: 1; +} + +/* Vertical Space (Parskip) */ +p, ol, ul, dl, li, +div.line-block, +.topic, +.footnote, .citation, +div > math, +table { + margin-top: 0.5em; + margin-bottom: 0.5em; +} +h1, h2, h3, h4, h5, h6, +dl > dd, details > p:last-child { + margin-bottom: 0.5em; +} + +/* Indented Blocks */ +blockquote, figure, .topic { + margin: 1em 2%; + padding-left: 1em; +} +div.line-block div.line-block, +pre, dd, dl.option-list { + margin-left: calc(2% + 1em); +} + +/* Object styling */ +/* ============== */ + +footer, header { + font-size: small; +} + +/* Frontmatter */ +div.dedication { + padding: 0; + margin: 1.4em 0; + font-style: italic; + font-size: large; +} +.dedication p.topic-title { + display: none; +} + +blockquote p.attribution, +.topic p.attribution { + text-align: right; +} + +/* Table of Contents */ +nav.contents ul { + padding-left: 1em; +} +ul.auto-toc > li > p { /* hanging indent */ + padding-left: 1em; + text-indent: -1em; +} +main > nav.contents ul:not(.auto-toc) { + list-style-type: square; +} +main > nav.contents ul ul:not(.auto-toc) { + list-style-type: disc; +} +main > nav.contents ul ul ul:not(.auto-toc) { + list-style-type: '\2B29\ '; +} +main > nav.contents ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B1D\ '; +} +main > nav.contents ul ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B2A\ '; +} +nav.contents ul > li::marker { + color: grey; +} + +/* Transitions */ +hr { + margin: 1em 10%; +} + +/* Lists */ + +ul, ol { + padding-left: 1.1em; /* indent by bullet width (Firefox, DejaVu fonts) */ +} +dl.field-list > dd, +dl.docinfo > dd { + margin-left: var(--field-indent); /* adapted in media queries or HTML */ +} +dl.option-list > dd { + margin-left: 20%; +} +/* run-in: start field-body on same line after long field names */ +dl.field-list.run-in > dd p { + display: block; +} +/* "description style" like in most dictionaries, encyclopedias etc. */ +dl.description { + display: flow-root; +} +dl.description > dt { + clear: left; + float: left; + margin: 0; + padding: 0; + padding-right: 0.3em; + font-weight: bold; +} +dl.description > dd:after { + display: table; + content: ""; + clear: left; /* clearfix for empty descriptions */ +} +/* start lists nested in description/field lists on new line */ +dd > dl:first-child, +dd > ul:first-child, +dd > ol:first-child { + clear: left; +} + +/* disclosures */ +details { padding-left: 1em; } +summary { margin-left: -1em; } + +/* Footnotes and Citations */ +.footnote { + font-size: small; +} + +/* Images, Figures, and Tables */ +img { + display: block; +} +p > img, p > a > img, +figure > img, figure > a > img { + display: inline; +} + +figcaption, +table > caption { + /* font-size: small; */ + font-style: italic; +} +figcaption > .legend { + font-size: small; + font-style: initial; +} +figure.numbered > figcaption > p:before { + counter-increment: figure; + content: "Figure " counter(figure) ": "; + font-weight: bold; + font-style: initial; +} + +table tr { + text-align: left; + vertical-align: baseline; +} +table.booktabs { /* "booktabs" style (no vertical lines) */ + border-top: 2px solid; + border-bottom: 2px solid; +} +table.booktabs * { + border: 0; +} +table.booktabs th { + border-bottom: thin solid; +} +table.numbered > caption:before { + counter-increment: table; + content: "Table " counter(table) ": "; + font-weight: bold; + font-style: initial; +} + +/* Admonitions and System Messages */ +.admonition, +div.system-message { + border: thin solid silver; + margin: 1em 2%; + padding: 0.5em 1em; +} +.caution p.admonition-title, +.attention p.admonition-title, +.danger p.admonition-title, +.warning p.admonition-title, +div.error { + color: maroon; +} +div.system-message > p > span.literal { + overflow-wrap: break-word; +} + +/* Literal and Code */ +pre.literal-block, pre.doctest{ + padding: 0.2em; + overflow-x: auto; +} +.literal-block, .doctest, span.literal { + background-color: #f6f9f8; +} +.system-message span.literal { + background-color: inherit; +} + +/* basic highlighting: for a complete scheme, see */ +/* https://docutils.sourceforge.io/sandbox/stylesheets/ */ +pre.code .comment, code .comment { color: #5C6576 } +pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } +pre.code .literal.string, code .literal.string { color: #0C5404 } +pre.code .name.builtin, code .name.builtin { color: #352B84 } +pre.code .deleted, code .deleted { background-color: #DEB0A1} +pre.code .inserted, code .inserted { background-color: #A3D289} + +/* Hyperlink References */ +a { + text-decoration: none; /* for chromium */ + /* Wrap links at any place, if this is the only way to prevent overflow */ + overflow-wrap: break-word; +} +.contents a, a.toc-backref, a.citation-reference { + overflow-wrap: inherit; +} +/* Undecorated Links (see also minimal.css) */ +/* a.citation-reference, */ +.citation a.fn-backref { + color: inherit; +} +a:hover { + text-decoration: underline; +} +*:hover > a.toc-backref:after { + content: " \2191"; /* ↑ UPWARDS ARROW */ + color: grey; +} +*:hover > a.self-link:after { + content: "\1F517"; /* LINK SYMBOL */ + color: grey; + font-size: smaller; + margin-left: 0.2em; +} +/* highlight the target of the current URL */ +section:target > h2, section:target > h3, section:target > h4, +section:target > h5, section:target > h6, +.contents :target, +.contents:target > .topic-title, +[role="doc-biblioentry"]:target > .label, +[role="doc-biblioref"]:target, +[role="note"]:target, /* Docutils 0.18 ... 0.19 */ +[role="doc-footnote"]:target, /* Docutils >= 0.20 */ +[role="doc-noteref"]:target { + background-color: #d2e6ec; +} + +/* Block Alignment */ +/* Let content flow to the side of aligned images and figures */ + +/* no floats around this elements */ +footer, header, hr, +h1, h2, h3 { + clear: both; +} + +img.align-left, +video.align-left, +figure.align-left, +table.align-left { + margin-left: 0; + padding-left: 0; + margin-right: 0.5em; + clear: left; + float: left; +} +img.align-right, +video.align-right, +figure.align-right, +table.align-right { + margin-left: 0.5em; + margin-right: 0; + clear: right; + float: right; +} + +/* Margin Elements */ +/* see below for screen size dependent rules */ +.sidebar, +.marginal, +.admonition.marginal { + max-width: 40%; + border: none; + background-color: #efefea; + margin: 0.5em var(--sidebar-margin-right) 0.5em 1em; + padding: 0.5em; + padding-left: 0.7em; + clear: right; + float: right; + font-size: small; +} +.sidebar { + width: 40%; +} + +/* Math */ +/* for math-output=MathML (for math-output=HTML, see math.css) */ +math .boldsymbol { + font-weight: bold; +} +mstyle.mathscr, mi.mathscr { + font-family: STIX; +} + +/* Adaptive page layout */ +/* ==================== */ + +@media (max-width: 30em) { + /* Smaller margins and no floating elements for small screens */ + /* (main text less than 40 characters/line) */ + body > * { + padding: 0.5rem 5%; + line-height: 1.4 + } + .sidebar, + .marginal, + .admonition.marginal { + width: auto; + max-width: 100%; + float: none; + } + dl.option-list, + pre { + margin-left: 0; + } + body { + --field-indent: 4em; + } + dl.field-list.narrow, dl.docinfo, dl.option-list { + --field-indent: 2.4em; + } + pre, pre * { + font-size: 0.9em; + /* overflow: auto; */ + } +} + +@media (min-width: 54em) { + /* Move ToC to the left */ + /* Main text width before: 70% ≙ 35em ≙ 75…95 chrs (Dejavu/Times) */ + /* after: ≳ 30em ≙ 54…70 chrs (Dejavu/Times) */ + body.with-toc { + padding-left: 8%; + } + body.with-toc > * { + margin-left: 0; + padding-left: 22rem; /* fallback for webkit */ + padding-left: min(22%, 22rem); + padding-right: 7%; + } + main > nav.contents { /* global ToC */ + position: fixed; + top: 0; + left: 0; + width: min(25%, 25em); + height: 100vh; + margin: 0; + background-color: #fafaf6; + padding: 1em 2% 0 2%; + overflow: auto; + } + main > nav.contents > * { + padding-left: 0; + line-height: 1.4; + } + main > nav.contents a { + color: inherit; + } +} + +@media (min-width: 70em) { + body { + --field-indent: 9em; + } +} + +@media (min-width: 77em) { + /* Move marginalia to 6rem from right border */ + /* .sidebar, */ + /* .marginal, */ + /* .admonition.marginal { */ + /* margin-right: calc(6rem - 15%); */ + /* } */ + /* BUG: margin is calculated for break point width */ + /* workaround: variable + many breakpoints */ + body > * { + padding-left: 18%; + padding-right: 28%; /* fallback for webkit */ + padding-right: min(28%, 28rem); + --sidebar-margin-right: -20rem; + } + /* limit main text to ~ 50em ≙ 85…100 characters DejaVu rsp. …120 Times */ + body.with-toc > * { + padding-left: min(22%, 22rem); + padding-right: calc(78% - 50rem); /* fallback for webkit */ + padding-right: min(78% - 50rem, 28rem); + --sidebar-margin-right: 0; + } +} + +@media (min-width: 85em) { + body.with-toc > * { + --sidebar-margin-right: -9rem; + } +} + +@media (min-width: 90em) { + /* move marginalia into the margin */ + body > * { + padding-left: min(22%, 22rem); + --sidebar-margin-right: -23rem; + } + body.with-toc > * { + --sidebar-margin-right: -14rem; + } +} + +@media (min-width: 99em) { + /* move marginalia out of main text area */ + body.with-toc > * { + --sidebar-margin-right: -20rem; + } + body > *, body.with-toc > * { /* for webkit */ + padding-left: 22rem; + padding-right: 28rem; + } + .admonition.marginal, + .marginal { + width: 40%; /* make marginal figures, ... "full width" */ + } +} + +@media (min-width: 104em) { + body.with-toc > * { + --sidebar-margin-right: -23rem; + } +} + +</style> +</head> +<body class="with-toc"> +<main id="greek-fontenc"> +<h1 class="title">greek-fontenc</h1> +<p class="subtitle" id="greek-font-encoding-definition-files">Greek font encoding definition files</p> +<dl class="docinfo"> +<dt class="version">Version<span class="colon">:</span></dt> +<dd class="version">2.2 (<a class="reference internal" href="#changelog">changelog</a>)</dd> +<dt class="copyright">Copyright<span class="colon">:</span></dt> +<dd class="copyright">© 2010 – 2023 Günter Milde <<a class="reference external" href="mailto:milde@users.sf.net">milde@users.sf.net</a>></dd> +<dt class="licence">Licence<span class="colon">:</span></dt> +<dd class="licence"><p>This work may be distributed and/or modified under the +conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either +version 1.3 of this license or any later version.</p> +</dd> +<dt class="homepage">Homepage<span class="colon">:</span></dt> +<dd class="homepage"><p><a class="reference external" href="https://codeberg.org/milde/greek-tex">https://codeberg.org/milde/greek-tex</a></p> +</dd> +<dt class="latest-release">Latest Release<span class="colon">:</span></dt> +<dd class="latest-release"><p><a class="reference external" href="https://ctan.org/pkg/greek-fontenc">https://ctan.org/pkg/greek-fontenc</a></p> +</dd> +</dl> +<div class="topic abstract" role="doc-abstract"> +<p class="topic-title">Abstract</p> +<p>The <cite>greek-fontenc</cite> bundle provides LICR<a class="footnote-reference superscript" href="#footnote-1" id="footnote-reference-1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a> macros +for characters from the Greek script and encoding +definition files for <a class="reference internal" href="#greek-text-font-encodings">Greek text font encodings</a>.</p> +<p>Included are also the LaTeX packages <a class="reference internal" href="#textalpha">textalpha</a> and <a class="reference internal" href="#alphabeta">alphabeta</a>.</p> +</div> +<aside class="footnote-list superscript"> +<aside class="footnote superscript" id="footnote-1" role="doc-footnote"> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#footnote-reference-1">1</a><span class="fn-bracket">]</span></span> +<p><cite>LaTeX internal character representation</cite> (LICR) macros can +serve as a human readable 7-bit-ASCII character encoding that +works unaltered under both, 8-bit TeX and XeTeX/LuaTeX. +Use cases are macro definitions and generated text.</p> +</aside> +</aside> +<nav class="contents" id="contents" role="doc-toc"> +<p class="topic-title">Contents</p> +<ul class="simple"> +<li><p><a class="reference internal" href="#tex-files-and-packages" id="toc-entry-1">TeX files and packages</a></p> +<ul> +<li><p><a class="reference internal" href="#packages" id="toc-entry-2">Packages</a></p></li> +<li><p><a class="reference internal" href="#font-encoding-definitions" id="toc-entry-3">Font encoding definitions</a></p></li> +<li><p><a class="reference internal" href="#auxiliary-files" id="toc-entry-4">Auxiliary files</a></p></li> +</ul> +</li> +<li><p><a class="reference internal" href="#usage-examples-and-test-documents" id="toc-entry-5">Usage examples and test documents</a></p></li> +<li><p><a class="reference internal" href="#download-and-installation" id="toc-entry-6">Download and Installation</a></p></li> +<li><p><a class="reference internal" href="#conflicts" id="toc-entry-7">Conflicts</a></p></li> +<li><p><a class="reference internal" href="#usage" id="toc-entry-8">Usage</a></p></li> +<li><p><a class="reference internal" href="#greek-text-font-encodings" id="toc-entry-9">Greek text font encodings</a></p> +<ul> +<li><p><a class="reference internal" href="#t7" id="toc-entry-10">T7</a></p></li> +<li><p><a class="reference internal" href="#lgr" id="toc-entry-11">LGR</a></p></li> +<li><p><a class="reference internal" href="#lgi" id="toc-entry-12">LGI</a></p></li> +<li><p><a class="reference internal" href="#tu" id="toc-entry-13">TU</a></p></li> +<li><p><a class="reference internal" href="#pu" id="toc-entry-14">PU</a></p></li> +</ul> +</li> +<li><p><a class="reference internal" href="#greek-licr-macro-names" id="toc-entry-15">Greek LICR macro names</a></p> +<ul> +<li><p><a class="reference internal" href="#letters-and-symbols" id="toc-entry-16">letters and symbols</a></p></li> +<li><p><a class="reference internal" href="#accent-macros" id="toc-entry-17">accent macros</a></p></li> +<li><p><a class="reference internal" href="#symbol-variants" id="toc-entry-18">symbol variants</a></p></li> +</ul> +</li> +<li><p><a class="reference internal" href="#changelog" id="toc-entry-19">Changelog</a></p></li> +<li><p><a class="reference internal" href="#references" id="toc-entry-20">References</a></p></li> +</ul> +</nav> +<section id="tex-files-and-packages"> +<h2><a class="toc-backref" href="#toc-entry-1" role="doc-backlink">TeX files and packages</a></h2> +<section id="packages"> +<h3><a class="toc-backref" href="#toc-entry-2" role="doc-backlink">Packages</a></h3> +<dl class="simple" id="textalpha"> +<dt><a class="reference external" href="textalpha.sty">textalpha.sty</a>: <a class="reference external" href="textalpha.sty.html">Greek symbols in text</a></dt> +<dd><p>Use <span class="docutils literal">\textalpha</span> … <span class="docutils literal">\textOmega</span> or Greek literal characters<a class="footnote-reference superscript" href="#footnote-2" id="footnote-reference-2" role="doc-noteref"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></a> +independent of font encoding and TeX engine. [<a class="reference external" href="textalpha-doc.pdf">textalpha-doc.pdf</a>]</p> +</dd> +<dt id="alphabeta"><a class="reference external" href="alphabeta.sty">alphabeta.sty</a>: <a class="reference external" href="alphabeta.sty.html">Greek symbols in text and math</a></dt> +<dd><p>Use <span class="docutils literal">\alpha</span> … <span class="docutils literal">\Omega</span> independent of text/math mode, +font encoding, and TeX engine. [<a class="reference external" href="alphabeta-doc.pdf">alphabeta-doc.pdf</a>]</p> +</dd> +</dl> +<aside class="footnote-list superscript"> +<aside class="footnote superscript" id="footnote-2" role="doc-footnote"> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#footnote-reference-2">2</a><span class="fn-bracket">]</span></span> +<p>requires <a class="reference external" href="https://ctan.org/pkg/greek-inputenc">greek-inputenc</a></p> +</aside> +</aside> +</section> +<section id="font-encoding-definitions"> +<h3><a class="toc-backref" href="#toc-entry-3" role="doc-backlink">Font encoding definitions</a></h3> +<dl class="simple" id="lgr-font-encoding-definition-file"> +<dt><a class="reference external" href="greek-fontenc.def">greek-fontenc.def</a></dt> +<dd><p><a class="reference external" href="greek-fontenc.def.html">Common Greek font encoding definitions</a></p> +</dd> +<dt><a class="reference external" href="lgrenc.def">lgrenc.def</a></dt> +<dd><p><a class="reference external" href="lgrenc.def.html">LGR Greek font encoding definitions.</a></p> +</dd> +<dt id="tuenc-greek"><a class="reference external" href="tuenc-greek.def">tuenc-greek.def</a></dt> +<dd><p><a class="reference external" href="tuenc-greek.def.html">Extended Greek definitions for the TU font encoding</a></p> +</dd> +<dt><a class="reference external" href="puenc-greek.def">puenc-greek.def</a></dt> +<dd><p><a class="reference external" href="puenc-greek.def.html">Extended Greek definitions for PDF strings</a></p> +</dd> +</dl> +</section> +<section id="auxiliary-files"> +<h3><a class="toc-backref" href="#toc-entry-4" role="doc-backlink">Auxiliary files</a></h3> +<dl class="simple"> +<dt><a class="reference external" href="alphabeta-lgr.def">alphabeta-lgr.def</a></dt> +<dd><p>Composite definitions for <a class="reference internal" href="#alphabeta">alphabeta</a> with 8-bit TeX.</p> +</dd> +<dt><a class="reference external" href="alphabeta-tuenc.def">alphabeta-tuenc.def</a></dt> +<dd><p>Composite definitions for <a class="reference internal" href="#alphabeta">alphabeta</a> with XeTeX/LuaTeX.</p> +</dd> +<dt><a class="reference external" href="greek-euenc.def">greek-euenc.def</a></dt> +<dd><p>Backwards compatibility file loading <a class="reference external" href="tuenc-greek.def">tuenc-greek.def</a>.</p> +</dd> +<dt><a class="reference external" href="lgr2licr.lua">lgr2licr.lua</a></dt> +<dd><p><a class="reference external" href="lgr2licr.lua.html">LGR Transcription to Greek LICR transformation</a>. +Provisional.</p> +</dd> +</dl> +<p>The source files can be converted with <a class="reference external" href="https://pypi.org/project/pylit/">PyLit</a> to <a class="reference external" href="https://docutils.sourceforge.io/rst.html">reStructuredText</a> and +with <a class="reference external" href="https://docutils.sourceforge.io/rst.html">Docutils</a> to the HTML documentation.</p> +</section> +</section> +<section id="usage-examples-and-test-documents"> +<h2><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Usage examples and test documents</a></h2> +<dl class="simple"> +<dt>LGR test and usage example</dt> +<dd><p><a class="reference external" href="test-lgrenc.tex">test-lgrenc.tex</a>, <a class="reference external" href="test-lgrenc.pdf">test-lgrenc.pdf</a></p> +</dd> +<dt>TU test and usage example</dt> +<dd><p><a class="reference external" href="test-tuenc-greek.tex">test-tuenc-greek.tex</a>, <a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a></p> +</dd> +<dt><a class="reference external" href="https://ctan.org/pkg/hyperref">Hyperref</a> test and usage example</dt> +<dd><p><a class="reference external" href="hyperref-with-greek.tex">hyperref-with-greek.tex</a>, <a class="reference external" href="hyperref-with-greek.pdf">hyperref-with-greek.pdf</a></p> +</dd> +<dt>Test LICRs with non-Greek legacy 8-bit input encoding</dt> +<dd><p><a class="reference external" href="test-licr-input.tex">test-licr-input.tex</a>, <a class="reference external" href="test-licr-input.pdf">test-licr-input.pdf</a></p> +</dd> +<dt>Greek diacritics with standard accent macros</dt> +<dd><p><a class="reference external" href="diacritics.tex">diacritics.tex</a>, <a class="reference external" href="diacritics.pdf">diacritics.pdf</a></p> +</dd> +</dl> +</section> +<section id="download-and-installation"> +<h2><a class="toc-backref" href="#toc-entry-6" role="doc-backlink">Download and Installation</a></h2> +<p>The simplest way is to install this package from your distribution using +its installation manager.</p> +<p>Alternatively:</p> +<ul class="simple"> +<li><p>Download the latest <a class="reference external" href="https://mirrors.ctan.org/language/greek/greek-fontenc.zip">release</a> from the package’s <a class="reference external" href="https://www.ctan.org/pkg/greek-fontenc">CTAN page</a> or a +<a class="reference external" href="https://codeberg.org/milde/greek-tex/archive/master.zip">snapshot</a> of the <a class="reference external" href="https://codeberg.org/milde/greek-tex/">greek-tex</a> repository.</p></li> +<li><p>Unpack the source archive to a temporary location.</p></li> +<li><p>Copy/Move/Link files ending in <span class="docutils literal">.def</span> or <span class="docutils literal">.sty</span> to a suitable place in +the TeX search path.</p></li> +</ul> +</section> +<section id="conflicts"> +<h2><a class="toc-backref" href="#toc-entry-7" role="doc-backlink">Conflicts</a></h2> +<p>The <a class="reference external" href="https://ctan.org/pkg/arabi">arabi</a> package provides the Babel <span class="docutils literal">arabic</span> option which loads +<span class="docutils literal">arabicfnt.sty</span> for font setup. This package overwrites the LICR macros +<span class="docutils literal">\omega</span> and <span class="docutils literal">\textomega</span> with font selecting commands. See the report +for Debian <a class="reference external" href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=858987">bug 858987</a> for details and the <a class="reference internal" href="#arabi-workaround">arabi workaround</a> below.</p> +</section> +<section id="usage"> +<h2><a class="toc-backref" href="#toc-entry-8" role="doc-backlink">Usage</a></h2> +<p>There are several alternatives to set up the support for a Greek font +encoding provided by this bundle, e.g.:</p> +<dl> +<dt>Babel:</dt> +<dd><p>Use the <span class="docutils literal">greek</span> option with <a class="reference external" href="https://ctan.org/pkg/babel">Babel</a>:</p> +<pre class="literal-block">\usepackage[greek]{babel}</pre> +<p>This automatically loads <span class="docutils literal">lgrenc.def</span> with 8-bit TeX and +<span class="docutils literal"><span class="pre">tuenc-greek.def</span></span> with XeTeX/LuaTeX and provides localized auto-strings, +hyphenation and other localizations (see <a class="reference external" href="https://ctan.org/pkg/babel-greek">babel-greek</a>).</p> +<p>Babel can be used together with <a class="reference internal" href="#textalpha">textalpha</a> or <a class="reference internal" href="#alphabeta">alphabeta</a>.</p> +</dd> +<dt><a class="reference internal" href="#textalpha">textalpha</a>:</dt> +<dd><p>Ensure support for Greek characters in text mode:</p> +<pre class="literal-block">\usepackage{textalpha}</pre> +<p>eventually with the <a class="reference external" href="textalpha.sty.html#normalize-symbols">normalize-symbols</a> option to handle <a class="reference internal" href="#symbol-variants">symbol variants</a> +and/or the <a class="reference external" href="textalpha.sty.html#keep-semicolon">keep-semicolon</a> option to use the <a class="reference external" href="textalpha.sty.html#semicolon-as-erotimatiko">semicolon as erotimatiko</a> +also in LGR</p> +<pre class="literal-block">\usepackage[normalize-symbols,keep-semicolon]{textalpha}</pre> +<p>This sets up LICR macros for Greek text charactes under both, 8-bit TeX +and Xe-/LuaTeX. +For details see <a class="reference external" href="textalpha-doc.tex">textalpha-doc.tex</a> and <a class="reference external" href="textalpha-doc.pdf">textalpha-doc.pdf</a> (8-bit +TeX) as well as <a class="reference external" href="test-tuenc-greek.tex">test-tuenc-greek.tex</a> and <a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a> +(XeTeX/LuaTeX).</p> +</dd> +<dt><a class="reference internal" href="#alphabeta">alphabeta</a>:</dt> +<dd><p>To use the short macro names (<span class="docutils literal">\alpha</span> … <span class="docutils literal">\Omega</span>) known from math +mode in both, text and math mode, write</p> +<pre class="literal-block">\usepackage{alphabeta}</pre> +<p>For details see <a class="reference external" href="alphabeta-doc.tex">alphabeta-doc.tex</a> and <a class="reference external" href="alphabeta-doc.pdf">alphabeta-doc.pdf</a>.</p> +</dd> +<dt>fontenc:</dt> +<dd><p>Declare LGR via <a class="reference external" href="https://ctan.org/pkg/fontenc">fontenc</a>. For example, specify T1 (8-bit +Latin) as default font encoding and LGR for Greek with</p> +<pre class="literal-block">\usepackage[LGR,T1]{fontenc}</pre> +<p>Note that without <a class="reference internal" href="#textalpha">textalpha</a> or <a class="reference internal" href="#alphabeta">alphabeta</a>, Greek text macros work +only if the current font encoding supports Greek. See <a class="citation-reference" href="#fntguide" id="citation-reference-1" role="doc-biblioref">[fntguide]</a> for +details and <a class="reference external" href="test-lgrenc.tex">test-lgrenc.tex</a> for an example.</p> +<p>It is possible to use 8-bit Greek text fonts in the LGR TeX font encoding +also with XeTeX/LuaTeX, if the <a class="reference external" href="https://ctan.org/pkg/fontenc">fontenc</a> package is loaded before +Babel, <a class="reference internal" href="#textalpha">textalpha</a>, or <a class="reference internal" href="#alphabeta">alphabeta</a>, e.g.</p> +<pre class="literal-block">\usepackage[LGR]{fontenc} +\usepackage{fontspec} +\setmainfont{Linux Libertine O} % Latin Modern does not support Greek +\setsansfont{Linux Biolinum O} +\usepackage{textalpha}</pre> +<p>See <a class="reference external" href="test-tuenc-greek.tex">test-tuenc-greek.tex</a>, <a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a> and +<a class="reference external" href="test-lgrenc.tex">test-lgrenc.tex</a>, <a class="reference external" href="test-lgrenc.pdf">test-lgrenc.pdf</a>.</p> +</dd> +</dl> +<p id="arabi-workaround">To work around the conflict with <a class="reference external" href="https://ctan.org/pkg/arabi">arabi</a>, it may suffice to ensure <span class="docutils literal">greek</span> +is loaded after <span class="docutils literal">arabic</span>:</p> +<pre class="literal-block">\usepackage[arabic,greek,english]{babel}</pre> +<p>More secure is an explicit reverse-definition, e.g.</p> +<pre class="literal-block">% save original \omega +\let\mathomega\omega + +\usepackage[utf8]{inputenc} +\usepackage[LAE,LGR,T1]{fontenc} +\usepackage[arabic,greek,english]{babel} + +% fix arabtex: +\DeclareTextSymbol{\textomega}{LGR}{119} +\renewcommand{\omega}{\mathomega}</pre> +</section> +<section id="greek-text-font-encodings"> +<h2><a class="toc-backref" href="#toc-entry-9" role="doc-backlink">Greek text font encodings</a></h2> +<p>Greek TeX font encodings are the envisaged <a class="reference internal" href="#t7">T7</a>, <a class="reference internal" href="#lgr">LGR</a>, and <a class="reference internal" href="#lgi">LGI</a>. +Greek letters and symbols are also defined in the Unicode-based font +encodings <a class="reference internal" href="#tu">TU</a>, and <a class="reference internal" href="#pu">PU</a>.</p> +<section id="t7"> +<h3><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">T7</a></h3> +<p>The <a class="citation-reference" href="#encguide" id="citation-reference-2" role="doc-biblioref">[encguide]</a> reserves the name T7 for a Greek <cite>standard font encoding</cite>. +However, up to now, there is no agreement on an implementation because the +restrictions for general text encodings are too severe for typesetting +polytonic Greek.</p> +</section> +<section id="lgr"> +<h3><a class="toc-backref" href="#toc-entry-11" role="doc-backlink">LGR</a></h3> +<p>The LGR font encoding is the de-facto standard for typesetting Greek with +(8-bit) LaTeX. <cite>greek-fontenc</cite> provides a comprehensive <a class="reference internal" href="#lgr-font-encoding-definition-file">LGR font +encoding definition file</a>.</p> +<p>Fonts in this encoding include the <a class="reference external" href="https://ctan.org/pkg/cbgreek-complete">CB fonts</a> (matching CM), <a class="reference external" href="https://ctan.org/pkg/grtimes">grtimes</a> +(Greek Times), <a class="reference external" href="https://ctan.org/pkg/kerkis">Kerkis</a> (matching URW Bookman), <a class="reference external" href="https://ctan.org/pkg/dejavu">DejaVu</a>, <a class="reference external" href="https://ctan.org/pkg/libertinegc">Libertine GC</a>, and +the <a class="reference external" href="https://ctan.org/pkg/gfs">GFS fonts</a>. Setup of these fonts as Greek variant to +matching Latin fonts is facilitated by the <a class="reference external" href="https://ctan.org/pkg/substitutefont">substitutefont</a> package.</p> +<p>The LGR font encoding allows to access Greek characters via an ASCII +transliteration. This enables simple input with a Latin keyboard. +Characters with diacritics can be selected by ligature definitions in the +font (see <a class="citation-reference" href="#greek-usage" id="citation-reference-3" role="doc-biblioref">[greek-usage]</a>, <a class="citation-reference" href="#teubner-doc" id="citation-reference-4" role="doc-biblioref">[teubner-doc]</a>, <a class="citation-reference" href="#cbfonts" id="citation-reference-5" role="doc-biblioref">[cbfonts]</a>).</p> +<p>A major drawback of the transliteration is, that you cannot access Latin +letters if LGR is the active font encoding (e.g. in documents or parts of +documents given the <cite>Babel</cite> language <span class="docutils literal">greek</span> or <span class="docutils literal">polutionikogreek</span>). +This means that for every Latin-written word or acronym an explicit +language-switch is required. This problem can only be solved via a +font-encoding comprising Latin and Greek like the envisaged <a class="reference internal" href="#t7">T7</a> or +Unicode (with XeTeX or LuaTeX).</p> +</section> +<section id="lgi"> +<h3><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">LGI</a></h3> +<p>The ‘Ibycus’ fonts from the package <a class="reference external" href="https://ctan.org/pkg/ibygrk">ibygrk</a> implement an alternative +transliteration scheme (also explained in <a class="citation-reference" href="#babel-patch" id="citation-reference-6" role="doc-biblioref">[babel-patch]</a>). +It is currently not supported by <cite>greek-fontenc</cite>.</p> +<p>The font encoding file <span class="docutils literal">lgienc.def</span> from <a class="reference external" href="https://ctan.org/pkg/ibycus-babel">ibycus-babel</a> provides a basic +setup (without any LICR macros or composite definitions).</p> +</section> +<section id="tu"> +<h3><a class="toc-backref" href="#toc-entry-13" role="doc-backlink">TU</a></h3> +<p>Standard Unicode font encoding for XeTeX and LuaTeX loaded by <a class="reference external" href="https://ctan.org/pkg/fontspec">fontspec</a> +(since v2.5a) rsp. the LaTeX kernel since 2017/01/01 <a class="citation-reference" href="#ltnews26" id="citation-reference-7" role="doc-biblioref">[ltnews26]</a>. +<cite>greek-fontenc</cite> adds support for the Greek script (see <a class="reference internal" href="#tuenc-greek">tuenc-greek</a>).</p> +<p>Xe/LuaTeX works with any system-wide installed <a class="reference external" href="https://ctan.org/topic/font-otf">OpenType font</a>. Suitable +fonts supporting Greek include <a class="reference external" href="https://ctan.org/pkg/cm-unicode">CM Unicode</a>, <a class="reference external" href="http://dejavu-fonts.org">Deja Vu</a>, <a class="reference external" href="https://ctan.org/pkg/ebgaramond">EB Garamond</a>, +the <a class="reference external" href="https://ctan.org/pkg/gfs">GFS fonts</a>, <a class="reference external" href="https://ctan.org/pkg/libertineotf">Libertine OTF</a>, <a class="reference external" href="https://ctan.org/pkg/libertinus">Libertinus</a>, <a class="reference external" href="https://ctan.org/pkg/oldstandard">Old Standard</a>, +<a class="reference external" href="https://ctan.org/pkg/tempora">Tempora</a>, and <a class="reference external" href="https://ctan.org/pkg/umtypewriter">UM Typewriter</a> (all available on CTAN) but also many commercial +fonts. Unfortunately, the <a class="reference external" href="https://ctan.org/pkg/fontspec">fontspec</a> default, <a class="reference external" href="http://www.gust.org.pl/projects/e-foundry/latin-modern">Latin Modern</a> misses most +Greek characters.</p> +<p>Older versions of LuaTeX did not apply the NFC normalization. This lead to +suboptimal placing of some diactritics, especially the sub-iota (becoming +unintelligable in combination with small letter eta). This issue if fixed +since at least 2022.</p> +<p>The legacy Unicode font encodings EU1 and EU2 for XeTeX and LuaTeX +respectively were superseded by TU in the 2017 <a class="reference external" href="https://ctan.org/pkg/fontspec">fontspec</a> release.</p> +</section> +<section id="pu"> +<h3><a class="toc-backref" href="#toc-entry-14" role="doc-backlink">PU</a></h3> +<p>The package <a class="reference external" href="https://ctan.org/pkg/hyperref">hyperref</a> defines the PU font encoding for use in PDF strings +(ToC, bookmarks) which supports monotonic Greek. <cite>greek-fontenc</cite> adds +support for polytonic Greek and some archaic characters also supported in +LGR and TU (see <a class="reference external" href="hyperref-with-greek.tex">hyperref-with-greek.tex</a>, <a class="reference external" href="hyperref-with-greek.pdf">hyperref-with-greek.pdf</a>).</p> +</section> +</section> +<section id="greek-licr-macro-names"> +<h2><a class="toc-backref" href="#toc-entry-15" role="doc-backlink">Greek LICR macro names</a></h2> +<aside class="admonition note"> +<p class="admonition-title">Note</p> +<p>The LICR macro names for Greek symbols are chosen pending +endorsement by the TeX community and related packages.</p> +<p>Names for archaic characters, accents/diacritics, and +punctuation may change in future versions.</p> +</aside> +<p>This bundle provides LaTeX internal character representations (LICR macros) +for Greek letters and diacritics. Macro names were selected based on the +following considerations:</p> +<section id="letters-and-symbols"> +<h3><a class="toc-backref" href="#toc-entry-16" role="doc-backlink">letters and symbols</a></h3> +<ul> +<li><p>The <a class="reference internal" href="#fntguide">fntguide</a> (section 6.4 Naming conventions) recommends:</p> +<blockquote> +<p>Where possible, text symbols should be named as <span class="docutils literal">\text</span> followed +by the <strong>Adobe glyph name</strong>: for example <span class="docutils literal">\textonequarter</span> or +<span class="docutils literal">\textsterling</span>. Similarly, math symbols should be named as +<span class="docutils literal">\math</span> followed by the glyph name, for example +<span class="docutils literal">\mathonequarter</span> or <span class="docutils literal">\mathsterling</span>.</p> +</blockquote> +<dl class="simple"> +<dt>Problem:</dt> +<dd><p>The <a class="reference external" href="http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/aglfn.txt">Adobe Glyph List For New Fonts</a> has names for many glyphs in the +<cite>Greek and Coptic</cite> Unicode block, but not for <cite>Greek extended</cite>. The +<a class="reference external" href="http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/glyphlist.txt">Adobe Glyph List</a> (for existing fonts) lists additional glyph names +used in older fonts. However, these are not intended for active use.</p> +</dd> +</dl> +</li> +<li><p>If there exists a <strong>math-mode macro</strong> for a symbol, the corresponding text +macro could be formed by prepending <span class="docutils literal">text</span>.</p> +<dl class="simple"> +<dt>Example:</dt> +<dd><p>The glyph name for the GREEK SMALL LETTER FINAL SIGMA is <span class="docutils literal">sigma1</span>, +the corresponding math-macro is <span class="docutils literal">\varsigma</span>. The text symbol is +made available as <span class="docutils literal">\textvarsigma</span>.</p> +</dd> +<dt>Problem:</dt> +<dd><p><a class="reference internal" href="#symbol-variants">Symbol variants</a> (see below).</p> +</dd> +</dl> +</li> +<li><p>The <a class="reference external" href="http://www.unicode.org/Public/UNIDATA/NamesList.txt">Unicode names list</a> provides standardized descriptive names for all +Unicode characters that use only capital letters of the Latin alphabet. +While not suited for direct use in LICR macros, they can be either</p> +<ol class="lowerroman simple"> +<li><p>used as inspiration for new LICR macro names or</p></li> +<li><p>converted to LICR macro names via a defined set of transformation rules.</p></li> +</ol> +<dl class="simple"> +<dt>Example:</dt> +<dd><p><span class="docutils literal">\textfinalsigma</span> is a descriptive alias for +GREEK SMALL LETTER FINAL SIGMA derived via the rules:</p> +<ul class="simple"> +<li><p>drop “LETTER” if the name remains unique,</p></li> +<li><p>drop “GREEK” if the name remains unique,</p></li> +<li><p>use capitalized name for capital letters, lowercase for “SMALL” letters +and drop “SMALL”,</p></li> +<li><p>concatenate</p></li> +</ul> +</dd> +</dl> +</li> +<li><p>Omit the “text” prefix for macros that do not have a math counterpart?</p> +<dl class="simple"> +<dt>Pro:</dt> +<dd><ul class="simple"> +<li><p>Simpler,</p></li> +<li><p>ease of use (less typing, better readability of source text),</p></li> +<li><p>many established text macro names without “text”,</p></li> +<li><p><span class="docutils literal">text</span> prefix does <strong>not</strong> mark a macro as encoding-specific or +“inserting a glyph”. There are e.g. font-changing macros (<span class="docutils literal">\textbf</span>, +<span class="docutils literal">\textit</span>) and encoding-changing macros (<span class="docutils literal">\textcyr</span>).</p></li> +<li><p>There are examples of encoding-specific macros +without the <span class="docutils literal">text</span>-prefix, especially for letters, see <a class="reference internal" href="#encguide">encguide</a>.</p></li> +</ul> +</dd> +<dt>Contra:</dt> +<dd><ul class="simple"> +<li><p>Less consistent,</p></li> +<li><p>possible name clashes</p></li> +<li><p><span class="docutils literal">text</span> prefix marks a macro as confined to text (as opposed to math) +mode,</p></li> +</ul> +</dd> +</dl> +<p>The font encoding definition files use the <span class="docutils literal">text</span> prefix for symbols. +Aliases (short forms, compatibility defs, etc.) are defined in +additional packages (e.g. <a class="reference external" href="alphabeta.sty">alphabeta.sty</a>, <a class="reference external" href="https://ctan.org/pkg/babel-greek">babel-greek</a>, or <a class="reference external" href="https://ctan.org/pkg/teubner">teubner</a>)</p> +</li> +</ul> +</section> +<section id="accent-macros"> +<h3><a class="toc-backref" href="#toc-entry-17" role="doc-backlink">accent macros</a></h3> +<ul> +<li><p>standard accent macros (<span class="docutils literal">\DeclareTextAccent</span> definitions in +<span class="docutils literal"><span class="pre">latex/base/...</span></span>) are one-character macros (<span class="docutils literal">\' \" ... \u \v ...</span>) .</p></li> +<li><p><span class="docutils literal">tipa.sty</span>, <a class="reference external" href="https://ctan.org/pkg/xunicode">xunicode</a>, and <a class="reference external" href="https://ctan.org/pkg/unicode">ucs</a> use the “text” prefix also for accents.</p> +<p>However, the <a class="reference external" href="http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/aglfn.txt">Adobe Glyph List For New Fonts</a> maps, e.g., “tonos” and +“dieresistonos” to the spacing characters GREEK TONOS and GREEK DIALYTIKA +TONOS, hence <cite>texttonos</cite> and <cite>textdiaresistonos</cite> should be spacing +characters.</p> +</li> +<li><p>textcomp (ts1enc.def) defines <span class="docutils literal"><span class="pre">\capital...</span></span> accents (i.e. without +<span class="docutils literal">text</span> prefix).</p></li> +</ul> +<p>Currently, <cite>greek-fontenc</cite> uses for diacritics:</p> +<ul class="simple"> +<li><p>Greek names like in Unicode, and <span class="docutils literal">ucsencs.def</span>, and</p></li> +<li><p>the prefix <span class="docutils literal">\acc</span> to distinguish the macros as <cite>TextAaccent</cite> and +reduce the risc of name clashes with spacing characters.</p></li> +</ul> +<p>For the end-user “symbol macros” (<span class="docutils literal">\~ \' \` \" \"' \"` ...</span>) are +provided. (With <a class="reference internal" href="#textalpha">textalpha</a> or <a class="reference internal" href="#alphabeta">alphabeta</a> also <span class="docutils literal">\<</span> and <span class="docutils literal">\></span> for +<span class="docutils literal">\accdasia</span> and <span class="docutils literal">\accpsili</span>.)</p> +</section> +<section id="symbol-variants"> +<h3><a class="toc-backref" href="#toc-entry-18" role="doc-backlink">symbol variants</a></h3> +<p>Mathematical notation distinguishes variant shapes for beta (β|ϐ), +theta (θ|ϑ), phi (φ|ϕ), pi (π|ϖ), kappa (κ|ϰ), rho (ρ|ϱ), Theta (Θ|ϴ), +and epsilon (ε|ϵ).</p> +<p>The variations have no syntactic meaning in Greek text and Greek text +fonts use the shape variants indiscriminately (cf. <a class="reference external" href="http://en.wikipedia.org/wiki/Greek_alphabet#Glyph_variants">glyph variants</a>). +The variant shapes are not given separate code-points in the <a class="reference internal" href="#lgr">LGR</a> text +font encoding.</p> +<p>In mathematical mode, TeX supports the alternative glyph variants with +<span class="docutils literal">\var<lettername></span> macros (variant macros for ϴ, ϐ, and ϰ require +additional packages).</p> +<p>Unicode defines separate code points for the symbol variants for use in +mathematical context.<a class="footnote-reference superscript" href="#footnote-3" id="footnote-reference-3" role="doc-noteref"><span class="fn-bracket">[</span>3<span class="fn-bracket">]</span></a> Unfortunately, the mapping between Unicode’s +letter/symbol distinction and “normal”/variant in TeX is inconsistent.</p> +<p><cite>greek-fontenc</cite> provides <span class="docutils literal">\text<lettername>symbol</span> LICR macros for the +Greek symbol characters:</p> +<ul> +<li><p>With Unicode fonts, the macros select the GREEK <lettername> SYMBOL``.</p></li> +<li><p>With LGR encoded fonts, they report an error by default.</p> +<p>With the <span class="docutils literal"><span class="pre">normalize-symbols</span></span> option of <a class="reference internal" href="#textalpha">textalpha</a> and <a class="reference internal" href="#alphabeta">alphabeta</a>, +they are mapped to the corresponding letter (loosing the distinction +between the shape variants).</p> +</li> +</ul> +<p>The <a class="reference internal" href="#alphabeta">alphabeta</a> package provides <span class="docutils literal">\<lettername></span>, <span class="docutils literal">\var<lettername></span>, +and <span class="docutils literal">\<lettername>symbol</span> in both, text and math mode (cf. Table 1 in +<a class="reference external" href="alphabeta-doc-tu.pdf">alphabeta-doc-tu.pdf</a>).</p> +<aside class="footnote-list superscript"> +<aside class="footnote superscript" id="footnote-3" role="doc-footnote"> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#footnote-reference-3">3</a><span class="fn-bracket">]</span></span> +<p>However, they are sometimes also used in place of the +corresponding letter characters in Unicode-encoded text.</p> +</aside> +</aside> +</section> +</section> +<section id="changelog"> +<h2><a class="toc-backref" href="#toc-entry-19" role="doc-backlink">Changelog</a></h2> +<dl class="simple"> +<dt>0.9 (2013-07-03)</dt> +<dd><ul class="simple"> +<li><p><span class="docutils literal"><span class="pre">greek-fontenc.def</span></span> “outsourced” from <span class="docutils literal">lgrxenc.def</span></p></li> +<li><p>experimental LICRs for XeTeX/LuaTeX.</p></li> +</ul> +</dd> +<dt>0.9.1 (2013-07-18)</dt> +<dd><ul class="simple"> +<li><p>Bugfix: wrong breathings psilioxia -> dasiaoxia.</p></li> +</ul> +</dd> +<dt>0.9.2 (2013-07-19)</dt> +<dd><ul class="simple"> +<li><p>Bugfix: Disable composite defs starting with char macro,</p></li> +<li><p>Fix “hiatus” handling.</p></li> +</ul> +</dd> +<dt>0.9.3 (2013-07-24)</dt> +<dd><ul class="simple"> +<li><p>Fix path for <span class="docutils literal">\input</span> of <span class="docutils literal"><span class="pre">greek-fontenc.def</span></span>.</p></li> +</ul> +</dd> +<dt>0.9.4 (2013-09-10)</dt> +<dd><ul class="simple"> +<li><p><span class="docutils literal"><span class="pre">greek-fontenc.sty</span></span>: Greek text font encoding setup package.</p></li> +<li><p>remove <span class="docutils literal"><span class="pre">xunicode-greek.sty</span></span>.</p></li> +</ul> +</dd> +<dt>0.10 (2013-09-13)</dt> +<dd><ul class="simple"> +<li><p><a class="reference internal" href="#textalpha">textalpha</a> and <a class="reference internal" href="#alphabeta">alphabeta</a> moved here from lgrx and updated to work +with XeTeX/LuaTeX.</p></li> +<li><p><span class="docutils literal"><span class="pre">greek-fontenc.sty</span></span> removed (obsoleted by <a class="reference internal" href="#textalpha">textalpha</a>).</p></li> +</ul> +</dd> +<dt>0.10.1 (2013-10-01)</dt> +<dd><ul class="simple"> +<li><p>Bugfix in <span class="docutils literal"><span class="pre">greek-euenc.def</span></span> and <span class="docutils literal"><span class="pre">alphabeta-euenc.def</span></span>.</p></li> +</ul> +</dd> +<dt>0.11 (2013-11-28)</dt> +<dd><ul class="simple"> +<li><p>Compatibility with Xe/LuaTeX in 8-bit mode.</p></li> +<li><p><span class="docutils literal">\greekscript</span> <em>TextCommand</em> (cf. <a class="citation-reference" href="#encguide" id="citation-reference-8" role="doc-biblioref">[encguide]</a>).</p></li> +</ul> +</dd> +<dt>0.11.1 (2013-12-01)</dt> +<dd><ul class="simple"> +<li><p>Fix identification of <span class="docutils literal"><span class="pre">greek-euenc.def</span></span>.</p></li> +</ul> +</dd> +<dt>0.11.2 (2014-09-04)</dt> +<dd><ul class="simple"> +<li><p>Documentation update, remove duplicate code.</p></li> +</ul> +</dd> +<dt>0.12 (2014-12-25)</dt> +<dd><ul class="simple"> +<li><p>Fix auxiliary macro names in <a class="reference internal" href="#textalpha">textalpha</a>.</p></li> +<li><p>Conservative naming: move definition of <span class="docutils literal">\<</span> and <span class="docutils literal">\></span> from +<span class="docutils literal"><span class="pre">greek-fontenc.def</span></span> to <span class="docutils literal">textalpha.sty</span> (Bugreport David Kastrup).</p></li> +</ul> +</dd> +<dt>0.13 (2015-09-04)</dt> +<dd><ul class="simple"> +<li><p>Support for <a class="reference internal" href="#symbol-variants">symbol variants</a>,</p></li> +<li><p><span class="docutils literal"><span class="pre">keep-semicolon</span></span> option in <a class="reference internal" href="#textalpha">textalpha</a>,</p></li> +<li><p><span class="docutils literal">\lccode</span>/<span class="docutils literal">\uccode</span> corrections for Unicode +(from Apostolos Syropoulos’ <a class="reference external" href="https://ctan.org/pkg/xgreek">xgreek</a>) in greek-euenc.</p></li> +<li><p>Do not convert <span class="docutils literal">\ypogegrammeni</span> to <span class="docutils literal">\prosgegrammeni</span> +with <span class="docutils literal">\MakeUppercase</span>.</p></li> +</ul> +</dd> +<dt>0.13.1 (2015-12-07)</dt> +<dd><ul class="simple"> +<li><p>Fix <a class="reference external" href="http://tex.stackexchange.com/questions/281631/greek-small-rho-with-dasia-and-also-psili-problem-with-accent-and-lgr-encodin">rho with dasia bug</a> in lgrenc.def (Linus Romer).</p></li> +</ul> +</dd> +<dt>0.13.2 (2016-02-05)</dt> +<dd><ul class="simple"> +<li><p>Support for standard Unicode text font encoding “TU” +(new in fontspec v2.5a).</p></li> +</ul> +</dd> +<dt>0.13.3 (2019-07-10)</dt> +<dd><ul class="simple"> +<li><p>Drop error font declaration (cf. <a class="reference external" href="https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex%2F4399&search=">ltxbugs 4399</a>).</p></li> +</ul> +</dd> +<dt>0.13.4 (2019-07-11)</dt> +<dd><ul class="simple"> +<li><p>“Lowercase” <span class="docutils literal">\prosgegrammeni</span> -> <span class="docutils literal">\ypogegrammeni</span> +but not vice versa.</p></li> +</ul> +</dd> +<dt>0.14 (2020-02-28)</dt> +<dd><ul class="simple"> +<li><p>Rename <span class="docutils literal"><span class="pre">greek-euenc</span></span> to <span class="docutils literal"><span class="pre">tuenc-greek</span></span>.</p></li> +<li><p>Use <span class="docutils literal">\UTFencoding</span> instead of <span class="docutils literal">\LastDeclaredEncoding</span>.</p></li> +</ul> +</dd> +<dt>1.0 (2020-09-25)</dt> +<dd><ul class="simple"> +<li><p>Bugfix in <a class="reference internal" href="#textalpha">textalpha</a>: Let <span class="docutils literal">\greekscript</span> set <span class="docutils literal">\encodingdefault</span>.</p></li> +<li><p><span class="docutils literal">\textKoppa</span> as alias for <span class="docutils literal">\textkoppa</span> in LGR.</p></li> +</ul> +</dd> +<dt>2.0 (2020-10-30)</dt> +<dd><ul class="simple"> +<li><p>Move common alias definitions to <span class="docutils literal"><span class="pre">greek-fontenc.def</span></span>.</p></li> +<li><p><a class="reference internal" href="#textalpha">textalpha</a> loads TU with Xe/LuaTeX by default and provides +<span class="docutils literal">\textmicro</span> and LICR macros for archaic symbols from the +“Greek and Coptic” Unicode block.</p></li> +<li><p>Use <span class="docutils literal">\UnicodeEncodingName</span> (by the LaTeX kernel) instead of +<span class="docutils literal">\UTFencname</span> for the Unicode font encoding name.</p></li> +<li><p>Replace utf8 literals in <span class="docutils literal"><span class="pre">tuenc-greek.def</span></span>.</p></li> +<li><p>New file <span class="docutils literal"><span class="pre">puenc-greek.def</span></span>: setup for PU encoding defined by +<a class="reference external" href="https://ctan.org/pkg/hyperref">hyperref</a> for PDF strings.</p></li> +<li><p>Don’t use <span class="docutils literal">\textcompwordmark</span> as base in accent commands.</p></li> +</ul> +</dd> +<dt>2.1 (2022-06-14)</dt> +<dd><ul class="simple"> +<li><p>Support the correct spelling <span class="docutils literal">\guillemet…</span> for « and ». +See <a class="reference external" href="https://github.com/latex3/latex2e/issues/65">https://github.com/latex3/latex2e/issues/65</a></p></li> +</ul> +</dd> +<dt>2.2 (2023-02-28)</dt> +<dd><ul class="simple"> +<li><p>Use correct glyph for <span class="docutils literal">\textanoteleia</span> (middle dot) in LGR.</p></li> +<li><p>Test and add composite commands for combinations that are not +converted to pre-composed characters.</p></li> +<li><p>Don’t use <span class="docutils literal">\makeatother</span> in <span class="docutils literal">\AtBeginDocument</span>.</p></li> +<li><p>Skip <span class="docutils literal">\uccode</span> fixes when ignored by <span class="docutils literal">\MakeUppercase</span>.</p></li> +<li><p>Various small fixes and documentation update.</p></li> +</ul> +</dd> +</dl> +</section> +<section id="references"> +<h2><a class="toc-backref" href="#toc-entry-20" role="doc-backlink">References</a></h2> +<p>An alternative, more complete set of short mnemonic character names is +the <a class="reference external" href="http://www.w3.org/TR/xml-entity-names/">XML Entity Definitions for Characters</a> W3C Recommendation from +01 April 2010.</p> +<p>For glyph names of the LGR encoding see, e.g., <span class="docutils literal">CB.enc</span> by Apostolos +Syropoulos and <span class="docutils literal"><span class="pre">xl-lgr.enc</span></span> from the <a class="reference external" href="https://ctan.org/pkg/libertine-legacy">libertine</a> (legacy) package. +<span class="docutils literal">lgr.cmap</span> provides a mapping to Unicode characters.</p> +<p>A full set of <span class="docutils literal">\text*</span> symbol macros is defined in <span class="docutils literal">ucsencs.def</span> +from the <a class="reference external" href="https://ctan.org/pkg/unicode">ucs</a> package.</p> +<div role="list" class="citation-list"> +<div class="citation" id="babel-patch" role="doc-biblioentry"> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-6">babel-patch</a><span class="fn-bracket">]</span></span> +<p>Werner Lemberg, <cite>Unicode support for the Greek LGR +encoding</cite> Εὔτυπον, τεῦχος № 20, 2008. +<a class="reference external" href="http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf">http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf</a></p> +</div> +<div class="citation" id="cbfonts" role="doc-biblioentry"> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-5">cbfonts</a><span class="fn-bracket">]</span></span> +<p>Claudio Beccari, <cite>The CB Greek fonts</cite>, Εὔτυπον, τεῦχος № 21, 2008. +<a class="reference external" href="http://www.eutypon.gr/eutypon/pdf/e2008-21/e21-a01.pdf">http://www.eutypon.gr/eutypon/pdf/e2008-21/e21-a01.pdf</a></p> +</div> +<div class="citation" id="encguide" role="doc-biblioentry"> +<span class="label"><span class="fn-bracket">[</span>encguide<span class="fn-bracket">]</span></span> +<span class="backrefs">(<a role="doc-backlink" href="#citation-reference-2">1</a>,<a role="doc-backlink" href="#citation-reference-8">2</a>)</span> +<p>Frank Mittelbach, Robin Fairbairns, Werner Lemberg, +LaTeX3 Project Team, <cite>LaTeX font encodings</cite>. +<a class="reference external" href="https://mirrors.ctan.org/macros/latex/base/encguide.pdf">https://mirrors.ctan.org/macros/latex/base/encguide.pdf</a></p> +</div> +<div class="citation" id="fntguide" role="doc-biblioentry"> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-1">fntguide</a><span class="fn-bracket">]</span></span> +<p>LaTeX3 Project Team, <cite>LaTeX2ε font selection</cite>. +<a class="reference external" href="https://mirrors.ctan.org/macros/latex/base/fntguide.pdf">https://mirrors.ctan.org/macros/latex/base/fntguide.pdf</a></p> +</div> +<div class="citation" id="greek-usage" role="doc-biblioentry"> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-3">greek-usage</a><span class="fn-bracket">]</span></span> +<p>Apostolos Syropoulos, <cite>Writing Greek with the greek option +of the babel package</cite>, 1997. +<a class="reference external" href="https://mirrors.ctan.org/language/babel/contrib/greek/usage.pdf">https://mirrors.ctan.org/language/babel/contrib/greek/usage.pdf</a></p> +</div> +<div class="citation" id="ltnews26" role="doc-biblioentry"> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-7">ltnews26</a><span class="fn-bracket">]</span></span> +<p>LaTeX Project Team, <cite>LaTeX News</cite> Issue 26, January 2017. +<a class="reference external" href="https://www.latex-project.org/news/latex2e-news/ltnews26.pdf">https://www.latex-project.org/news/latex2e-news/ltnews26.pdf</a></p> +</div> +<div class="citation" id="teubner-doc" role="doc-biblioentry"> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-4">teubner-doc</a><span class="fn-bracket">]</span></span> +<p>Claudio Beccari, <span class="docutils literal">teubner.sty</span> +<cite>An extension to the greek option of the babel package</cite>, 2011. +<a class="reference external" href="https://mirrors.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf">https://mirrors.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf</a></p> +</div> +</div> +</section> +</main> +</body> +</html> diff --git a/language/greek/greek-fontenc/README b/language/greek/greek-fontenc/greek-fontenc-doc.rst index 7262bc58df..0ff78e7238 100644 --- a/language/greek/greek-fontenc/README +++ b/language/greek/greek-fontenc/greek-fontenc-doc.rst @@ -1,159 +1,92 @@ +************* greek-fontenc -############# +************* Greek font encoding definition files -************************************ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -:Author: Günter Milde -:Copyright: © 2010 -- 2022 Günter Milde <milde@users.sf.net> +:Version: 2.2 (changelog_) + +:Copyright: © 2010 -- 2023 Günter Milde <milde@users.sf.net> :Licence: This work may be distributed and/or modified under the conditions of the `LaTeX Project Public License`_, either version 1.3 of this license or any later version. -:Abstract: `LaTeX internal character representation` (LICR) macros are a - verbose but failsafe 7-bit ASCII encoding that works unaltered - under both, 8-bit TeX and XeTeX/LuaTeX. Use cases are macro - definitions and generated text - - This bundle provides LICR macros for characters from the - Greek script and encoding definition files for - `Greek text font encodings`_ for use with fontenc_ (8-bit TeX) - or fontspec_ (XeTeX/LuaTeX). - - Included are also the LaTeX packages textalpha_ and alphabeta_. - -.. contents:: - -Changelog -========= +:Homepage: https://codeberg.org/milde/greek-tex -.. class:: borderless - -====== =========== =========================================================== -0.9 2013-07-03 greek-fontenc.def_ "outsourced" from lgrxenc.def -.. experimental files xunicode-greek.sty and - greek-euenc.def: LICRs for XeTeX/LuaTeX. -0.9.1 2013-07-18 Bugfix: wrong breathings psilioxia -> dasiaoxia. -0.9.2 2013-07-19 Bugfix: Disable composite defs starting with char macro, -.. fix "hiatus" handling. -0.9.3 2013-07-24 Fix "input" path in xunicode-greek and greek-euenc.def. -0.9.4 2013-09-10 greek-fontenc.sty: Greek text font encoding setup package, -.. remove xunicode-greek.sty. -0.10 2013-09-13 textalpha.sty_ and alphabeta.sty_ moved here from lgrx and - updated to work with XeTeX/LuaTeX. -.. greek-fontenc.sty removed (obsoleted by textalpha.sty). -0.10.1 2013-10-01 Bugfix in greek-euenc.def and alphabeta-euenc.def. -0.11 2013-11-28 Compatibility with Xe/LuaTeX in 8-bit mode, -.. ``\greekscript`` TextCommand. -0.11.1 2013-12-01 Fix identification of ``greek-euenc.def``. -0.11.2 2014-09-04 Documentation update, remove duplicate code. -0.12 2014-12-25 Fix auxiliary macro names in `textalpha`. -.. Conservative naming: move definition of ``\<`` and ``\>`` - from ``greek-fontenc.def`` to ``textalpha.sty`` - (Bugreport David Kastrup). - Documentation update. -0.13 2015-09-04 Support for `symbol variants`_, -.. ``keep-semicolon`` option in textalpha_, -.. ``\lccode``/``\uccode`` corrections for Unicode - (from Apostolos Syropoulos’ xgreek_) in greek-euenc, -.. Do not convert ``\ypogegrammeni`` to ``\prosgegrammeni`` - with ``\MakeUppercase``. -0.13.1 2015-12-07 Fix `rho with dasia bug`__ in lgrenc.def (Linus Romer). -0.13.2 2016-02-05 Support for standard Unicode text font encoding "TU" - (new in fontspec v2.5a). -0.13.3 2019-07-10 Drop error font declaration (cf. `ltxbugs 4399`_). -0.13.4 2019-07-11 ``@uclclist`` entry for ``\prosgegrammeni``. -.. Documentation update. -0.14 2020-02-28 Update test for Unicode fonts. - Rename ``greek-euenc`` to ``tuenc-greek``. -.. Use ``\UTFencoding`` instead of ``\LastDeclaredEncoding``. -1.0 2020-09-25 Bugfix in textalpha_: Let ``\greekscript`` set - ``\encodingdefault``. -.. ``\textKoppa`` as alias for ``\textkoppa`` in LGR. -.. Update URLs. -2.0 2020-10-30 Move common alias definitions to ``greek-fontenc.def``. -.. `textalpha`_ loads TU with Xe/LuaTeX by default and - provides ``\textmicro`` and LICR macros for archaic - symbols from the Greek and Coptic Unicode block. -.. Use ``\UnicodeEncodingName`` (by the LaTeX kernel) instead - of ``\UTFencname`` for the Unicode font encoding name. -.. Replace utf8 literals in ``tuenc-greek.def``. -.. New file puenc-greek.def: setup for PU encoding - (defined by hyperref_ for PDF strings). -.. Don't use ``\textcompwordmark`` as base in accent commands. -.. Documentation update. -2.1 2022-06-14 Support the correct spelling ``\guillemet…`` for « and ». - See https://github.com/latex3/latex2e/issues/65 -====== =========== =========================================================== +:Latest Release: https://ctan.org/pkg/greek-fontenc -__ http://tex.stackexchange.com/questions/281631/greek-small-rho-with-dasia-and-also-psili-problem-with-accent-and-lgr-encodin -.. _ltxbugs 4399: - https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex%2F4399&search= +:Abstract: The `greek-fontenc` bundle provides LICR [#]_ macros + for characters from the Greek script and encoding + definition files for `Greek text font encodings`_. + Included are also the LaTeX packages textalpha_ and alphabeta_. -TeX files -========= +.. [#] `LaTeX internal character representation` (LICR) macros can + serve as a human readable 7-bit-ASCII character encoding that + works unaltered under both, 8-bit TeX and XeTeX/LuaTeX. + Use cases are macro definitions and generated text. -`<lgrenc.def>`_ - `LGR Greek font encoding definitions <lgrenc.def.html>`_. +.. contents:: - This file is the successor of the basic LGR encoding definition file which - comes with babel_'s Greek support and the now obsolete lgrx_ bundle. - .. _tuenc-greek: +TeX files and packages +====================== -`<tuenc-greek.def>`_ - `Font setup for Greek with XeTeX/LuaTeX <tuenc-greek.def.html>`_. +Packages +-------- -`<puenc-greek.def>`_ - `Greek LICR definitions for PDF strings <puenc-greek.def.html>`_. +.. _textalpha: -`<greek-fontenc.def>`_ - `Common Greek font encoding definitions <greek-fontenc.def.html>`_. +`<textalpha.sty>`_: `Greek symbols in text <textalpha.sty.html>`_ + Use ``\textalpha`` ... ``\textOmega`` or Greek literal characters [#]_ + independent of font encoding and TeX engine. [textalpha-doc.pdf_] - .. _LGR font encoding definition file: + .. _alphabeta: -`<greek-euenc.def>`_ - Backwards compatibility file loading tuenc-greek_. +`<alphabeta.sty>`_: `Greek symbols in text and math <alphabeta.sty.html>`_ + Use ``\alpha`` ... ``\Omega`` independent of text/math mode, + font encoding, and TeX engine. [alphabeta-doc.pdf_] - .. _textalpha: +.. [#] requires greek-inputenc_ -`<textalpha.sty>`_ - `Greek symbols in text <textalpha.sty.html>`_ +Font encoding definitions +------------------------- - Use ``\textalpha`` ... ``\textOmega`` independent of font encoding and TeX - engine. +.. _LGR font encoding definition file: - .. _alphabeta: +`<greek-fontenc.def>`_ + `Common Greek font encoding definitions <greek-fontenc.def.html>`_ -`<alphabeta.sty>`_ - `Greek symbols in text and math <alphabeta.sty.html>`_. +`<lgrenc.def>`_ + `LGR Greek font encoding definitions. <lgrenc.def.html>`_ - Use ``\alpha`` ... ``\Omega`` independent of text/math mode, font - encoding, and TeX engine. + .. _tuenc-greek: +`<tuenc-greek.def>`_ + `Extended Greek definitions for the TU font encoding <tuenc-greek.def.html>`_ - `<alphabeta-lgr.def>`_ - `Composite definitions for 8-bit TeX. <alphabeta-lgr.def.html>`_. +`<puenc-greek.def>`_ + `Extended Greek definitions for PDF strings <puenc-greek.def.html>`_ - `<alphabeta-tuenc.def>`_ - `Composite definitions with XeTeX/LuaTeX. <alphabeta-tuenc.def.html>`_. +Auxiliary files +--------------- +`<alphabeta-lgr.def>`_ + Composite definitions for alphabeta_ with 8-bit TeX. +`<alphabeta-tuenc.def>`_ + Composite definitions for alphabeta_ with XeTeX/LuaTeX. +`<greek-euenc.def>`_ + Backwards compatibility file loading tuenc-greek.def_. +`<lgr2licr.lua>`_ + `LGR Transcription to Greek LICR transformation <lgr2licr.lua.html>`_. + Provisional. -Literate source files were converted with PyLit_ to reStructuredText_ and +The source files can be converted with PyLit_ to reStructuredText_ and with Docutils_ to the HTML documentation. -Documentation and test documents -================================ - -Overview: - `<README>`__, `<greek-fontenc.html>`_ - -textalpha_ package documentation: - `<textalpha-doc.tex>`__, `<textalpha-doc.pdf>`_, `<textalpha-tu.pdf>`_ - -alphabeta_ package documentation: - `<alphabeta-doc.tex>`__, `<alphabeta-doc.pdf>`_, `<alphabeta-tu.pdf>`_ +Usage examples and test documents +================================= LGR test and usage example `<test-lgrenc.tex>`_, `<test-lgrenc.pdf>`_ @@ -164,37 +97,35 @@ TU test and usage example Hyperref_ test and usage example `<hyperref-with-greek.tex>`_, `<hyperref-with-greek.pdf>`_ -Test with input encodings other than utf-8 - `<test-inputenc.tex>`_, `<test-inputenc.pdf>`_ +Test LICRs with non-Greek legacy 8-bit input encoding + `<test-licr-input.tex>`_, `<test-licr-input.pdf>`_ Greek diacritics with standard accent macros `<diacritics.tex>`_, `<diacritics.pdf>`_ -Experimental files -================== - -These files are still in development and will eventually be moved to/merged -with other packages or removed in future versions: - -`<lgr2licr.lua>`_ - `LGR Transcription to Greek LICR transformation <lgr2licr.lua.html>`_ +Download and Installation +========================= +The simplest way is to install this package from your distribution using +its installation manager. +Alternatively: -Installation -============ +* Download the latest `release`_ from the package's `CTAN page`_ or a + snapshot_ of the `greek-tex`_ repository. -If possible, get the bundle from your distribution using its installation -manager. +* Unpack the source archive to a temporary location. -Otherwise, make sure LaTeX can find the package and definition files: +* Copy/Move/Link files ending in ``.def`` or ``.sty`` to a suitable place in + the TeX search path. -* Download and unpack greek-fontenc.zip_. +.. _release: + https://mirrors.ctan.org/language/greek/greek-fontenc.zip +.. _CTAN page: https://www.ctan.org/pkg/greek-fontenc +.. _greek-tex: https://codeberg.org/milde/greek-tex/ +.. _snapshot: https://codeberg.org/milde/greek-tex/archive/master.zip -* Copy/Move/Link files ending in ``.def`` or ``.sty`` to a suitable place in - the “TeX Directory Structure” (TDS_) and run ``texhash``, or place them in - the current working directory (e.g. for testing). Conflicts ========= @@ -351,7 +282,7 @@ TU -- Standard Unicode font encoding for XeTeX and LuaTeX loaded by fontspec_ -(since v2.5a) rsp. the LaTeX kernel since 2017/01/01 [LaTeX2e News Issue 26]_. +(since v2.5a) rsp. the LaTeX kernel since 2017/01/01 [ltnews26]_. `greek-fontenc` adds support for the Greek script (see tuenc-greek_). Xe/LuaTeX works with any system-wide installed `OpenType font`_. Suitable @@ -361,15 +292,10 @@ Tempora_, and `UM Typewriter`_ (all available on CTAN) but also many commercial fonts. Unfortunately, the fontspec_ default, `Latin Modern`_ misses most Greek characters. -XeTeX uses the Unicode NFC normalization, so that combining characters -are merged with the base character if a pre-composed character exists. This -results in better looking output for characters with multiple diacritics. -Unfortunately, LuaTeX does not apply the NFC normalization. This leads to +Older versions of LuaTeX did not apply the NFC normalization. This lead to suboptimal placing of some diactritics, especially the sub-iota (becoming -unintelligable in combination with small letter eta). - -TODO: The `lua-uni-algos`_ package may be helpfull to implement a NTC -normalization to Greek text in LuaTeX. +unintelligable in combination with small letter eta). This issue if fixed +since at least 2022. The legacy Unicode font encodings EU1 and EU2 for XeTeX and LuaTeX respectively were superseded by TU in the 2017 fontspec_ release. @@ -383,8 +309,8 @@ support for polytonic Greek and some archaic characters also supported in LGR and TU (see `<hyperref-with-greek.tex>`_, `<hyperref-with-greek.pdf>`_). -Selecting Greek LICR macro names -================================ +Greek LICR macro names +====================== .. note:: The LICR macro names for Greek symbols are chosen pending endorsement by the TeX community and related packages. @@ -422,11 +348,7 @@ letters and symbols made available as ``\textvarsigma``. Problem: - The math macros for the `symbol variants`_ ``\varepsilon`` and - ``\varphi`` map to characters named "GREEK SMALL *LETTER* ...", while - ``\vartheta``, ``\varkappa``, ``\varrho``, and ``\varpi`` map to "GREEK - ... *SYMBOL*" Unicode characters. (See also section 5.5.3 of the - unicode-math_ documentation.) + `Symbol variants`_ (see below). * The `Unicode names list`_ provides standardized descriptive names for all Unicode characters that use only capital letters of the Latin alphabet. @@ -453,8 +375,7 @@ letters and symbols + many established text macro names without "text", + ``text`` prefix does **not** mark a macro as encoding-specific or "inserting a glyph". There are e.g. font-changing macros (``\textbf``, - ``\textit``) and encoding-changing macros (``\textgreek``, - ``\textcyr``). + ``\textit``) and encoding-changing macros (``\textcyr``). + There are examples of encoding-specific macros without the ``text``-prefix, especially for letters, see encguide_. @@ -473,7 +394,7 @@ accent macros ------------- * standard accent macros (``\DeclareTextAccent`` definitions in - ``latex/base/...``) are one-symbol macros (``\' \" ... \u \v ...``) . + ``latex/base/...``) are one-character macros (``\' \" ... \u \v ...``) . * ``tipa.sty``, xunicode_, and ucs_ use the "text" prefix also for accents. @@ -489,47 +410,136 @@ Currently, `greek-fontenc` uses for diacritics: - Greek names like in Unicode, and ``ucsencs.def``, and -- the prefix ``\acc`` to distinguish the macros as `TextAaccent` and reduce - the risc of name clashes (cf. ``\@tabacckludge``). +- the prefix ``\acc`` to distinguish the macros as `TextAaccent` and + reduce the risc of name clashes with spacing characters. -For the end-user "symbol macros" (``\~ \' \` \" \< \> \"' ...``) are -provided. (The non-standard macros ``\<`` and ``\>`` only with -textalpha_ or alphabeta_.) +For the end-user "symbol macros" (``\~ \' \` \" \"' \"` ...``) are +provided. (With textalpha_ or alphabeta_ also ``\<`` and ``\>`` for +``\accdasia`` and ``\accpsili``.) symbol variants --------------- -See also http://en.wikipedia.org/wiki/Greek_alphabet#Glyph_variants +Mathematical notation distinguishes variant shapes for beta (β|ϐ), +theta (θ|ϑ), phi (φ|ϕ), pi (π|ϖ), kappa (κ|ϰ), rho (ρ|ϱ), Theta (Θ|ϴ), +and epsilon (ε|ϵ). + +The variations have no syntactic meaning in Greek text and Greek text +fonts use the shape variants indiscriminately (cf. `glyph variants`__). +The variant shapes are not given separate code-points in the LGR_ text +font encoding. -Mathematical notation distinguishes variant shapes for beta (β|ϐ), theta -(θ|ϑ), phi (φ|ϕ), pi (π|ϖ), kappa (κ|ϰ), rho (ρ|ϱ), Theta (Θ|ϴ), and epsilon -(ε|ϵ). The variations have no syntactic meaning in Greek text and Greek -text fonts use the shape variants indiscriminately. +In mathematical mode, TeX supports the alternative glyph variants with +``\var<lettername>`` macros (variant macros for ϴ, ϐ, and ϰ require +additional packages). Unicode defines separate code points for the symbol variants for use in -mathematical context. However, they are sometimes also used in place of the -corresponding letter characters in Unicode-encoded text. +mathematical context. [#]_ Unfortunately, the mapping between Unicode's +letter/symbol distinction and "normal"/variant in TeX is inconsistent. -The variant shapes are not given separate code-points in the LGR_ font -encoding. +`greek-fontenc` provides ``\text<lettername>symbol`` LICR macros for the +Greek symbol characters: -In mathematical mode, TeX supports the distinction between θ|ϑ, π|ϖ, φ|ϕ, -ρ|ϱ, and ε|ϵ with ``\var<lettername>`` macros. However, the mapping of -letter/symbol in Unicode to "normal"/variant in TeX is inconsistent -and variant macros for ϴ ϐ, and ϰ are not available without additional -packages (e.g. amssymb_ provides ϰ as ``\varkappa``). +* With Unicode fonts, the macros select the GREEK <lettername> SYMBOL``. -`greek-fontenc` provides ``\text<lettername>symbol`` LICR macros for these -characters: +* With LGR encoded fonts, they report an error by default. -* With Unicode fonts, the macros select the GREEK - <lettername> SYMBOL``. + With the ``normalize-symbols`` option of textalpha_ and alphabeta_, + they are mapped to the corresponding letter (loosing the distinction + between the shape variants). -* With LGR encoded fonts, they report an error by default and are mapped to - the corresponding letter with the ``normalize-symbols`` option of - textalpha_ and alphabeta_ (loosing the distinction between the shape - variants). +The `alphabeta`_ package provides ``\<lettername>``, ``\var<lettername>``, +and ``\<lettername>symbol`` in both, text and math mode (cf. Table 1 in +`<alphabeta-doc-tu.pdf>`_). + + +.. [#] However, they are sometimes also used in place of the + corresponding letter characters in Unicode-encoded text. + +__ http://en.wikipedia.org/wiki/Greek_alphabet#Glyph_variants + +Changelog +========= + +0.9 (2013-07-03) + - ``greek-fontenc.def`` "outsourced" from ``lgrxenc.def`` + - experimental LICRs for XeTeX/LuaTeX. +0.9.1 (2013-07-18) + - Bugfix: wrong breathings psilioxia -> dasiaoxia. +0.9.2 (2013-07-19) + - Bugfix: Disable composite defs starting with char macro, + - Fix "hiatus" handling. +0.9.3 (2013-07-24) + - Fix path for ``\input`` of ``greek-fontenc.def``. +0.9.4 (2013-09-10) + - ``greek-fontenc.sty``: Greek text font encoding setup package. + - remove ``xunicode-greek.sty``. +0.10 (2013-09-13) + - textalpha_ and alphabeta_ moved here from lgrx and updated to work + with XeTeX/LuaTeX. + - ``greek-fontenc.sty`` removed (obsoleted by textalpha_). +0.10.1 (2013-10-01) + - Bugfix in ``greek-euenc.def`` and ``alphabeta-euenc.def``. +0.11 (2013-11-28) + - Compatibility with Xe/LuaTeX in 8-bit mode. + - ``\greekscript`` *TextCommand* (cf. [encguide]_). +0.11.1 (2013-12-01) + - Fix identification of ``greek-euenc.def``. +0.11.2 (2014-09-04) + - Documentation update, remove duplicate code. +0.12 (2014-12-25) + - Fix auxiliary macro names in textalpha_. + - Conservative naming: move definition of ``\<`` and ``\>`` from + ``greek-fontenc.def`` to ``textalpha.sty`` (Bugreport David Kastrup). +0.13 (2015-09-04) + - Support for `symbol variants`_, + - ``keep-semicolon`` option in textalpha_, + - ``\lccode``/``\uccode`` corrections for Unicode + (from Apostolos Syropoulos’ xgreek_) in greek-euenc. + - Do not convert ``\ypogegrammeni`` to ``\prosgegrammeni`` + with ``\MakeUppercase``. +0.13.1 (2015-12-07) + - Fix `rho with dasia bug`__ in lgrenc.def (Linus Romer). +0.13.2 (2016-02-05) + - Support for standard Unicode text font encoding "TU" + (new in fontspec v2.5a). +0.13.3 (2019-07-10) + - Drop error font declaration (cf. `ltxbugs 4399`_). +0.13.4 (2019-07-11) + - "Lowercase" ``\prosgegrammeni`` -> ``\ypogegrammeni`` + but not vice versa. +0.14 (2020-02-28) + - Rename ``greek-euenc`` to ``tuenc-greek``. + - Use ``\UTFencoding`` instead of ``\LastDeclaredEncoding``. +1.0 (2020-09-25) + - Bugfix in textalpha_: Let ``\greekscript`` set ``\encodingdefault``. + - ``\textKoppa`` as alias for ``\textkoppa`` in LGR. +2.0 (2020-10-30) + - Move common alias definitions to ``greek-fontenc.def``. + - textalpha_ loads TU with Xe/LuaTeX by default and provides + ``\textmicro`` and LICR macros for archaic symbols from the + "Greek and Coptic" Unicode block. + - Use ``\UnicodeEncodingName`` (by the LaTeX kernel) instead of + ``\UTFencname`` for the Unicode font encoding name. + - Replace utf8 literals in ``tuenc-greek.def``. + - New file ``puenc-greek.def``: setup for PU encoding defined by + hyperref_ for PDF strings. + - Don't use ``\textcompwordmark`` as base in accent commands. +2.1 (2022-06-14) + - Support the correct spelling ``\guillemet…`` for « and ». + See https://github.com/latex3/latex2e/issues/65 +2.2 (2023-02-28) + - Use correct glyph for ``\textanoteleia`` (middle dot) in LGR. + - Test and add composite commands for combinations that are not + converted to pre-composed characters. + - Don't use ``\makeatother`` in ``\AtBeginDocument``. + - Skip ``\uccode`` fixes when ignored by ``\MakeUppercase``. + - Various small fixes and documentation update. + +__ http://tex.stackexchange.com/questions/281631/greek-small-rho-with-dasia-and-also-psili-problem-with-accent-and-lgr-encodin +.. _ltxbugs 4399: + https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex%2F4399&search= References @@ -546,30 +556,29 @@ Syropoulos and ``xl-lgr.enc`` from the libertine_ (legacy) package. A full set of ``\text*`` symbol macros is defined in ``ucsencs.def`` from the ucs_ package. -.. [fntguide] LaTeX3 Project Team, `LaTeX2ε font selection`, 2005. - http://mirror.ctan.org/macros/latex/base/fntguide.pdf +.. [babel-patch] Werner Lemberg, `Unicode support for the Greek LGR + encoding` Εὔτυπον, τεῦχος № 20, 2008. + http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf +.. [cbfonts] Claudio Beccari, `The CB Greek fonts`, Εὔτυπον, τεῦχος № 21, 2008. + http://www.eutypon.gr/eutypon/pdf/e2008-21/e21-a01.pdf .. [encguide] Frank Mittelbach, Robin Fairbairns, Werner Lemberg, - LaTeX3 Project Team, `LaTeX font encodings`, 2006. - http://mirror.ctan.org/macros/latex/base/encguide.pdf + LaTeX3 Project Team, `LaTeX font encodings`. + https://mirrors.ctan.org/macros/latex/base/encguide.pdf +.. [fntguide] LaTeX3 Project Team, `LaTeX2ε font selection`. + https://mirrors.ctan.org/macros/latex/base/fntguide.pdf .. [greek-usage] Apostolos Syropoulos, `Writing Greek with the greek option of the babel package`, 1997. - http://mirrors.ctan.org/language/babel/contrib/greek/usage.pdf -.. [cbfonts] Claudio Beccari, `The CB Greek fonts`, Εὔτυπον, τεῦχος № 21, 2008. - http://www.eutypon.gr/eutypon/pdf/e2008-21/e21-a01.pdf + https://mirrors.ctan.org/language/babel/contrib/greek/usage.pdf +.. [ltnews26] LaTeX Project Team, `LaTeX News` Issue 26, January 2017. + https://www.latex-project.org/news/latex2e-news/ltnews26.pdf .. [teubner-doc] Claudio Beccari, ``teubner.sty`` `An extension to the greek option of the babel package`, 2011. - http://mirror.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf -.. [LaTeX2e News Issue 26] - https://www.latex-project.org/news/latex2e-news/ltnews26.pdf -.. [babel-patch] Werner Lemberg, `Unicode support for the Greek LGR - encoding` Εὔτυπον, τεῦχος № 20, 2008. - http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf + https://mirrors.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt -.. _PyLit: http://pypi.python.org/pypi/pylit -.. _reStructuredText: http://docutils.sourceforge.net/rst.html -.. _Docutils: http://docutils.sourceforge.net/rst.html -.. _TDS: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds +.. _PyLit: https://pypi.org/project/pylit/ +.. _reStructuredText: https://docutils.sourceforge.io/rst.html +.. _Docutils: https://docutils.sourceforge.io/rst.html .. _Adobe Glyph List For New Fonts: http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/aglfn.txt @@ -578,38 +587,38 @@ from the ucs_ package. .. _Unicode names list: http://www.unicode.org/Public/UNIDATA/NamesList.txt .. _XML Entity Definitions for Characters: http://www.w3.org/TR/xml-entity-names/ -.. _CB fonts: http://www.ctan.org/pkg/cbgreek-complete -.. _CM Unicode: https://www.ctan.org/pkg/cm-unicode +.. _CB fonts: https://ctan.org/pkg/cbgreek-complete +.. _CM Unicode: https://ctan.org/pkg/cm-unicode .. _Deja Vu: http://dejavu-fonts.org .. _EB Garamond: https://ctan.org/pkg/ebgaramond -.. _GFS fonts: http://www.ctan.org/pkg/gfs -.. _Kerkis: http://www.ctan.org/pkg/kerkis +.. _GFS fonts: https://ctan.org/pkg/gfs +.. _Kerkis: https://ctan.org/pkg/kerkis .. _Latin Modern: http://www.gust.org.pl/projects/e-foundry/latin-modern -.. _Libertine OTF: http://www.ctan.org/pkg/libertineotf -.. _Libertine GC: https://www.ctan.org/pkg/libertinegc +.. _Libertine OTF: https://ctan.org/pkg/libertineotf +.. _Libertine GC: https://ctan.org/pkg/libertinegc .. _Libertinus: https://ctan.org/pkg/libertinus .. _Old Standard: https://ctan.org/pkg/oldstandard .. _OpenType Font: https://ctan.org/topic/font-otf -.. _UM Typewriter: https://www.ctan.org/pkg/umtypewriter -.. _amssymb: http://www.ctan.org/pkg/amsfonts -.. _arabi: https://www.ctan.org/pkg/arabi -.. _babel-greek: http://www.ctan.org/pkg/babel-greek -.. _babel: http://www.ctan.org/pkg/babel -.. _dejavu: https://www.ctan.org/pkg/dejavu -.. _fontenc: http://www.ctan.org/pkg/fontenc -.. _fontspec: http://www.ctan.org/pkg/fontspec -.. _greek-fontenc.zip: http://mirrors.ctan.org/language/greek/greek-fontenc.zip -.. _grtimes: http://www.ctan.org/pkg/grtimes -.. _hyperref: http://www.ctan.org/pkg/hyperref -.. _ibycus-babel: http://www.ctan.org/pkg/ibycus-babel -.. _ibygrk: http://www.ctan.org/pkg/ibygrk -.. _lgrx: http://www.ctan.org/pkg/lgrx -.. _libertine: http://www.ctan.org/pkg/libertine-legacy +.. _UM Typewriter: https://ctan.org/pkg/umtypewriter +.. _amssymb: https://ctan.org/pkg/amsfonts +.. _arabi: https://ctan.org/pkg/arabi +.. _babel-greek: https://ctan.org/pkg/babel-greek +.. _babel: https://ctan.org/pkg/babel +.. _dejavu: https://ctan.org/pkg/dejavu +.. _fontenc: https://ctan.org/pkg/fontenc +.. _fontspec: https://ctan.org/pkg/fontspec +.. _greek-inputenc: https://ctan.org/pkg/greek-inputenc +.. _grtimes: https://ctan.org/pkg/grtimes +.. _hyperref: https://ctan.org/pkg/hyperref +.. _ibycus-babel: https://ctan.org/pkg/ibycus-babel +.. _ibygrk: https://ctan.org/pkg/ibygrk +.. _lgrx: https://ctan.org/pkg/lgrx +.. _libertine: https://ctan.org/pkg/libertine-legacy .. _lua-uni-algos: https://ctan.org/pkg/lua-uni-algos -.. _substitutefont: http://www.ctan.org/pkg/substitutefont -.. _tempora: https://www.ctan.org/pkg/tempora -.. _teubner: http://www.ctan.org/pkg/teubner -.. _ucs: http://www.ctan.org/pkg/unicode -.. _unicode-math: http://www.ctan.org/pkg/unicode-math -.. _xgreek: http://www.ctan.org/pkg/xgreek -.. _xunicode: http://www.ctan.org/pkg/xunicode +.. _substitutefont: https://ctan.org/pkg/substitutefont +.. _tempora: https://ctan.org/pkg/tempora +.. _teubner: https://ctan.org/pkg/teubner +.. _ucs: https://ctan.org/pkg/unicode +.. _unicode-math: https://ctan.org/pkg/unicode-math +.. _xgreek: https://ctan.org/pkg/xgreek +.. _xunicode: https://ctan.org/pkg/xunicode diff --git a/language/greek/greek-fontenc/greek-fontenc.def b/language/greek/greek-fontenc/greek-fontenc.def index 8f90f9362e..d7db6ff2ce 100644 --- a/language/greek/greek-fontenc/greek-fontenc.def +++ b/language/greek/greek-fontenc/greek-fontenc.def @@ -12,24 +12,12 @@ % :: \ProvidesFile{greek-fontenc.def} -[2020/10/30 2.0 Common Greek font encoding definitions] +[2023/02/28 2.2 Common Greek font encoding definitions] % :Abstract: This file provides definitions that are shared between % font encodings providing Greek characters. % -% Changelog: -% .. class:: borderless -% -% ====== ============ ========================================================= -% 0.9 2013-07-03 code "outsourced" from lgrxenc.def -% 0.9.1 2013-07-17 composite definitions starting with standard accent cmds -% 0.11 2013-11-28 ``\greekscript`` TextCommand -% 0.12 2014-12-12 Remove symbol macros for breathing accents. -% 0.13 2015-08-04 No @uclclist entry for ypogegrammeni/prosgegrammeni. -% 0.13.4 2019-07-10 ``@uclclist`` entry for ``\prosgegrammeni``. -% 1.0 2020-09-25 ``\textKoppagreek`` and ``\textstigmagreek`` aliases. -% 2.0 2020/10/30 Alias definitions matching mathematical variant symbols. -% ====== ============ ========================================================= +% .. contents:: % % Usage % ----- @@ -54,7 +42,7 @@ % ``\ensuregreek{A}\ensuregreek{\Upsilon}``) is preserved. This allows, e.g., % wrapping of compound Unicode character definitions. :: -\ProvideTextCommand{\ensuregreek}{\LastDeclaredEncoding}[1]{#1} +\ProvideTextCommand{\ensuregreek}{\LastDeclaredEncoding}{\@firstofone} % The ``\greekscript`` declaration switches to a font encoding supporting % the Greek script, if required. The following definition announces the @@ -68,8 +56,8 @@ % % Aliases are defined via `DeclareTextCommand` so that up/downcasing works % without the need for additional uclclist_ entries. - - +% +% % Names matching mathematical variant symbols:: % \var... matching GREEK ... SYMBOL @@ -86,18 +74,19 @@ % Compatibility aliases for hyperref_'s puenc.def:: +\DeclareTextCommand{\textnumeralsigngreek}{\LastDeclaredEncoding}{\textdexiakeraia} +\DeclareTextCommand{\textnumeralsignlowergreek}{\LastDeclaredEncoding}{\textaristerikeraia} + \DeclareTextCommand{\textmugreek}{\LastDeclaredEncoding}{\textmu} -\DeclareTextCommand{\textkoppagreek}{\LastDeclaredEncoding}{\textkoppa} -\DeclareTextCommand{\textKoppagreek}{\LastDeclaredEncoding}{\textKoppa} \DeclareTextCommand{\textStigmagreek}{\LastDeclaredEncoding}{\textStigma} \DeclareTextCommand{\textstigmagreek}{\LastDeclaredEncoding}{\textstigma} +\DeclareTextCommand{\textDigammagreek}{\LastDeclaredEncoding}{\textDigamma} +\DeclareTextCommand{\textdigammagreek}{\LastDeclaredEncoding}{\textdigamma} +\DeclareTextCommand{\textKoppagreek}{\LastDeclaredEncoding}{\textKoppa} +\DeclareTextCommand{\textkoppagreek}{\LastDeclaredEncoding}{\textkoppa} \DeclareTextCommand{\textSampigreek}{\LastDeclaredEncoding}{\textSampi} \DeclareTextCommand{\textsampigreek}{\LastDeclaredEncoding}{\textsampi} -\DeclareTextCommand{\textdigammagreek}{\LastDeclaredEncoding}{\textdigamma} -\DeclareTextCommand{\textDigammagreek}{\LastDeclaredEncoding}{\textDigamma} -\DeclareTextCommand{\textnumeralsigngreek}{\LastDeclaredEncoding}{\textdexiakeraia} -\DeclareTextCommand{\textnumeralsignlowergreek}{\LastDeclaredEncoding}{\textaristerikeraia} % Names from babel_ and teubner_ (do we want to define them here as alias?) % @@ -142,7 +131,7 @@ % ~~~~~~~~~~~~~~~~~~~~ % % Composite accents can be input as sequence of simple diacritics (in -% arbitrary order) via named macro, symbol macro and "transcription +% arbitrary order) via named macro, symbol macro and "transliteration % characters", e.g. one of % % .. code:: latex @@ -156,13 +145,14 @@ % Separate definitions for the supported variants of the second input token % are required as composition is based on the non-expanded input % -% The composition with simple "transcription characters" must also be defined +% The composition with simple "transliteration characters" must also be defined % for the symbol macros, otherwise it fails with ``\Makeuppercase``. % -% For Unicode encodings (where they do not resolve to Greek named macros, +% For Unicode encodings (where they do not resolve to Greek named macros), % composite definitions starting with standard macros are requried:: \DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\acctonos}{\accdialytikatonos} +\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\accoxia}{\accdialytikatonos} \DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\'}{\accdialytikatonos} \DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{'}{\accdialytikatonos} \DeclareTextCompositeCommand{\"}{\LastDeclaredEncoding}{\'}{\accdialytikatonos} @@ -231,6 +221,7 @@ \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{>}{\accpsiliperispomeni} \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\acctonos}{\accpsilioxia} +\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\accoxia}{\accpsilioxia} \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\'}{\accpsilioxia} \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{'}{\accpsilioxia} \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\accvaria}{\accpsilivaria} @@ -241,6 +232,7 @@ \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{~}{\accpsiliperispomeni} \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\acctonos}{\accdasiaoxia} +\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\accoxia}{\accdasiaoxia} \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\'}{\accdasiaoxia} \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{'}{\accdasiaoxia} \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\accvaria}{\accdasiavaria} @@ -254,23 +246,37 @@ % UPPERCASE % ~~~~~~~~~ % -% If UPPERCASE (all-caps) is generated with ``\MakeUppercase``, macro -% substitutions in the ``\@uclclist`` apply. This can be used to drop the -% diacritics (except dialytika and `iota subscript`__). Different conventions -% exist for the `treatment of the iota subscript with uppercase letters`__. In -% the CB Fonts, a small capital adscript iota is used. +% UPPERCASE (all-caps) is generated with ``\MakeUppercase``. The +% implementation of this command changed in June 2022 [ltnews35]_. +% +% According to Greek typographical tradition, diacritics (except dialytika, +% iota subscript, macron, and breve) are placed before capital letters in +% Titlecase and dropped in UPPERCASE. +% +% Different conventions exist for the treatment of the `mute iota`_ with +% uppercase letters. The traditional typographic form and the most common +% used in Greece is a subscript, corresponding to the COMBINING GREEK +% YPOGEGRAMMENI (U+0345). Even if the pre-composed characters are named ... +% WITH [... AND] PROSGEGRAMMENI, capitalization should not use the GREEK +% PROSGEGRAMMENI (U+1FBE) [Nicholas-03]_, [Haralambous-98]_. Upper case +% glyphs with adscript are a stylistic choice, provided by the font. In the +% CB Fonts, a small capital adscript iota is used. +% +% Up to 2022/06, macro substitutions in the ``\@uclclist`` could be used to +% get the expected behaviour: % -% __ https://en.wikipedia.org/wiki/Iota_subscript -% __ https://opoudjis.net/unicode/unicode_adscript.html % % @uclclist extension % """"""""""""""""""" % -% Based on the `babel patch`_ and ``fontenc.sty``. +% Based on Werner Lemberg's 2008 `babel patch`_ and ``fontenc.sty``. % % The definition of an auxiliary, self-resetting macro makes this idempotent % (only the first use of this function will expand the ``@uclclist``). -% The second and third lines are TeX' way of writing ``uclclist += …``:: +% The second and third lines are TeX' way of writing ``uclclist += …`` +% +% The ``\LGR@…`` auxiliary macros are defined below. +% :: \providecommand*\update@uclc@with@greek{% \expandafter\def\expandafter\@uclclist\expandafter{% @@ -330,7 +336,6 @@ \update@uclc@with@greek - % Substitution macros % """"""""""""""""""" % @@ -338,16 +343,17 @@ \DeclareTextCommand{\LGR@accdropped}{\LastDeclaredEncoding}[1]{#1} - % Keep dialytika: Define a dummy alias so that downcasing with % ``\MakeLowercase`` does not convert a simple dialytika to a composite % accent:: \DeclareTextCommand{\LGR@accDialytika}{\LastDeclaredEncoding}{\accdialytika} \DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\LGR@hiatus}{\accdialytika} +\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\LGR@accdropped}{\accdialytika} -% Convert ``\prosgegrammeni`` (adscript iota) to ``\ypogegrammeni`` -% (subscript iota) but not vice versa:: +% The prosgegrammeni (adscript iota) is used only with capital letters. +% We define a dummy macro to enable the conversion of ``\prosgegrammeni`` +% to ``\ypogegrammeni`` (subscript iota) but not vice versa:: \DeclareTextCommand{\LGR@ypogegrammeni}{\LastDeclaredEncoding}{\ypogegrammeni} @@ -388,26 +394,53 @@ \reserved@b } - -% .. References -% ---------- +% Changes +% ------- +% +% .. class:: borderless +% +% ====== ============ ======================================================== +% 0.9 2013-07-03 code "outsourced" from lgrxenc.def +% 0.9.1 2013-07-17 composite definitions starting with standard accent cmds +% 0.11 2013-11-28 ``\greekscript`` TextCommand +% 0.12 2014-12-12 Remove symbol macros for breathing accents. +% 0.13 2015-08-04 No @uclclist entry for ypogegrammeni/prosgegrammeni. +% 0.13.4 2019-07-10 ``@uclclist`` entry for ``\prosgegrammeni``. +% 1.0 2020-09-25 ``\textKoppagreek`` and ``\textstigmagreek`` aliases. +% 2.0 2020/10/30 Alias definitions matching mathematical variant symbols. +% 2.2 2023-02-28 Add missing accent composite commands. +% ====== ============ ======================================================== +% +% +% References +% ---------- +% +% .. [Haralambous-98] Yannis Haralambous +% `From Unicode to Typography, a Case Study: the Greek Script`, 1998. +% https://hal.science/hal-02101618 +% .. [ltnews35] LaTeX Project Team `LaTeX News 35`, June 2022. +% https://www.latex-project.org/news/latex2e-news/ltnews35.pdf +% .. [Nicholas-03] Nick Nicholas `Titlecase and Adscripts` 2003. +% https://opoudjis.net/unicode/unicode_adscript.html +% +% .. _mute iota: https://en.wikipedia.org/wiki/Iota_subscript % % .. _alphabeta: alphabeta.sty.html -% .. _athnum: http://ctan.org/pkg/athnum -% .. _Babel: http://ctan.org/pkg/babel +% .. _athnum: https://ctan.org/pkg/athnum +% .. _Babel: https://ctan.org/pkg/babel % .. _babel patch: http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf -% .. _fntguide: http://mirror.ctan.org/macros/latex/base/fntguide.pdf -% .. _fontenc: http://ctan.org/pkg/fontenc -% .. _hyperref: http://ctan.org/pkg/hyperref -% .. _ibycus: http://ctan.org/pkg/ibycus-babel +% .. _fntguide: https://mirrors.ctan.org/macros/latex/base/fntguide.pdf +% .. _fontenc: https://ctan.org/pkg/fontenc +% .. _hyperref: https://ctan.org/pkg/hyperref +% .. _ibycus: https://ctan.org/pkg/ibycus-babel % .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt -% .. _lgrx: http://ctan.org/pkg/lgrx -% .. _ltxcmds: http://ctan.org/pkg/ltxcmds -% .. _teubner: http://ctan.org/pkg/teubner +% .. _lgrenc.def: lgrenc.def.html +% .. _teubner: https://ctan.org/pkg/teubner % .. _teubner-doc: -% http://mirror.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf +% https://mirrors.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf % .. _textalpha: textalpha.sty.html -% .. _ucs: http://ctan.org/pkg/unicode -% -% .. _lgrenc.def: lgrenc.def.html % .. _tuenc-greek.def: tuenc-greek.def.html +% .. _ucs: https://ctan.org/pkg/unicode +% +% +% diff --git a/language/greek/greek-fontenc/greek-fontenc.def.html b/language/greek/greek-fontenc/greek-fontenc.def.html index eb428d0557..488bee24e9 100644 --- a/language/greek/greek-fontenc/greek-fontenc.def.html +++ b/language/greek/greek-fontenc/greek-fontenc.def.html @@ -1,18 +1,19 @@ <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> -<meta charset="utf-8"/> -<meta name="generator" content="Docutils 0.17b2.dev: http://docutils.sourceforge.net/" /> -<title>greek-fontenc.def</title> +<meta charset="utf-8" /> +<meta name="generator" content="Docutils 0.20b.dev: https://docutils.sourceforge.io/" /> +<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="dcterms.rights" content="© 2013 Günter Milde" /> +<title>greek-fontenc.def</title> <link rel="schema.dcterms" href="http://purl.org/dc/terms/"/> <style type="text/css"> /* Minimal style sheet for the HTML output of Docutils. */ /* */ /* :Author: Günter Milde, based on html4css1.css by David Goodger */ -/* :Id: $Id$ */ -/* :Copyright: © 2015 Günter Milde. */ +/* :Id: $Id$ */ +/* :Copyright: © 2015, 2021 Günter Milde. */ /* :License: Released under the terms of the `2-Clause BSD license`_, */ /* in short: */ /* */ @@ -24,38 +25,24 @@ /* */ /* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ -/* This CSS2.1_ stylesheet defines rules for Docutils elements without */ -/* HTML equivalent. It is required to make the document semantic visible. */ -/* */ -/* .. _CSS2.1: http://www.w3.org/TR/CSS2 */ -/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ - -/* alignment of text and inline objects inside block objects*/ -.align-left { text-align: left; } -.align-right { text-align: right; } -.align-center { clear: both; text-align: center; } -.align-top { vertical-align: top; } -.align-middle { vertical-align: middle; } -.align-bottom { vertical-align: bottom; } +/* This CSS3 stylesheet defines rules for Docutils elements without */ +/* HTML equivalent. It is required to make the document semantics visible. */ +/* */ +/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ /* titles */ -h1.title, -p.subtitle { - text-align: center; -} p.topic-title, -p.sidebar-title, -p.rubric, p.admonition-title, p.system-message-title { font-weight: bold; } -h1 + p.subtitle { - font-size: 1.6em; +p.sidebar-title, +p.rubric { + font-weight: bold; + font-size: larger; } -h2 + p.section-subtitle, -p.sidebar-title { - font-size: 1.2em; +p.rubric { + color: maroon; } p.subtitle, p.section-subtitle, @@ -63,46 +50,47 @@ p.sidebar-subtitle { font-weight: bold; margin-top: -0.5em; } -p.rubric { - font-size: larger; - color: maroon; +h1 + p.subtitle { + font-size: 1.6em; } a.toc-backref { - color: black; - text-decoration: none; } + color: inherit; + text-decoration: none; +} /* Warnings, Errors */ -div.system-messages h2, -span.problematic, -p.system-message-title { +.system-messages h2, +.system-message-title, +span.problematic { color: red; } -/* inline literals */ -span.docutils.literal { +/* Inline Literals */ +.docutils.literal { font-family: monospace; white-space: pre-wrap; } -/* do not wraph at hyphens and similar: */ +/* do not wrap at hyphens and similar: */ .literal > span.pre { white-space: nowrap; } /* Lists */ /* compact and simple lists: no margin between items */ -.simple li, .compact li, -.simple ul, .compact ul, -.simple ol, .compact ol, -.simple > li p, .compact > li p, -dl.simple > dd, dl.compact > dd { +.simple li, .simple ul, .simple ol, +.compact li, .compact ul, .compact ol, +.simple > li p, dl.simple > dd, +.compact > li p, dl.compact > dd { margin-top: 0; margin-bottom: 0; } +/* Nested Paragraphs */ +p:first-child { margin-top: 0; } +p:last-child { margin-bottom: 0; } +details > p:last-child { margin-bottom: 1em; } /* Table of Contents */ -div.topic.contents { margin: 0.5em 0; } -div.topic.contents ul { +.contents ul.auto-toc { /* section numbers present */ list-style-type: none; - padding-left: 1.5em; } /* Enumerated Lists */ @@ -112,32 +100,41 @@ ol.upperalpha { list-style: upper-alpha } ol.lowerroman { list-style: lower-roman } ol.upperroman { list-style: upper-roman } -dt span.classifier { font-style: italic } -dt span.classifier:before { +/* Definition Lists and Derivatives */ +dt .classifier { font-style: italic } +dt .classifier:before { font-style: normal; margin: 0.5em; content: ":"; } - -/* Field Lists and drivatives */ +/* Field Lists and similar */ /* bold field name, content starts on the same line */ +dl.field-list, +dl.option-list, +dl.docinfo { + display: flow-root; +} dl.field-list > dt, dl.option-list > dt, -dl.docinfo > dt, -dl.footnote > dt, -dl.citation > dt { +dl.docinfo > dt { font-weight: bold; clear: left; float: left; margin: 0; padding: 0; - padding-right: 0.5em; + padding-right: 0.2em; } /* Offset for field content (corresponds to the --field-name-limit option) */ dl.field-list > dd, dl.option-list > dd, dl.docinfo > dd { - margin-left: 9em; /* ca. 14 chars in the test examples */ + margin-left: 9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */ +} +/* start nested lists on new line */ +dd > dl:first-child, +dd > ul:first-child, +dd > ol:first-child { + clear: left; } /* start field-body on a new line after long field names */ dl.field-list > dd > *:first-child, @@ -147,108 +144,124 @@ dl.option-list > dd > *:first-child width: 100%; margin: 0; } -/* field names followed by a colon */ -dl.field-list > dt:after, -dl.docinfo > dt:after { - content: ":"; -} /* Bibliographic Fields (docinfo) */ -pre.address { - font: inherit; +dl.docinfo pre.address { + font: inherit; margin: 0.5em 0; } -dd.authors > p { margin: 0; } +dl.docinfo > dd.authors > p { margin: 0; } /* Option Lists */ -dl.option-list { margin-left: 1.5em; } dl.option-list > dt { font-weight: normal; } span.option { white-space: nowrap; } /* Footnotes and Citations */ -dl.footnote.superscript > dd {margin-left: 1em; } -dl.footnote.brackets > dd {margin-left: 2em; } -dl.footnote > dt { font-weight: normal; } -a.footnote-reference.brackets:before, -dt.label > span.brackets:before { content: "["; } -a.footnote-reference.brackets:after, -dt.label > span.brackets:after { content: "]"; } -a.footnote-reference.superscript, -dl.footnote.superscript > dt.label { + +.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */ +/* hanging indent */ +.citation { padding-left: 2em; } +.footnote { padding-left: 1.7em; } +.footnote.superscript { padding-left: 1.0em; } +.citation > .label { margin-left: -2em; } +.footnote > .label { margin-left: -1.7em; } +.footnote.superscript > .label { margin-left: -1.0em; } + +.footnote > .label + *, +.citation > .label + * { + display: inline-block; + margin-top: 0; + vertical-align: top; +} +.footnote > .backrefs + *, +.citation > .backrefs + * { + margin-top: 0; +} +.footnote > .label + p, .footnote > .backrefs + p, +.citation > .label + p, .citation > .backrefs + p { + display: inline; + vertical-align: inherit; +} + +.backrefs { user-select: none; } +.backrefs > a { font-style: italic; } + +/* superscript footnotes */ +a[role="doc-noteref"].superscript, +.footnote.superscript > .label, +.footnote.superscript > .backrefs { vertical-align: super; - font-size: small; + font-size: smaller; + line-height: 1; +} +a[role="doc-noteref"].superscript > .fn-bracket, +.footnote.superscript > .label > .fn-bracket { + /* hide brackets in display but leave for copy/paste */ + display: inline-block; + width: 0; + overflow: hidden; +} +[role="doc-noteref"].superscript + [role="doc-noteref"].superscript { + padding-left: 0.15em; /* separate consecutive footnote references */ + /* TODO: unfortunately, "+" also selects with text between the references. */ } -dt.label > span.fn-backref { margin-left: 0.2em; } -dt.label > span.fn-backref > a { font-style: italic; } -/* Figures, Images, and Tables */ -.figure.align-left, -figure.align-left, -img.align-left, -object.align-left, -table.align-left { +/* Alignment */ +.align-left { + text-align: left; margin-right: auto; } -.figure.align-center, -figure.align-center, -img.align-center, -object.align-center, -table.align-center { +.align-center { + text-align: center; margin-left: auto; margin-right: auto; } -.figure.align-right, -figure.align-right, -img.align-right, -object.align-right, -table.align-right { +.align-right { + text-align: right; margin-left: auto; } -img.align-center, img.align-right, -object.align-center, object.align-right { - display: block; -} +.align-top { vertical-align: top; } +.align-middle { vertical-align: middle; } +.align-bottom { vertical-align: bottom; } + /* reset inner alignment in figures and tables */ -.figure.align-left, .figure.align-right, figure.align-left, figure.align-right, table.align-left, table.align-center, table.align-right { text-align: inherit; } -/* Sidebar */ -aside.sidebar { - width: 30%; - max-width: 26em; - float: right; - clear: right; -} - /* Text Blocks */ -blockquote, -div.topic, -div.admonition, -div.system-message { - margin-left: 2em; - margin-right: 2em; +.topic { margin: 1em 2em; } +.sidebar, +.admonition, +.system-message { + margin: 1em 2em; + border: thin solid; + padding: 0.5em 1em; } div.line-block { display: block; } -div.line-block div.line-block { - margin: 0 0 0 2em; -} -pre { margin-left: 2em; } -pre.code .ln { color: gray; } /* line numbers */ +div.line-block div.line-block, pre { margin-left: 2em; } +/* Code line numbers: dropped when copying text from the page */ +pre.code .ln { display: none; } +pre.code code:before { + content: attr(data-lineno); /* …, none) fallback not supported by any browser */ + color: gray; +} /* Tables */ -table { border-collapse: collapse; } +table { + border-collapse: collapse; +} td, th { - border-style: solid; - border-color: silver; + border: thin solid silver; padding: 0 1ex; - border-width: thin; } -td > p:first-child, th > p:first-child { margin-top: 0; } -td > p, th > p { margin-bottom: 0; } +.borderless td, .borderless th { + border: 0; + padding: 0; + padding-right: 0.5em /* separate table cells */ +} table > caption { text-align: left; @@ -259,25 +272,24 @@ table.captionbelow { caption-side: bottom; } -table.borderless td, table.borderless th { - border: 0; - padding: 0; - padding-right: 0.5em /* separate table cells */ -} - /* Document Header and Footer */ header { border-bottom: 1px solid black; } footer { border-top: 1px solid black; } -/* new HTML5 block elements: set display for older browsers */ -header, section, footer, aside, nav, main, article, figure { +/* Images are block-level by default in Docutils */ +/* New HTML5 block elements: set display for older browsers */ +img, header, footer, main, aside, nav, section, figure, video, details { display: block; } +/* inline images */ +p img, p video, figure img, figure video { + display: inline; +} </style> <style type="text/css"> -/* CSS3_ style sheet for the output of Docutils HTML writers. */ +/* CSS3_ style sheet for the output of Docutils HTML5 writer. */ /* Generic responsive design for all screen sizes. */ /* */ /* :Author: Günter Milde */ @@ -294,119 +306,113 @@ header, section, footer, aside, nav, main, article, figure { /* This file is offered as-is, without any warranty. */ /* */ /* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ -/* .. _CSS3: http://www.w3.org/TR/CSS3 */ +/* .. _CSS3: https://www.w3.org/Style/CSS/ */ + +/* Note: */ +/* This style sheet is provisional: */ +/* the API is not settled and may change with any minor Docutils version. */ + /* General Settings */ /* ================ */ -/* Suited for all screen sizes or special to small ones (mobile first). */ -/* For adaption to larger screens see media queries below */ -@viewport { - zoom: 1.0; - width: extend-to-zoom; -} + +* { box-sizing: border-box; } body { background-color: #fafaf6; -/* background-color: #fefdfb; */ - font-size: larger; - line-height: 1.4; margin: auto; + --field-indent: 6.6em; /* indent of fields in field lists */ + --sidebar-margin-right: 0; /* adapted in media queries below */ } main { counter-reset: figure table; } -main, header, footer { - padding: 0.5em 5%; - background-color: #fefefc; - max-width: 66em; -} - -main > *, section > * { - max-width: 55em; /* ca. 90…100 characters */ +body > * { + background-color: white; + line-height: 1.6; + padding: 0.5rem calc(29% - 7.2rem); /* go from 5% to 15% (8.15em/54em) */ + margin: auto; + max-width: 100rem; } -main > section, section > section { - max-width: 100%; +sup, sub { /* avoid additional inter-line space for lines with sup/sub */ + line-height: 1; } /* Vertical Space (Parskip) */ p, ol, ul, dl, li, div.line-block, -div.topic, +.topic, +.footnote, .citation, +div > math, table { margin-top: 0.5em; margin-bottom: 0.5em; } h1, h2, h3, h4, h5, h6, -dl > dd { +dl > dd, details > p:last-child { margin-bottom: 0.5em; } -/* exceptions */ -p:first-child { - margin-top: 0; -} -p:last-child { - margin-bottom: 0; -} -blockquote > table, -div.topic > table { - margin-top: 0; - margin-bottom: 0; -} /* Indented Blocks */ -blockquote, -figure, -div.topic { - /* background-color: Honeydew; */ - margin: 0.5em 2%; +blockquote, figure, .topic { + margin: 1em 2%; padding-left: 1em; } div.line-block div.line-block, -dl.option-list, -.literal-block, -pre { - /* background-color: LightCyan; */ +pre, dd, dl.option-list { margin-left: calc(2% + 1em); } /* Object styling */ /* ============== */ -footer > *, header > *, -aside.sidebar > *, .marginal > * { - font-size: smaller; +footer, header { + font-size: small; } /* Frontmatter */ -blockquote.dedication, -div.topic.dedication { +div.dedication { padding: 0; - margin-left: 0; + margin: 1.4em 0; font-style: italic; - font-size: larger; + font-size: large; } -/* div.abstract p.topic-title, */ -div.dedication p.topic-title { +.dedication p.topic-title { display: none; } blockquote p.attribution, -div.topic p.attribution { +.topic p.attribution { text-align: right; } /* Table of Contents */ -div.topic.contents { - padding: 0; +nav.contents ul { + padding-left: 1em; } -ul.auto-toc > li > p { +ul.auto-toc > li > p { /* hanging indent */ padding-left: 1em; text-indent: -1em; } -div.topic.contents ul { - padding-left: 1em; +main > nav.contents ul:not(.auto-toc) { + list-style-type: square; +} +main > nav.contents ul ul:not(.auto-toc) { + list-style-type: disc; +} +main > nav.contents ul ul ul:not(.auto-toc) { + list-style-type: '\2B29\ '; +} +main > nav.contents ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B1D\ '; +} +main > nav.contents ul ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B2A\ '; +} +nav.contents ul > li::marker { + color: grey; } /* Transitions */ @@ -416,54 +422,51 @@ hr { /* Lists */ -/* Smaller indent on small screens */ ul, ol { - padding-left: 1.1em; -} -dd { - margin-left: 1.5em; + padding-left: 1.1em; /* indent by bullet width (Firefox, DejaVu fonts) */ } -dl.field-list > dd { - margin-left: 4em; +dl.field-list > dd, +dl.docinfo > dd { + margin-left: var(--field-indent); /* adapted in media queries or HTML */ } -dl.field-list.narrow > dd, -dl.docinfo > dd, dl.option-list > dd { - margin-left: 2.4em; + margin-left: 20%; } /* run-in: start field-body on same line after long field names */ dl.field-list.run-in > dd p { display: block; } - /* "description style" like in most dictionaries, encyclopedias etc. */ +dl.description { + display: flow-root; +} dl.description > dt { clear: left; float: left; margin: 0; padding: 0; - padding-right: 0.5em; + padding-right: 0.3em; font-weight: bold; } dl.description > dd:after { - display: block; + display: table; content: ""; - clear: both; + clear: left; /* clearfix for empty descriptions */ } /* start lists nested in description/field lists on new line */ dd > dl:first-child, dd > ul:first-child, dd > ol:first-child { - clear: left; + clear: left; } + +/* disclosures */ +details { padding-left: 1em; } +summary { margin-left: -1em; } + /* Footnotes and Citations */ -/* TODO: use <aside> */ -dl.footnote { - font-size: smaller; - padding-left: 0.5em; -/* text-indent: -0.5em; */ - border-left: solid; - border-left-width: thin; +.footnote { + font-size: small; } /* Images, Figures, and Tables */ @@ -475,39 +478,36 @@ figure > img, figure > a > img { display: inline; } -table tr { - text-align: left; -} - -/* th { vertical-align: bottom; } */ -/* "booktabs" style (no vertical lines) */ -table.booktabs { - border-top: 2px solid; - border-bottom: 2px solid; -} -table.booktabs * { - border: 0; -} -table.booktabs th { - border-bottom: thin solid; -} - figcaption, table > caption { - /* font-size: smaller; */ + /* font-size: small; */ font-style: italic; } figcaption > .legend { - font-size: smaller; + font-size: small; font-style: initial; } - figure.numbered > figcaption > p:before { counter-increment: figure; content: "Figure " counter(figure) ": "; font-weight: bold; font-style: initial; } + +table tr { + text-align: left; + vertical-align: baseline; +} +table.booktabs { /* "booktabs" style (no vertical lines) */ + border-top: 2px solid; + border-bottom: 2px solid; +} +table.booktabs * { + border: 0; +} +table.booktabs th { + border-bottom: thin solid; +} table.numbered > caption:before { counter-increment: table; content: "Table " counter(table) ": "; @@ -516,19 +516,16 @@ table.numbered > caption:before { } /* Admonitions and System Messages */ -div.admonition, +.admonition, div.system-message { - box-sizing: border-box; - border-style: solid; - border-color: silver; - border-width: thin; + border: thin solid silver; margin: 1em 2%; - padding: 0.5em; + padding: 0.5em 1em; } -div.caution p.admonition-title, -div.attention p.admonition-title, -div.danger p.admonition-title, -div.warning p.admonition-title, +.caution p.admonition-title, +.attention p.admonition-title, +.danger p.admonition-title, +.warning p.admonition-title, div.error { color: maroon; } @@ -537,17 +534,19 @@ div.system-message > p > span.literal { } /* Literal and Code */ -pre { - /* font-family: Consolas, "Liberation Mono", Menlo, monospace; */ - /* font-size: 0.9em; */ - overflow: auto; - margin-right: -5%; +pre.literal-block, pre.doctest{ + padding: 0.2em; + overflow-x: auto; +} +.literal-block, .doctest, span.literal { + background-color: #f6f9f8; +} +.system-message span.literal { + background-color: inherit; } - -pre.code .ln { color: gray; } /* line numbers */ /* basic highlighting: for a complete scheme, see */ -/* http://docutils.sourceforge.net/sandbox/stylesheets/ */ +/* https://docutils.sourceforge.io/sandbox/stylesheets/ */ pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } pre.code .literal.string, code .literal.string { color: #0C5404 } @@ -555,45 +554,57 @@ pre.code .name.builtin, code .name.builtin { color: #352B84 } pre.code .deleted, code .deleted { background-color: #DEB0A1} pre.code .inserted, code .inserted { background-color: #A3D289} - - -.sans { - font-family: "Gill Sans", "Gill Sans MT", Calibri, "Lucida Sans", "Noto Sans", sans-serif; - letter-spacing: .02em; -} - /* Hyperlink References */ -/* underline that clears descenders */ a { - text-decoration: none; - text-decoration-skip-ink: auto; /* nonstandard selector */ -} -a:link{ + text-decoration: none; /* for chromium */ + /* Wrap links at any place, if this is the only way to prevent overflow */ overflow-wrap: break-word; } -/* undecorated links */ -a[href^="#system-message"], -.contents a, a.toc-backref, a.image-reference, -a.footnote-reference, a.fn-backref, .fn-backref a, -a.citation-reference { +.contents a, a.toc-backref, a.citation-reference { + overflow-wrap: inherit; +} +/* Undecorated Links (see also minimal.css) */ +/* a.citation-reference, */ +.citation a.fn-backref { color: inherit; } -a:link:hover { +a:hover { text-decoration: underline; } - +*:hover > a.toc-backref:after { + content: " \2191"; /* ↑ UPWARDS ARROW */ + color: grey; +} +*:hover > a.self-link:after { + content: "\1F517"; /* LINK SYMBOL */ + color: grey; + font-size: smaller; + margin-left: 0.2em; +} +/* highlight the target of the current URL */ +section:target > h2, section:target > h3, section:target > h4, +section:target > h5, section:target > h6, +.contents :target, +.contents:target > .topic-title, +[role="doc-biblioentry"]:target > .label, +[role="doc-biblioref"]:target, +[role="note"]:target, /* Docutils 0.18 ... 0.19 */ +[role="doc-footnote"]:target, /* Docutils >= 0.20 */ +[role="doc-noteref"]:target { + background-color: #d2e6ec; +} /* Block Alignment */ /* Let content flow to the side of aligned images and figures */ /* no floats around this elements */ -dl.footnote, dl.citation, /* errors with internal floats */ -footer, header, hr, -h1, h2, h3, .contents > p.topic-title { +footer, header, hr, +h1, h2, h3 { clear: both; } img.align-left, +video.align-left, figure.align-left, table.align-left { margin-left: 0; @@ -603,191 +614,232 @@ table.align-left { float: left; } img.align-right, +video.align-right, figure.align-right, table.align-right { margin-left: 0.5em; + margin-right: 0; clear: right; float: right; } /* Margin Elements */ /* see below for screen size dependent rules */ -aside.sidebar { -/* overwrite minimal.css */ - width: auto; - max-width: 100%; -/* float: none; */ -} -aside.sidebar, +.sidebar, .marginal, -.admonition.marginal, -.topic.marginal { +.admonition.marginal { + max-width: 40%; + border: none; background-color: #efefea; - box-sizing: border-box; - margin: 0.5em 0; + margin: 0.5em var(--sidebar-margin-right) 0.5em 1em; padding: 0.5em; + padding-left: 0.7em; clear: right; + float: right; + font-size: small; +} +.sidebar { + width: 40%; } -/* Adaptive page layout */ +/* Math */ +/* for math-output=MathML (for math-output=HTML, see math.css) */ +math .boldsymbol { + font-weight: bold; +} +mstyle.mathscr, mi.mathscr { + font-family: STIX; +} -/* larger margins and floating elements moderately small screens */ -/* main text more than around 40 characters/line */ -@media (min-width: 35em) { - /* wider margins */ - main, header, footer { - padding: 0.5em calc(20% - 5rem); - line-height: 1.6 - } - pre { - margin-right: calc(5rem - 20%); +/* Adaptive page layout */ +/* ==================== */ + +@media (max-width: 30em) { + /* Smaller margins and no floating elements for small screens */ + /* (main text less than 40 characters/line) */ + body > * { + padding: 0.5rem 5%; + line-height: 1.4 } - /* floating margin elements */ - aside.sidebar, + .sidebar, .marginal, - .admonition.marginal, - .topic.marginal { - max-width: min(45%, 18em); - margin-left: 1em; - clear: right; - float: right; + .admonition.marginal { + width: auto; + max-width: 100%; + float: none; } - /* more indent for field-list values */ - dl.field-list > dd, - dl.docinfo > dd { - margin-left: 6.4em; + dl.option-list, + pre { + margin-left: 0; } - dl.option-list > dd { - margin-left: 5em; + body { + --field-indent: 4em; } -} - -@media (min-width: 65em) { - /* 2 column layout with wide margin */ - main, header, footer { - padding: 0.5em 15%; + dl.field-list.narrow, dl.docinfo, dl.option-list { + --field-indent: 2.4em; } - aside.sidebar, - .marginal, - .admonition.marginal, - .topic.marginal { - background-color: inherit; - /* background-color: lavender; */ - margin-right: -18%; - padding: 0; + pre, pre * { + font-size: 0.9em; + /* overflow: auto; */ } - .admonition.marginal { padding: 0.5em; } } -/* Move ToC to the left */ -@media (min-width: 100em) { - main, header, footer { - padding-left: min(30%, 36em); +@media (min-width: 54em) { + /* Move ToC to the left */ + /* Main text width before: 70% ≙ 35em ≙ 75…95 chrs (Dejavu/Times) */ + /* after: ≳ 30em ≙ 54…70 chrs (Dejavu/Times) */ + body.with-toc { + padding-left: 8%; } - main > div.topic.contents { + body.with-toc > * { + margin-left: 0; + padding-left: 22rem; /* fallback for webkit */ + padding-left: min(22%, 22rem); + padding-right: 7%; + } + main > nav.contents { /* global ToC */ position: fixed; top: 0; left: 0; - box-sizing: border-box; - width: min(25%, 28em); + width: min(25%, 25em); height: 100vh; margin: 0; background-color: #fafaf6; - padding: 5.5em 2%; + padding: 1em 2% 0 2%; overflow: auto; } - main > div.topic.contents > * { + main > nav.contents > * { padding-left: 0; + line-height: 1.4; + } + main > nav.contents a { + color: inherit; + } +} + +@media (min-width: 70em) { + body { + --field-indent: 9em; + } +} + +@media (min-width: 77em) { + /* Move marginalia to 6rem from right border */ + /* .sidebar, */ + /* .marginal, */ + /* .admonition.marginal { */ + /* margin-right: calc(6rem - 15%); */ + /* } */ + /* BUG: margin is calculated for break point width */ + /* workaround: variable + many breakpoints */ + body > * { + padding-left: 18%; + padding-right: 28%; /* fallback for webkit */ + padding-right: min(28%, 28rem); + --sidebar-margin-right: -20rem; + } + /* limit main text to ~ 50em ≙ 85…100 characters DejaVu rsp. …120 Times */ + body.with-toc > * { + padding-left: min(22%, 22rem); + padding-right: calc(78% - 50rem); /* fallback for webkit */ + padding-right: min(78% - 50rem, 28rem); + --sidebar-margin-right: 0; + } +} + +@media (min-width: 85em) { + body.with-toc > * { + --sidebar-margin-right: -9rem; + } +} + +@media (min-width: 90em) { + /* move marginalia into the margin */ + body > * { + padding-left: min(22%, 22rem); + --sidebar-margin-right: -23rem; + } + body.with-toc > * { + --sidebar-margin-right: -14rem; + } +} + +@media (min-width: 99em) { + /* move marginalia out of main text area */ + body.with-toc > * { + --sidebar-margin-right: -20rem; + } + body > *, body.with-toc > * { /* for webkit */ + padding-left: 22rem; + padding-right: 28rem; + } + .admonition.marginal, + .marginal { + width: 40%; /* make marginal figures, ... "full width" */ + } +} + +@media (min-width: 104em) { + body.with-toc > * { + --sidebar-margin-right: -23rem; } - -/* marginal elements outside of main text */ -@media (min-width: 126em) { - aside.sidebar, - figure.marginal, - .topic.marginal, - p.marginal { - width: min(45%, 18em); - } } </style> </head> -<body> +<body class="with-toc"> <main id="greek-fontenc-def"> <h1 class="title">greek-fontenc.def</h1> <p class="subtitle" id="common-greek-font-encoding-definitions">Common Greek font encoding definitions</p> <dl class="docinfo"> -<dt class="copyright">Copyright</dt> +<dt class="copyright">Copyright<span class="colon">:</span></dt> <dd class="copyright">© 2013 Günter Milde</dd> -<dt class="licence">Licence</dt> +<dt class="licence">Licence<span class="colon">:</span></dt> <dd class="licence"><p>This work may be distributed and/or modified under the conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either version 1.3 of this license or any later version.</p> </dd> -<dt class="identification">Identification</dt> +<dt class="identification">Identification<span class="colon">:</span></dt> <dd class="identification"><pre class="literal-block">\ProvidesFile{greek-fontenc.def} -[2020/10/30 2.0 Common Greek font encoding definitions]</pre> +[2023/02/28 2.2 Common Greek font encoding definitions]</pre> </dd> </dl> -<div class="abstract topic"> +<div class="topic abstract" role="doc-abstract"> <p class="topic-title">Abstract</p> <p>This file provides definitions that are shared between font encodings providing Greek characters.</p> </div> -<dl> -<dt>Changelog:</dt> -<dd><table class="borderless"> -<colgroup> -<col style="width: 8%" /> -<col style="width: 16%" /> -<col style="width: 76%" /> -</colgroup> -<tbody> -<tr><td><p>0.9</p></td> -<td><p>2013-07-03</p></td> -<td><p>code “outsourced” from lgrxenc.def</p></td> -</tr> -<tr><td><p>0.9.1</p></td> -<td><p>2013-07-17</p></td> -<td><p>composite definitions starting with standard accent cmds</p></td> -</tr> -<tr><td><p>0.11</p></td> -<td><p>2013-11-28</p></td> -<td><p><span class="docutils literal">\greekscript</span> TextCommand</p></td> -</tr> -<tr><td><p>0.12</p></td> -<td><p>2014-12-12</p></td> -<td><p>Remove symbol macros for breathing accents.</p></td> -</tr> -<tr><td><p>0.13</p></td> -<td><p>2015-08-04</p></td> -<td><p>No @uclclist entry for ypogegrammeni/prosgegrammeni.</p></td> -</tr> -<tr><td><p>0.13.4</p></td> -<td><p>2019-07-10</p></td> -<td><p><span class="docutils literal">@uclclist</span> entry for <span class="docutils literal">\prosgegrammeni</span>.</p></td> -</tr> -<tr><td><p>1.0</p></td> -<td><p>2020-09-25</p></td> -<td><p><span class="docutils literal">\textKoppagreek</span> and <span class="docutils literal">\textstigmagreek</span> aliases.</p></td> -</tr> -<tr><td><p>2.0</p></td> -<td><p>2020/10/30</p></td> -<td><p>Alias definitions matching mathematical variant symbols.</p></td> -</tr> -</tbody> -</table> -</dd> -</dl> +<nav class="contents" id="contents" role="doc-toc"> +<p class="topic-title">Contents</p> +<ul class="simple"> +<li><p><a class="reference internal" href="#usage" id="toc-entry-1">Usage</a></p></li> +<li><p><a class="reference internal" href="#implementation" id="toc-entry-2">Implementation</a></p> +<ul> +<li><p><a class="reference internal" href="#ensuregreek-greekscript" id="toc-entry-3">ensuregreek, greekscript</a></p></li> +<li><p><a class="reference internal" href="#aliases" id="toc-entry-4">Aliases</a></p></li> +<li><p><a class="reference internal" href="#composite-diacritics" id="toc-entry-5">Composite diacritics</a></p></li> +<li><p><a class="reference internal" href="#uppercase" id="toc-entry-6">UPPERCASE</a></p> +<ul> +<li><p><a class="reference internal" href="#uclclist-extension" id="toc-entry-7">@uclclist extension</a></p></li> +<li><p><a class="reference internal" href="#substitution-macros" id="toc-entry-8">Substitution macros</a></p></li> +<li><p><a class="reference internal" href="#mark-hiatus" id="toc-entry-9">Mark hiatus</a></p></li> +</ul> +</li> +</ul> +</li> +<li><p><a class="reference internal" href="#changes" id="toc-entry-10">Changes</a></p></li> +<li><p><a class="reference internal" href="#references" id="toc-entry-11">References</a></p></li> +</ul> +</nav> <section id="usage"> -<h2>Usage</h2> +<h2><a class="toc-backref" href="#toc-entry-1" role="doc-backlink">Usage</a></h2> <p>This file is input by the font encoding definition files <a class="reference external" href="lgrenc.def.html">lgrenc.def</a>. and <a class="reference external" href="tuenc-greek.def.html">tuenc-greek.def</a>.</p> </section> <section id="implementation"> -<h2>Implementation</h2> +<h2><a class="toc-backref" href="#toc-entry-2" role="doc-backlink">Implementation</a></h2> <section id="ensuregreek-greekscript"> -<h3>ensuregreek, greekscript</h3> +<h3><a class="toc-backref" href="#toc-entry-3" role="doc-backlink">ensuregreek, greekscript</a></h3> <p>Provide “empty” encoding-specific definitions for <span class="docutils literal">\ensuregreek</span> and <span class="docutils literal">\greekscript</span>. The definitions in this file make the font encoding fit for use with the Greek script. (See <span class="docutils literal">textalpha.sty</span> for default @@ -797,14 +849,14 @@ in a font encoding with support for Greek. If the active font encoding supports it, kerning between adjacent command calls (e.g. <span class="docutils literal"><span class="pre">\ensuregreek{A}\ensuregreek{\Upsilon}</span></span>) is preserved. This allows, e.g., wrapping of compound Unicode character definitions.</p> -<pre class="literal-block">\ProvideTextCommand{\ensuregreek}{\LastDeclaredEncoding}[1]{#1}</pre> +<pre class="literal-block">\ProvideTextCommand{\ensuregreek}{\LastDeclaredEncoding}{\@firstofone}</pre> <p>The <span class="docutils literal">\greekscript</span> declaration switches to a font encoding supporting the Greek script, if required. The following definition announces the <span class="docutils literal">\LastDeclaredEncoding</span> as Greek-supporting:</p> <pre class="literal-block">\ProvideTextCommand{\greekscript}{\LastDeclaredEncoding}{}</pre> </section> <section id="aliases"> -<h3>Aliases</h3> +<h3><a class="toc-backref" href="#toc-entry-4" role="doc-backlink">Aliases</a></h3> <p>Aliases are defined via <cite>DeclareTextCommand</cite> so that up/downcasing works without the need for additional <a class="reference internal" href="#uclclist">uclclist</a> entries.</p> <p>Names matching mathematical variant symbols:</p> @@ -819,20 +871,20 @@ without the need for additional <a class="reference internal" href="#uclclist">u \DeclareTextCommand{\textvarepsilon}{\LastDeclaredEncoding}{\textepsilon} % ε \DeclareTextCommand{\textvarphi}{\LastDeclaredEncoding}{\textphi} % φ \DeclareTextCommand{\textvarsigma}{\LastDeclaredEncoding}{\textfinalsigma} % ς</pre> -<p>Compatibility aliases for <a class="reference external" href="http://ctan.org/pkg/hyperref">hyperref</a>’s puenc.def:</p> -<pre class="literal-block">\DeclareTextCommand{\textmugreek}{\LastDeclaredEncoding}{\textmu} -\DeclareTextCommand{\textkoppagreek}{\LastDeclaredEncoding}{\textkoppa} -\DeclareTextCommand{\textKoppagreek}{\LastDeclaredEncoding}{\textKoppa} +<p>Compatibility aliases for <a class="reference external" href="https://ctan.org/pkg/hyperref">hyperref</a>’s puenc.def:</p> +<pre class="literal-block">\DeclareTextCommand{\textnumeralsigngreek}{\LastDeclaredEncoding}{\textdexiakeraia} +\DeclareTextCommand{\textnumeralsignlowergreek}{\LastDeclaredEncoding}{\textaristerikeraia} + +\DeclareTextCommand{\textmugreek}{\LastDeclaredEncoding}{\textmu} \DeclareTextCommand{\textStigmagreek}{\LastDeclaredEncoding}{\textStigma} \DeclareTextCommand{\textstigmagreek}{\LastDeclaredEncoding}{\textstigma} -\DeclareTextCommand{\textSampigreek}{\LastDeclaredEncoding}{\textSampi} -\DeclareTextCommand{\textsampigreek}{\LastDeclaredEncoding}{\textsampi} -\DeclareTextCommand{\textdigammagreek}{\LastDeclaredEncoding}{\textdigamma} \DeclareTextCommand{\textDigammagreek}{\LastDeclaredEncoding}{\textDigamma} - -\DeclareTextCommand{\textnumeralsigngreek}{\LastDeclaredEncoding}{\textdexiakeraia} -\DeclareTextCommand{\textnumeralsignlowergreek}{\LastDeclaredEncoding}{\textaristerikeraia}</pre> -<p>Names from <a class="reference external" href="http://ctan.org/pkg/babel">babel</a> and <a class="reference external" href="http://ctan.org/pkg/teubner">teubner</a> (do we want to define them here as alias?)</p> +\DeclareTextCommand{\textdigammagreek}{\LastDeclaredEncoding}{\textdigamma} +\DeclareTextCommand{\textKoppagreek}{\LastDeclaredEncoding}{\textKoppa} +\DeclareTextCommand{\textkoppagreek}{\LastDeclaredEncoding}{\textkoppa} +\DeclareTextCommand{\textSampigreek}{\LastDeclaredEncoding}{\textSampi} +\DeclareTextCommand{\textsampigreek}{\LastDeclaredEncoding}{\textsampi}</pre> +<p>Names from <a class="reference external" href="https://ctan.org/pkg/babel">babel</a> and <a class="reference external" href="https://ctan.org/pkg/teubner">teubner</a> (do we want to define them here as alias?)</p> <pre class="code latex literal-block"><code><span class="keyword">\DeclareTextCommand</span><span class="name builtin">{</span><span class="keyword">\anwtonos</span><span class="name builtin">}{</span><span class="keyword">\LastDeclaredEncoding</span><span class="name builtin">}{</span><span class="keyword">\textdexiakeraia</span><span class="name builtin">}</span> <span class="comment">% ʹ </span><span class="keyword">\DeclareTextCommand</span><span class="name builtin">{</span><span class="keyword">\katwtonos</span><span class="name builtin">}{</span><span class="keyword">\LastDeclaredEncoding</span><span class="name builtin">}{</span><span class="keyword">\textaristerikeraia</span><span class="name builtin">}</span> <span class="comment">% ͵</span></code></pre> <p>Two Unicode code points and names for one character:</p> @@ -858,9 +910,9 @@ table, LCI encoding)?</p> </span><span class="name variable">\DeclareTextCommand</span><span class="name builtin">{</span><span class="literal string">\)</span><span class="name builtin">}{</span><span class="keyword">\LastDeclaredEncoding</span><span class="name builtin">}{</span><span class="keyword">\accpsili</span><span class="name builtin">}</span></code></pre> </section> <section id="composite-diacritics"> -<h3>Composite diacritics</h3> +<h3><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Composite diacritics</a></h3> <p>Composite accents can be input as sequence of simple diacritics (in -arbitrary order) via named macro, symbol macro and “transcription +arbitrary order) via named macro, symbol macro and “transliteration characters”, e.g. one of</p> <pre class="code latex literal-block"><code><span class="keyword">\accdialyticavaria\textalpha</span>, <span class="keyword">\accdialytica\accvaria\textalpha</span>, @@ -869,11 +921,12 @@ characters”, e.g. one of</p> <span class="keyword">\'</span>"<span class="keyword">\textalpha</span>.</code></pre> <p>Separate definitions for the supported variants of the second input token are required as composition is based on the non-expanded input</p> -<p>The composition with simple “transcription characters” must also be defined +<p>The composition with simple “transliteration characters” must also be defined for the symbol macros, otherwise it fails with <span class="docutils literal">\Makeuppercase</span>.</p> -<p>For Unicode encodings (where they do not resolve to Greek named macros, +<p>For Unicode encodings (where they do not resolve to Greek named macros), composite definitions starting with standard macros are requried:</p> <pre class="literal-block">\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\acctonos}{\accdialytikatonos} +\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\accoxia}{\accdialytikatonos} \DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\'}{\accdialytikatonos} \DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{'}{\accdialytikatonos} \DeclareTextCompositeCommand{\"}{\LastDeclaredEncoding}{\'}{\accdialytikatonos} @@ -942,6 +995,7 @@ composite definitions starting with standard macros are requried:</p> \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{>}{\accpsiliperispomeni} \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\acctonos}{\accpsilioxia} +\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\accoxia}{\accpsilioxia} \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\'}{\accpsilioxia} \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{'}{\accpsilioxia} \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\accvaria}{\accpsilivaria} @@ -952,6 +1006,7 @@ composite definitions starting with standard macros are requried:</p> \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{~}{\accpsiliperispomeni} \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\acctonos}{\accdasiaoxia} +\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\accoxia}{\accdasiaoxia} \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\'}{\accdasiaoxia} \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{'}{\accdasiaoxia} \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\accvaria}{\accdasiavaria} @@ -961,18 +1016,29 @@ composite definitions starting with standard macros are requried:</p> \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\~}{\accdasiaperispomeni}</pre> </section> <section id="uppercase"> -<span id="uclclist"></span><h3>UPPERCASE</h3> -<p>If UPPERCASE (all-caps) is generated with <span class="docutils literal">\MakeUppercase</span>, macro -substitutions in the <span class="docutils literal">\@uclclist</span> apply. This can be used to drop the -diacritics (except dialytika and <a class="reference external" href="https://en.wikipedia.org/wiki/Iota_subscript">iota subscript</a>). Different conventions -exist for the <a class="reference external" href="https://opoudjis.net/unicode/unicode_adscript.html">treatment of the iota subscript with uppercase letters</a>. In -the CB Fonts, a small capital adscript iota is used.</p> +<span id="uclclist"></span><h3><a class="toc-backref" href="#toc-entry-6" role="doc-backlink">UPPERCASE</a></h3> +<p>UPPERCASE (all-caps) is generated with <span class="docutils literal">\MakeUppercase</span>. The +implementation of this command changed in June 2022 <a class="citation-reference" href="#ltnews35" id="citation-reference-1" role="doc-biblioref">[ltnews35]</a>.</p> +<p>According to Greek typographical tradition, diacritics (except dialytika, +iota subscript, macron, and breve) are placed before capital letters in +Titlecase and dropped in UPPERCASE.</p> +<p>Different conventions exist for the treatment of the <a class="reference external" href="https://en.wikipedia.org/wiki/Iota_subscript">mute iota</a> with +uppercase letters. The traditional typographic form and the most common +used in Greece is a subscript, corresponding to the COMBINING GREEK +YPOGEGRAMMENI (U+0345). Even if the pre-composed characters are named … +WITH [… AND] PROSGEGRAMMENI, capitalization should not use the GREEK +PROSGEGRAMMENI (U+1FBE) <a class="citation-reference" href="#nicholas-03" id="citation-reference-2" role="doc-biblioref">[Nicholas-03]</a>, <a class="citation-reference" href="#haralambous-98" id="citation-reference-3" role="doc-biblioref">[Haralambous-98]</a>. Upper case +glyphs with adscript are a stylistic choice, provided by the font. In the +CB Fonts, a small capital adscript iota is used.</p> +<p>Up to 2022/06, macro substitutions in the <span class="docutils literal">\@uclclist</span> could be used to +get the expected behaviour:</p> <section id="uclclist-extension"> -<h4>@uclclist extension</h4> -<p>Based on the <a class="reference external" href="http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf">babel patch</a> and <span class="docutils literal">fontenc.sty</span>.</p> +<h4><a class="toc-backref" href="#toc-entry-7" role="doc-backlink">@uclclist extension</a></h4> +<p>Based on Werner Lemberg’s 2008 <a class="reference external" href="http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf">babel patch</a> and <span class="docutils literal">fontenc.sty</span>.</p> <p>The definition of an auxiliary, self-resetting macro makes this idempotent (only the first use of this function will expand the <span class="docutils literal">@uclclist</span>). -The second and third lines are TeX’ way of writing <span class="docutils literal">uclclist += …</span>:</p> +The second and third lines are TeX’ way of writing <span class="docutils literal">uclclist += …</span></p> +<p>The <span class="docutils literal">\LGR@…</span> auxiliary macros are defined below.</p> <pre class="literal-block">\providecommand*\update@uclc@with@greek{% \expandafter\def\expandafter\@uclclist\expandafter{% \@uclclist @@ -1030,20 +1096,22 @@ The second and third lines are TeX’ way of writing <span class="docutils liter <pre class="literal-block">\update@uclc@with@greek</pre> </section> <section id="substitution-macros"> -<h4>Substitution macros</h4> +<h4><a class="toc-backref" href="#toc-entry-8" role="doc-backlink">Substitution macros</a></h4> <p>Drop diacritics (The argument passing ensures that kerning is preserved)</p> <pre class="literal-block">\DeclareTextCommand{\LGR@accdropped}{\LastDeclaredEncoding}[1]{#1}</pre> <p>Keep dialytika: Define a dummy alias so that downcasing with <span class="docutils literal">\MakeLowercase</span> does not convert a simple dialytika to a composite accent:</p> <pre class="literal-block">\DeclareTextCommand{\LGR@accDialytika}{\LastDeclaredEncoding}{\accdialytika} -\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\LGR@hiatus}{\accdialytika}</pre> -<p>Convert <span class="docutils literal">\prosgegrammeni</span> (adscript iota) to <span class="docutils literal">\ypogegrammeni</span> -(subscript iota) but not vice versa:</p> +\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\LGR@hiatus}{\accdialytika} +\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\LGR@accdropped}{\accdialytika}</pre> +<p>The prosgegrammeni (adscript iota) is used only with capital letters. +We define a dummy macro to enable the conversion of <span class="docutils literal">\prosgegrammeni</span> +to <span class="docutils literal">\ypogegrammeni</span> (subscript iota) but not vice versa:</p> <pre class="literal-block">\DeclareTextCommand{\LGR@ypogegrammeni}{\LastDeclaredEncoding}{\ypogegrammeni}</pre> </section> <section id="mark-hiatus"> -<h4>Mark hiatus</h4> +<h4><a class="toc-backref" href="#toc-entry-9" role="doc-backlink">Mark hiatus</a></h4> <p>Tonos and dasia mark a hiatus if placed on the first vowel of a diphthong (ΑΙ, ΑΥ, ΕΙ). A dialytika must be placed on the second vowel if they are dropped (άυλος → ΑΫΛΟΣ, μάινα → ΜΑΪΝΑ, κέικ → ΚΕΪΚ, @@ -1069,11 +1137,73 @@ that does not skip over spaces.</p> \ifx\@let@token\reserved@d \let\reserved@b\reserved@a \fi \reserved@b }</pre> -<!-- References -- - - - - - - - - - --> </section> </section> </section> +<section id="changes"> +<h2><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">Changes</a></h2> +<table class="borderless"> +<tbody> +<tr><td><p>0.9</p></td> +<td><p>2013-07-03</p></td> +<td><p>code “outsourced” from lgrxenc.def</p></td> +</tr> +<tr><td><p>0.9.1</p></td> +<td><p>2013-07-17</p></td> +<td><p>composite definitions starting with standard accent cmds</p></td> +</tr> +<tr><td><p>0.11</p></td> +<td><p>2013-11-28</p></td> +<td><p><span class="docutils literal">\greekscript</span> TextCommand</p></td> +</tr> +<tr><td><p>0.12</p></td> +<td><p>2014-12-12</p></td> +<td><p>Remove symbol macros for breathing accents.</p></td> +</tr> +<tr><td><p>0.13</p></td> +<td><p>2015-08-04</p></td> +<td><p>No @uclclist entry for ypogegrammeni/prosgegrammeni.</p></td> +</tr> +<tr><td><p>0.13.4</p></td> +<td><p>2019-07-10</p></td> +<td><p><span class="docutils literal">@uclclist</span> entry for <span class="docutils literal">\prosgegrammeni</span>.</p></td> +</tr> +<tr><td><p>1.0</p></td> +<td><p>2020-09-25</p></td> +<td><p><span class="docutils literal">\textKoppagreek</span> and <span class="docutils literal">\textstigmagreek</span> aliases.</p></td> +</tr> +<tr><td><p>2.0</p></td> +<td><p>2020/10/30</p></td> +<td><p>Alias definitions matching mathematical variant symbols.</p></td> +</tr> +<tr><td><p>2.2</p></td> +<td><p>2023-02-28</p></td> +<td><p>Add missing accent composite commands.</p></td> +</tr> +</tbody> +</table> +</section> +<section id="references"> +<h2><a class="toc-backref" href="#toc-entry-11" role="doc-backlink">References</a></h2> +<div role="list" class="citation-list"> +<div class="citation" id="haralambous-98" role="doc-biblioentry"> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-3">Haralambous-98</a><span class="fn-bracket">]</span></span> +<p>Yannis Haralambous +<cite>From Unicode to Typography, a Case Study: the Greek Script</cite>, 1998. +<a class="reference external" href="https://hal.science/hal-02101618">https://hal.science/hal-02101618</a></p> +</div> +<div class="citation" id="ltnews35" role="doc-biblioentry"> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-1">ltnews35</a><span class="fn-bracket">]</span></span> +<p>LaTeX Project Team <cite>LaTeX News 35</cite>, June 2022. +<a class="reference external" href="https://www.latex-project.org/news/latex2e-news/ltnews35.pdf">https://www.latex-project.org/news/latex2e-news/ltnews35.pdf</a></p> +</div> +<div class="citation" id="nicholas-03" role="doc-biblioentry"> +<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-2">Nicholas-03</a><span class="fn-bracket">]</span></span> +<p>Nick Nicholas <cite>Titlecase and Adscripts</cite> 2003. +<a class="reference external" href="https://opoudjis.net/unicode/unicode_adscript.html">https://opoudjis.net/unicode/unicode_adscript.html</a></p> +</div> +</div> +</section> </main> </body> </html> diff --git a/language/greek/greek-fontenc/greek-fontenc.html b/language/greek/greek-fontenc/greek-fontenc.html deleted file mode 100644 index a1fcfab7ac..0000000000 --- a/language/greek/greek-fontenc/greek-fontenc.html +++ /dev/null @@ -1,710 +0,0 @@ -<!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta charset="utf-8" /> -<meta name="viewport" content="width=device-width, initial-scale=1" /> -<meta name="generator" content="Docutils 0.19b.dev: https://docutils.sourceforge.io/" /> -<title>greek-fontenc</title> -<meta name="author" content="Günter Milde" /> -<meta name="dcterms.rights" content="© 2010 – 2022 Günter Milde <milde@users.sf.net>" /> -<link rel="schema.dcterms" href="http://purl.org/dc/terms/"/> -<link rel="stylesheet" href="minimal.css" type="text/css" /> -<link rel="stylesheet" href="responsive.css" type="text/css" /> -</head> -<body class="with-toc"> -<main id="greek-fontenc"> -<h1 class="title">greek-fontenc</h1> -<p class="subtitle" id="greek-font-encoding-definition-files">Greek font encoding definition files</p> -<dl class="docinfo simple"> -<dt class="author">Author<span class="colon">:</span></dt> -<dd class="author"><p>Günter Milde</p></dd> -<dt class="copyright">Copyright<span class="colon">:</span></dt> -<dd class="copyright">© 2010 – 2022 Günter Milde <<a class="reference external" href="mailto:milde@users.sf.net">milde@users.sf.net</a>></dd> -<dt class="licence">Licence<span class="colon">:</span></dt> -<dd class="licence"><p>This work may be distributed and/or modified under the -conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either -version 1.3 of this license or any later version.</p> -</dd> -</dl> -<div class="topic abstract" role="doc-abstract"> -<p class="topic-title">Abstract</p> -<p><cite>LaTeX internal character representation</cite> (LICR) macros are a -verbose but failsafe 7-bit ASCII encoding that works unaltered -under both, 8-bit TeX and XeTeX/LuaTeX. Use cases are macro -definitions and generated text</p> -<p>This bundle provides LICR macros for characters from the -Greek script and encoding definition files for -<a class="reference internal" href="#greek-text-font-encodings">Greek text font encodings</a> for use with <a class="reference external" href="http://www.ctan.org/pkg/fontenc">fontenc</a> (8-bit TeX) -or <a class="reference external" href="http://www.ctan.org/pkg/fontspec">fontspec</a> (XeTeX/LuaTeX).</p> -<p>Included are also the LaTeX packages <a class="reference internal" href="#textalpha">textalpha</a> and <a class="reference internal" href="#alphabeta">alphabeta</a>.</p> -</div> -<nav class="contents" id="contents" role="doc-toc"> -<p class="topic-title">Contents</p> -<ul class="simple"> -<li><p><a class="reference internal" href="#changelog" id="toc-entry-1">Changelog</a></p></li> -<li><p><a class="reference internal" href="#tex-files" id="toc-entry-2">TeX files</a></p></li> -<li><p><a class="reference internal" href="#documentation-and-test-documents" id="toc-entry-3">Documentation and test documents</a></p></li> -<li><p><a class="reference internal" href="#experimental-files" id="toc-entry-4">Experimental files</a></p></li> -<li><p><a class="reference internal" href="#installation" id="toc-entry-5">Installation</a></p></li> -<li><p><a class="reference internal" href="#conflicts" id="toc-entry-6">Conflicts</a></p></li> -<li><p><a class="reference internal" href="#usage" id="toc-entry-7">Usage</a></p></li> -<li><p><a class="reference internal" href="#greek-text-font-encodings" id="toc-entry-8">Greek text font encodings</a></p> -<ul> -<li><p><a class="reference internal" href="#t7" id="toc-entry-9">T7</a></p></li> -<li><p><a class="reference internal" href="#lgr" id="toc-entry-10">LGR</a></p></li> -<li><p><a class="reference internal" href="#lgi" id="toc-entry-11">LGI</a></p></li> -<li><p><a class="reference internal" href="#tu" id="toc-entry-12">TU</a></p></li> -<li><p><a class="reference internal" href="#pu" id="toc-entry-13">PU</a></p></li> -</ul> -</li> -<li><p><a class="reference internal" href="#selecting-greek-licr-macro-names" id="toc-entry-14">Selecting Greek LICR macro names</a></p> -<ul> -<li><p><a class="reference internal" href="#letters-and-symbols" id="toc-entry-15">letters and symbols</a></p></li> -<li><p><a class="reference internal" href="#accent-macros" id="toc-entry-16">accent macros</a></p></li> -<li><p><a class="reference internal" href="#symbol-variants" id="toc-entry-17">symbol variants</a></p></li> -</ul> -</li> -<li><p><a class="reference internal" href="#references" id="toc-entry-18">References</a></p></li> -</ul> -</nav> -<section id="changelog"> -<h2><a class="toc-backref" href="#toc-entry-1" role="doc-backlink">Changelog</a></h2> -<table class="borderless"> -<tbody> -<tr><td><p>0.9</p></td> -<td><p>2013-07-03</p></td> -<td><p><a class="reference external" href="greek-fontenc.def">greek-fontenc.def</a> “outsourced” from lgrxenc.def</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>experimental files xunicode-greek.sty and -greek-euenc.def: LICRs for XeTeX/LuaTeX.</p></td> -</tr> -<tr><td><p>0.9.1</p></td> -<td><p>2013-07-18</p></td> -<td><p>Bugfix: wrong breathings psilioxia -> dasiaoxia.</p></td> -</tr> -<tr><td><p>0.9.2</p></td> -<td><p>2013-07-19</p></td> -<td><p>Bugfix: Disable composite defs starting with char macro,</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>fix “hiatus” handling.</p></td> -</tr> -<tr><td><p>0.9.3</p></td> -<td><p>2013-07-24</p></td> -<td><p>Fix “input” path in xunicode-greek and greek-euenc.def.</p></td> -</tr> -<tr><td><p>0.9.4</p></td> -<td><p>2013-09-10</p></td> -<td><p>greek-fontenc.sty: Greek text font encoding setup package,</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>remove xunicode-greek.sty.</p></td> -</tr> -<tr><td><p>0.10</p></td> -<td><p>2013-09-13</p></td> -<td><p><a class="reference external" href="textalpha.sty">textalpha.sty</a> and <a class="reference external" href="alphabeta.sty">alphabeta.sty</a> moved here from lgrx and -updated to work with XeTeX/LuaTeX.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>greek-fontenc.sty removed (obsoleted by textalpha.sty).</p></td> -</tr> -<tr><td><p>0.10.1</p></td> -<td><p>2013-10-01</p></td> -<td><p>Bugfix in greek-euenc.def and alphabeta-euenc.def.</p></td> -</tr> -<tr><td><p>0.11</p></td> -<td><p>2013-11-28</p></td> -<td><p>Compatibility with Xe/LuaTeX in 8-bit mode,</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p><span class="docutils literal">\greekscript</span> TextCommand.</p></td> -</tr> -<tr><td><p>0.11.1</p></td> -<td><p>2013-12-01</p></td> -<td><p>Fix identification of <span class="docutils literal"><span class="pre">greek-euenc.def</span></span>.</p></td> -</tr> -<tr><td><p>0.11.2</p></td> -<td><p>2014-09-04</p></td> -<td><p>Documentation update, remove duplicate code.</p></td> -</tr> -<tr><td><p>0.12</p></td> -<td><p>2014-12-25</p></td> -<td><p>Fix auxiliary macro names in <cite>textalpha</cite>.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Conservative naming: move definition of <span class="docutils literal">\<</span> and <span class="docutils literal">\></span> -from <span class="docutils literal"><span class="pre">greek-fontenc.def</span></span> to <span class="docutils literal">textalpha.sty</span> -(Bugreport David Kastrup). -Documentation update.</p></td> -</tr> -<tr><td><p>0.13</p></td> -<td><p>2015-09-04</p></td> -<td><p>Support for <a class="reference internal" href="#symbol-variants">symbol variants</a>,</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p><span class="docutils literal"><span class="pre">keep-semicolon</span></span> option in <a class="reference internal" href="#textalpha">textalpha</a>,</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p><span class="docutils literal">\lccode</span>/<span class="docutils literal">\uccode</span> corrections for Unicode -(from Apostolos Syropoulos’ <a class="reference external" href="http://www.ctan.org/pkg/xgreek">xgreek</a>) in greek-euenc,</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Do not convert <span class="docutils literal">\ypogegrammeni</span> to <span class="docutils literal">\prosgegrammeni</span> -with <span class="docutils literal">\MakeUppercase</span>.</p></td> -</tr> -<tr><td><p>0.13.1</p></td> -<td><p>2015-12-07</p></td> -<td><p>Fix <a class="reference external" href="http://tex.stackexchange.com/questions/281631/greek-small-rho-with-dasia-and-also-psili-problem-with-accent-and-lgr-encodin">rho with dasia bug</a> in lgrenc.def (Linus Romer).</p></td> -</tr> -<tr><td><p>0.13.2</p></td> -<td><p>2016-02-05</p></td> -<td><p>Support for standard Unicode text font encoding “TU” -(new in fontspec v2.5a).</p></td> -</tr> -<tr><td><p>0.13.3</p></td> -<td><p>2019-07-10</p></td> -<td><p>Drop error font declaration (cf. <a class="reference external" href="https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex%2F4399&search=">ltxbugs 4399</a>).</p></td> -</tr> -<tr><td><p>0.13.4</p></td> -<td><p>2019-07-11</p></td> -<td><p><span class="docutils literal">@uclclist</span> entry for <span class="docutils literal">\prosgegrammeni</span>.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Documentation update.</p></td> -</tr> -<tr><td><p>0.14</p></td> -<td><p>2020-02-28</p></td> -<td><p>Update test for Unicode fonts. -Rename <span class="docutils literal"><span class="pre">greek-euenc</span></span> to <span class="docutils literal"><span class="pre">tuenc-greek</span></span>.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Use <span class="docutils literal">\UTFencoding</span> instead of <span class="docutils literal">\LastDeclaredEncoding</span>.</p></td> -</tr> -<tr><td><p>1.0</p></td> -<td><p>2020-09-25</p></td> -<td><p>Bugfix in <a class="reference internal" href="#textalpha">textalpha</a>: Let <span class="docutils literal">\greekscript</span> set -<span class="docutils literal">\encodingdefault</span>.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p><span class="docutils literal">\textKoppa</span> as alias for <span class="docutils literal">\textkoppa</span> in LGR.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Update URLs.</p></td> -</tr> -<tr><td><p>2.0</p></td> -<td><p>2020-10-30</p></td> -<td><p>Move common alias definitions to <span class="docutils literal"><span class="pre">greek-fontenc.def</span></span>.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p><a class="reference internal" href="#textalpha">textalpha</a> loads TU with Xe/LuaTeX by default and -provides <span class="docutils literal">\textmicro</span> and LICR macros for archaic -symbols from the Greek and Coptic Unicode block.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Use <span class="docutils literal">\UnicodeEncodingName</span> (by the LaTeX kernel) instead -of <span class="docutils literal">\UTFencname</span> for the Unicode font encoding name.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Replace utf8 literals in <span class="docutils literal"><span class="pre">tuenc-greek.def</span></span>.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>New file puenc-greek.def: setup for PU encoding -(defined by <a class="reference external" href="http://www.ctan.org/pkg/hyperref">hyperref</a> for PDF strings).</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Don’t use <span class="docutils literal">\textcompwordmark</span> as base in accent commands.</p></td> -</tr> -<tr><td><!-- --> -</td> -<td></td> -<td><p>Documentation update.</p></td> -</tr> -<tr><td><p>2.1</p></td> -<td><p>2022-06-14</p></td> -<td><p>Support the correct spelling <span class="docutils literal">\guillemet…</span> for « and ». -See <a class="reference external" href="https://github.com/latex3/latex2e/issues/65">https://github.com/latex3/latex2e/issues/65</a></p></td> -</tr> -</tbody> -</table> -</section> -<section id="tex-files"> -<h2><a class="toc-backref" href="#toc-entry-2" role="doc-backlink">TeX files</a></h2> -<dl> -<dt><a class="reference external" href="lgrenc.def">lgrenc.def</a></dt> -<dd><p><a class="reference external" href="lgrenc.def.html">LGR Greek font encoding definitions</a>.</p> -<p>This file is the successor of the basic LGR encoding definition file which -comes with <a class="reference external" href="http://www.ctan.org/pkg/babel">babel</a>’s Greek support and the now obsolete <a class="reference external" href="http://www.ctan.org/pkg/lgrx">lgrx</a> bundle.</p> -</dd> -<dt id="tuenc-greek"><a class="reference external" href="tuenc-greek.def">tuenc-greek.def</a></dt> -<dd><p><a class="reference external" href="tuenc-greek.def.html">Font setup for Greek with XeTeX/LuaTeX</a>.</p> -</dd> -<dt><a class="reference external" href="puenc-greek.def">puenc-greek.def</a></dt> -<dd><p><a class="reference external" href="puenc-greek.def.html">Greek LICR definitions for PDF strings</a>.</p> -</dd> -<dt><a class="reference external" href="greek-fontenc.def">greek-fontenc.def</a></dt> -<dd><p><a class="reference external" href="greek-fontenc.def.html">Common Greek font encoding definitions</a>.</p> -</dd> -<dt id="lgr-font-encoding-definition-file"><a class="reference external" href="greek-euenc.def">greek-euenc.def</a></dt> -<dd><p>Backwards compatibility file loading <a class="reference internal" href="#tuenc-greek">tuenc-greek</a>.</p> -</dd> -<dt id="textalpha"><a class="reference external" href="textalpha.sty">textalpha.sty</a></dt> -<dd><p><a class="reference external" href="textalpha.sty.html">Greek symbols in text</a></p> -<p>Use <span class="docutils literal">\textalpha</span> … <span class="docutils literal">\textOmega</span> independent of font encoding and TeX -engine.</p> -</dd> -<dt id="alphabeta"><a class="reference external" href="alphabeta.sty">alphabeta.sty</a></dt> -<dd><p><a class="reference external" href="alphabeta.sty.html">Greek symbols in text and math</a>.</p> -<p>Use <span class="docutils literal">\alpha</span> … <span class="docutils literal">\Omega</span> independent of text/math mode, font -encoding, and TeX engine.</p> -<dl class="simple"> -<dt><a class="reference external" href="alphabeta-lgr.def">alphabeta-lgr.def</a></dt> -<dd><p><a class="reference external" href="alphabeta-lgr.def.html">Composite definitions for 8-bit TeX.</a>.</p> -</dd> -<dt><a class="reference external" href="alphabeta-tuenc.def">alphabeta-tuenc.def</a></dt> -<dd><p><a class="reference external" href="alphabeta-tuenc.def.html">Composite definitions with XeTeX/LuaTeX.</a>.</p> -</dd> -</dl> -</dd> -</dl> -<p>Literate source files were converted with <a class="reference external" href="http://pypi.python.org/pypi/pylit">PyLit</a> to <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> and -with <a class="reference external" href="http://docutils.sourceforge.net/rst.html">Docutils</a> to the HTML documentation.</p> -</section> -<section id="documentation-and-test-documents"> -<h2><a class="toc-backref" href="#toc-entry-3" role="doc-backlink">Documentation and test documents</a></h2> -<dl class="simple"> -<dt>Overview:</dt> -<dd><p><a class="reference external" href="README">README</a>, <a class="reference external" href="greek-fontenc.html">greek-fontenc.html</a></p> -</dd> -<dt><a class="reference internal" href="#textalpha">textalpha</a> package documentation:</dt> -<dd><p><a class="reference external" href="textalpha-doc.tex">textalpha-doc.tex</a>, <a class="reference external" href="textalpha-doc.pdf">textalpha-doc.pdf</a>, <a class="reference external" href="textalpha-tu.pdf">textalpha-tu.pdf</a></p> -</dd> -<dt><a class="reference internal" href="#alphabeta">alphabeta</a> package documentation:</dt> -<dd><p><a class="reference external" href="alphabeta-doc.tex">alphabeta-doc.tex</a>, <a class="reference external" href="alphabeta-doc.pdf">alphabeta-doc.pdf</a>, <a class="reference external" href="alphabeta-tu.pdf">alphabeta-tu.pdf</a></p> -</dd> -<dt>LGR test and usage example</dt> -<dd><p><a class="reference external" href="test-lgrenc.tex">test-lgrenc.tex</a>, <a class="reference external" href="test-lgrenc.pdf">test-lgrenc.pdf</a></p> -</dd> -<dt>TU test and usage example</dt> -<dd><p><a class="reference external" href="test-tuenc-greek.tex">test-tuenc-greek.tex</a>, <a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a></p> -</dd> -<dt><a class="reference external" href="http://www.ctan.org/pkg/hyperref">Hyperref</a> test and usage example</dt> -<dd><p><a class="reference external" href="hyperref-with-greek.tex">hyperref-with-greek.tex</a>, <a class="reference external" href="hyperref-with-greek.pdf">hyperref-with-greek.pdf</a></p> -</dd> -<dt>Test with input encodings other than utf-8</dt> -<dd><p><a class="reference external" href="test-inputenc.tex">test-inputenc.tex</a>, <a class="reference external" href="test-inputenc.pdf">test-inputenc.pdf</a></p> -</dd> -<dt>Greek diacritics with standard accent macros</dt> -<dd><p><a class="reference external" href="diacritics.tex">diacritics.tex</a>, <a class="reference external" href="diacritics.pdf">diacritics.pdf</a></p> -</dd> -</dl> -</section> -<section id="experimental-files"> -<h2><a class="toc-backref" href="#toc-entry-4" role="doc-backlink">Experimental files</a></h2> -<p>These files are still in development and will eventually be moved to/merged -with other packages or removed in future versions:</p> -<dl class="simple"> -<dt><a class="reference external" href="lgr2licr.lua">lgr2licr.lua</a></dt> -<dd><p><a class="reference external" href="lgr2licr.lua.html">LGR Transcription to Greek LICR transformation</a></p> -</dd> -</dl> -</section> -<section id="installation"> -<h2><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Installation</a></h2> -<p>If possible, get the bundle from your distribution using its installation -manager.</p> -<p>Otherwise, make sure LaTeX can find the package and definition files:</p> -<ul class="simple"> -<li><p>Download and unpack <a class="reference external" href="http://mirrors.ctan.org/language/greek/greek-fontenc.zip">greek-fontenc.zip</a>.</p></li> -<li><p>Copy/Move/Link files ending in <span class="docutils literal">.def</span> or <span class="docutils literal">.sty</span> to a suitable place in -the “TeX Directory Structure” (<a class="reference external" href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds">TDS</a>) and run <span class="docutils literal">texhash</span>, or place them in -the current working directory (e.g. for testing).</p></li> -</ul> -</section> -<section id="conflicts"> -<h2><a class="toc-backref" href="#toc-entry-6" role="doc-backlink">Conflicts</a></h2> -<p>The <a class="reference external" href="https://www.ctan.org/pkg/arabi">arabi</a> package provides the Babel <span class="docutils literal">arabic</span> option which loads -<span class="docutils literal">arabicfnt.sty</span> for font setup. This package overwrites the LICR macros -<span class="docutils literal">\omega</span> and <span class="docutils literal">\textomega</span> with font selecting commands. See the report -for Debian <a class="reference external" href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=858987">bug 858987</a> for details and the <a class="reference internal" href="#arabi-workaround">arabi workaround</a> below.</p> -</section> -<section id="usage"> -<h2><a class="toc-backref" href="#toc-entry-7" role="doc-backlink">Usage</a></h2> -<p>There are several alternatives to set up the support for a Greek font -encoding provided by this bundle, e.g.:</p> -<dl> -<dt>Babel:</dt> -<dd><p>Use the <span class="docutils literal">greek</span> option with <a class="reference external" href="http://www.ctan.org/pkg/babel">Babel</a>:</p> -<pre class="literal-block">\usepackage[greek]{babel}</pre> -<p>This automatically loads <span class="docutils literal">lgrenc.def</span> with 8-bit TeX and -<span class="docutils literal"><span class="pre">tuenc-greek.def</span></span> with XeTeX/LuaTeX and provides localized auto-strings, -hyphenation and other localizations (see <a class="reference external" href="http://www.ctan.org/pkg/babel-greek">babel-greek</a>).</p> -<p>Babel can be used together with <a class="reference internal" href="#textalpha">textalpha</a> or <a class="reference internal" href="#alphabeta">alphabeta</a>.</p> -</dd> -<dt><a class="reference internal" href="#textalpha">textalpha</a>:</dt> -<dd><p>Ensure support for Greek characters in text mode:</p> -<pre class="literal-block">\usepackage{textalpha}</pre> -<p>eventually with the <a class="reference external" href="textalpha.sty.html#normalize-symbols">normalize-symbols</a> option to handle <a class="reference internal" href="#symbol-variants">symbol variants</a> -and/or the <a class="reference external" href="textalpha.sty.html#keep-semicolon">keep-semicolon</a> option to use the <a class="reference external" href="textalpha.sty.html#semicolon-as-erotimatiko">semicolon as erotimatiko</a> -also in LGR</p> -<pre class="literal-block">\usepackage[normalize-symbols,keep-semicolon]{textalpha}</pre> -<p>This sets up LICR macros for Greek text charactes under both, 8-bit TeX -and Xe-/LuaTeX. -For details see <a class="reference external" href="textalpha-doc.tex">textalpha-doc.tex</a> and <a class="reference external" href="textalpha-doc.pdf">textalpha-doc.pdf</a> (8-bit -TeX) as well as <a class="reference external" href="test-tuenc-greek.tex">test-tuenc-greek.tex</a> and <a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a> -(XeTeX/LuaTeX).</p> -</dd> -<dt><a class="reference internal" href="#alphabeta">alphabeta</a>:</dt> -<dd><p>To use the short macro names (<span class="docutils literal">\alpha</span> … <span class="docutils literal">\Omega</span>) known from math -mode in both, text and math mode, write</p> -<pre class="literal-block">\usepackage{alphabeta}</pre> -<p>For details see <a class="reference external" href="alphabeta-doc.tex">alphabeta-doc.tex</a> and <a class="reference external" href="alphabeta-doc.pdf">alphabeta-doc.pdf</a>.</p> -</dd> -<dt>fontenc:</dt> -<dd><p>Declare LGR via <a class="reference external" href="http://www.ctan.org/pkg/fontenc">fontenc</a>. For example, specify T1 (8-bit -Latin) as default font encoding and LGR for Greek with</p> -<pre class="literal-block">\usepackage[LGR,T1]{fontenc}</pre> -<p>Note that without <a class="reference internal" href="#textalpha">textalpha</a> or <a class="reference internal" href="#alphabeta">alphabeta</a>, Greek text macros work -only if the current font encoding supports Greek. See <a class="citation-reference" href="#fntguide" id="citation-reference-1" role="doc-biblioref">[fntguide]</a> for -details and <a class="reference external" href="test-lgrenc.tex">test-lgrenc.tex</a> for an example.</p> -<p>It is possible to use 8-bit Greek text fonts in the LGR TeX font encoding -also with XeTeX/LuaTeX, if the <a class="reference external" href="http://www.ctan.org/pkg/fontenc">fontenc</a> package is loaded before -Babel, <a class="reference internal" href="#textalpha">textalpha</a>, or <a class="reference internal" href="#alphabeta">alphabeta</a>, e.g.</p> -<pre class="literal-block">\usepackage[LGR]{fontenc} -\usepackage{fontspec} -\setmainfont{Linux Libertine O} % Latin Modern does not support Greek -\setsansfont{Linux Biolinum O} -\usepackage{textalpha}</pre> -<p>See <a class="reference external" href="test-tuenc-greek.tex">test-tuenc-greek.tex</a>, <a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a> and -<a class="reference external" href="test-lgrenc.tex">test-lgrenc.tex</a>, <a class="reference external" href="test-lgrenc.pdf">test-lgrenc.pdf</a>.</p> -</dd> -</dl> -<p id="arabi-workaround">To work around the conflict with <a class="reference external" href="https://www.ctan.org/pkg/arabi">arabi</a>, it may suffice to ensure <span class="docutils literal">greek</span> -is loaded after <span class="docutils literal">arabic</span>:</p> -<pre class="literal-block">\usepackage[arabic,greek,english]{babel}</pre> -<p>More secure is an explicit reverse-definition, e.g.</p> -<pre class="literal-block">% save original \omega -\let\mathomega\omega - -\usepackage[utf8]{inputenc} -\usepackage[LAE,LGR,T1]{fontenc} -\usepackage[arabic,greek,english]{babel} - -% fix arabtex: -\DeclareTextSymbol{\textomega}{LGR}{119} -\renewcommand{\omega}{\mathomega}</pre> -</section> -<section id="greek-text-font-encodings"> -<h2><a class="toc-backref" href="#toc-entry-8" role="doc-backlink">Greek text font encodings</a></h2> -<p>Greek TeX font encodings are the envisaged <a class="reference internal" href="#t7">T7</a>, <a class="reference internal" href="#lgr">LGR</a>, and <a class="reference internal" href="#lgi">LGI</a>. -Greek letters and symbols are also defined in the Unicode-based font -encodings <a class="reference internal" href="#tu">TU</a>, and <a class="reference internal" href="#pu">PU</a>.</p> -<section id="t7"> -<h3><a class="toc-backref" href="#toc-entry-9" role="doc-backlink">T7</a></h3> -<p>The <a class="citation-reference" href="#encguide" id="citation-reference-2" role="doc-biblioref">[encguide]</a> reserves the name T7 for a Greek <cite>standard font encoding</cite>. -However, up to now, there is no agreement on an implementation because the -restrictions for general text encodings are too severe for typesetting -polytonic Greek.</p> -</section> -<section id="lgr"> -<h3><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">LGR</a></h3> -<p>The LGR font encoding is the de-facto standard for typesetting Greek with -(8-bit) LaTeX. <cite>greek-fontenc</cite> provides a comprehensive <a class="reference internal" href="#lgr-font-encoding-definition-file">LGR font -encoding definition file</a>.</p> -<p>Fonts in this encoding include the <a class="reference external" href="http://www.ctan.org/pkg/cbgreek-complete">CB fonts</a> (matching CM), <a class="reference external" href="http://www.ctan.org/pkg/grtimes">grtimes</a> -(Greek Times), <a class="reference external" href="http://www.ctan.org/pkg/kerkis">Kerkis</a> (matching URW Bookman), <a class="reference external" href="https://www.ctan.org/pkg/dejavu">DejaVu</a>, <a class="reference external" href="https://www.ctan.org/pkg/libertinegc">Libertine GC</a>, and -the <a class="reference external" href="http://www.ctan.org/pkg/gfs">GFS fonts</a>. Setup of these fonts as Greek variant to -matching Latin fonts is facilitated by the <a class="reference external" href="http://www.ctan.org/pkg/substitutefont">substitutefont</a> package.</p> -<p>The LGR font encoding allows to access Greek characters via an ASCII -transliteration. This enables simple input with a Latin keyboard. -Characters with diacritics can be selected by ligature definitions in the -font (see <a class="citation-reference" href="#greek-usage" id="citation-reference-3" role="doc-biblioref">[greek-usage]</a>, <a class="citation-reference" href="#teubner-doc" id="citation-reference-4" role="doc-biblioref">[teubner-doc]</a>, <a class="citation-reference" href="#cbfonts" id="citation-reference-5" role="doc-biblioref">[cbfonts]</a>).</p> -<p>A major drawback of the transliteration is, that you cannot access Latin -letters if LGR is the active font encoding (e.g. in documents or parts of -documents given the <cite>Babel</cite> language <span class="docutils literal">greek</span> or <span class="docutils literal">polutionikogreek</span>). -This means that for every Latin-written word or acronym an explicit -language-switch is required. This problem can only be solved via a -font-encoding comprising Latin and Greek like the envisaged <a class="reference internal" href="#t7">T7</a> or -Unicode (with XeTeX or LuaTeX).</p> -</section> -<section id="lgi"> -<h3><a class="toc-backref" href="#toc-entry-11" role="doc-backlink">LGI</a></h3> -<p>The ‘Ibycus’ fonts from the package <a class="reference external" href="http://www.ctan.org/pkg/ibygrk">ibygrk</a> implement an alternative -transliteration scheme (also explained in <a class="citation-reference" href="#babel-patch" id="citation-reference-6" role="doc-biblioref">[babel-patch]</a>). -It is currently not supported by <cite>greek-fontenc</cite>.</p> -<p>The font encoding file <span class="docutils literal">lgienc.def</span> from <a class="reference external" href="http://www.ctan.org/pkg/ibycus-babel">ibycus-babel</a> provides a basic -setup (without any LICR macros or composite definitions).</p> -</section> -<section id="tu"> -<h3><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">TU</a></h3> -<p>Standard Unicode font encoding for XeTeX and LuaTeX loaded by <a class="reference external" href="http://www.ctan.org/pkg/fontspec">fontspec</a> -(since v2.5a) rsp. the LaTeX kernel since 2017/01/01 [LaTeX2e News Issue 26]_. -<cite>greek-fontenc</cite> adds support for the Greek script (see <a class="reference internal" href="#tuenc-greek">tuenc-greek</a>).</p> -<p>Xe/LuaTeX works with any system-wide installed <a class="reference external" href="https://ctan.org/topic/font-otf">OpenType font</a>. Suitable -fonts supporting Greek include <a class="reference external" href="https://www.ctan.org/pkg/cm-unicode">CM Unicode</a>, <a class="reference external" href="http://dejavu-fonts.org">Deja Vu</a>, <a class="reference external" href="https://ctan.org/pkg/ebgaramond">EB Garamond</a>, -the <a class="reference external" href="http://www.ctan.org/pkg/gfs">GFS fonts</a>, <a class="reference external" href="http://www.ctan.org/pkg/libertineotf">Libertine OTF</a>, <a class="reference external" href="https://ctan.org/pkg/libertinus">Libertinus</a>, <a class="reference external" href="https://ctan.org/pkg/oldstandard">Old Standard</a>, -<a class="reference external" href="https://www.ctan.org/pkg/tempora">Tempora</a>, and <a class="reference external" href="https://www.ctan.org/pkg/umtypewriter">UM Typewriter</a> (all available on CTAN) but also many commercial -fonts. Unfortunately, the <a class="reference external" href="http://www.ctan.org/pkg/fontspec">fontspec</a> default, <a class="reference external" href="http://www.gust.org.pl/projects/e-foundry/latin-modern">Latin Modern</a> misses most -Greek characters.</p> -<p>XeTeX uses the Unicode NFC normalization, so that combining characters -are merged with the base character if a pre-composed character exists. This -results in better looking output for characters with multiple diacritics. -Unfortunately, LuaTeX does not apply the NFC normalization. This leads to -suboptimal placing of some diactritics, especially the sub-iota (becoming -unintelligable in combination with small letter eta).</p> -<p>TODO: The <a class="reference external" href="https://ctan.org/pkg/lua-uni-algos">lua-uni-algos</a> package may be helpfull to implement a NTC -normalization to Greek text in LuaTeX.</p> -<p>The legacy Unicode font encodings EU1 and EU2 for XeTeX and LuaTeX -respectively were superseded by TU in the 2017 <a class="reference external" href="http://www.ctan.org/pkg/fontspec">fontspec</a> release.</p> -</section> -<section id="pu"> -<h3><a class="toc-backref" href="#toc-entry-13" role="doc-backlink">PU</a></h3> -<p>The package <a class="reference external" href="http://www.ctan.org/pkg/hyperref">hyperref</a> defines the PU font encoding for use in PDF strings -(ToC, bookmarks) which supports monotonic Greek. <cite>greek-fontenc</cite> adds -support for polytonic Greek and some archaic characters also supported in -LGR and TU (see <a class="reference external" href="hyperref-with-greek.tex">hyperref-with-greek.tex</a>, <a class="reference external" href="hyperref-with-greek.pdf">hyperref-with-greek.pdf</a>).</p> -</section> -</section> -<section id="selecting-greek-licr-macro-names"> -<h2><a class="toc-backref" href="#toc-entry-14" role="doc-backlink">Selecting Greek LICR macro names</a></h2> -<aside class="admonition note"> -<p class="admonition-title">Note</p> -<p>The LICR macro names for Greek symbols are chosen pending -endorsement by the TeX community and related packages.</p> -<p>Names for archaic characters, accents/diacritics, and -punctuation may change in future versions.</p> -</aside> -<p>This bundle provides LaTeX internal character representations (LICR macros) -for Greek letters and diacritics. Macro names were selected based on the -following considerations:</p> -<section id="letters-and-symbols"> -<h3><a class="toc-backref" href="#toc-entry-15" role="doc-backlink">letters and symbols</a></h3> -<ul> -<li><p>The <a class="reference internal" href="#fntguide">fntguide</a> (section 6.4 Naming conventions) recommends:</p> -<blockquote> -<p>Where possible, text symbols should be named as <span class="docutils literal">\text</span> followed -by the <strong>Adobe glyph name</strong>: for example <span class="docutils literal">\textonequarter</span> or -<span class="docutils literal">\textsterling</span>. Similarly, math symbols should be named as -<span class="docutils literal">\math</span> followed by the glyph name, for example -<span class="docutils literal">\mathonequarter</span> or <span class="docutils literal">\mathsterling</span>.</p> -</blockquote> -<dl class="simple"> -<dt>Problem:</dt> -<dd><p>The <a class="reference external" href="http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/aglfn.txt">Adobe Glyph List For New Fonts</a> has names for many glyphs in the -<cite>Greek and Coptic</cite> Unicode block, but not for <cite>Greek extended</cite>. The -<a class="reference external" href="http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/glyphlist.txt">Adobe Glyph List</a> (for existing fonts) lists additional glyph names -used in older fonts. However, these are not intended for active use.</p> -</dd> -</dl> -</li> -<li><p>If there exists a <strong>math-mode macro</strong> for a symbol, the corresponding text -macro could be formed by prepending <span class="docutils literal">text</span>.</p> -<dl class="simple"> -<dt>Example:</dt> -<dd><p>The glyph name for the GREEK SMALL LETTER FINAL SIGMA is <span class="docutils literal">sigma1</span>, -the corresponding math-macro is <span class="docutils literal">\varsigma</span>. The text symbol is -made available as <span class="docutils literal">\textvarsigma</span>.</p> -</dd> -<dt>Problem:</dt> -<dd><p>The math macros for the <a class="reference internal" href="#symbol-variants">symbol variants</a> <span class="docutils literal">\varepsilon</span> and -<span class="docutils literal">\varphi</span> map to characters named “GREEK SMALL <em>LETTER</em> …”, while -<span class="docutils literal">\vartheta</span>, <span class="docutils literal">\varkappa</span>, <span class="docutils literal">\varrho</span>, and <span class="docutils literal">\varpi</span> map to “GREEK -… <em>SYMBOL</em>” Unicode characters. (See also section 5.5.3 of the -<a class="reference external" href="http://www.ctan.org/pkg/unicode-math">unicode-math</a> documentation.)</p> -</dd> -</dl> -</li> -<li><p>The <a class="reference external" href="http://www.unicode.org/Public/UNIDATA/NamesList.txt">Unicode names list</a> provides standardized descriptive names for all -Unicode characters that use only capital letters of the Latin alphabet. -While not suited for direct use in LICR macros, they can be either</p> -<ol class="lowerroman simple"> -<li><p>used as inspiration for new LICR macro names or</p></li> -<li><p>converted to LICR macro names via a defined set of transformation rules.</p></li> -</ol> -<dl class="simple"> -<dt>Example:</dt> -<dd><p><span class="docutils literal">\textfinalsigma</span> is a descriptive alias for -GREEK SMALL LETTER FINAL SIGMA derived via the rules:</p> -<ul class="simple"> -<li><p>drop “LETTER” if the name remains unique,</p></li> -<li><p>drop “GREEK” if the name remains unique,</p></li> -<li><p>use capitalized name for capital letters, lowercase for “SMALL” letters -and drop “SMALL”,</p></li> -<li><p>concatenate</p></li> -</ul> -</dd> -</dl> -</li> -<li><p>Omit the “text” prefix for macros that do not have a math counterpart?</p> -<dl class="simple"> -<dt>Pro:</dt> -<dd><ul class="simple"> -<li><p>Simpler,</p></li> -<li><p>ease of use (less typing, better readability of source text),</p></li> -<li><p>many established text macro names without “text”,</p></li> -<li><p><span class="docutils literal">text</span> prefix does <strong>not</strong> mark a macro as encoding-specific or -“inserting a glyph”. There are e.g. font-changing macros (<span class="docutils literal">\textbf</span>, -<span class="docutils literal">\textit</span>) and encoding-changing macros (<span class="docutils literal">\textgreek</span>, -<span class="docutils literal">\textcyr</span>).</p></li> -<li><p>There are examples of encoding-specific macros -without the <span class="docutils literal">text</span>-prefix, especially for letters, see <a class="reference internal" href="#encguide">encguide</a>.</p></li> -</ul> -</dd> -<dt>Contra:</dt> -<dd><ul class="simple"> -<li><p>Less consistent,</p></li> -<li><p>possible name clashes</p></li> -<li><p><span class="docutils literal">text</span> prefix marks a macro as confined to text (as opposed to math) -mode,</p></li> -</ul> -</dd> -</dl> -<p>The font encoding definition files use the <span class="docutils literal">text</span> prefix for symbols. -Aliases (short forms, compatibility defs, etc.) are defined in -additional packages (e.g. <a class="reference external" href="alphabeta.sty">alphabeta.sty</a>, <a class="reference external" href="http://www.ctan.org/pkg/babel-greek">babel-greek</a>, or <a class="reference external" href="http://www.ctan.org/pkg/teubner">teubner</a>)</p> -</li> -</ul> -</section> -<section id="accent-macros"> -<h3><a class="toc-backref" href="#toc-entry-16" role="doc-backlink">accent macros</a></h3> -<ul> -<li><p>standard accent macros (<span class="docutils literal">\DeclareTextAccent</span> definitions in -<span class="docutils literal"><span class="pre">latex/base/...</span></span>) are one-symbol macros (<span class="docutils literal">\' \" ... \u \v ...</span>) .</p></li> -<li><p><span class="docutils literal">tipa.sty</span>, <a class="reference external" href="http://www.ctan.org/pkg/xunicode">xunicode</a>, and <a class="reference external" href="http://www.ctan.org/pkg/unicode">ucs</a> use the “text” prefix also for accents.</p> -<p>However, the <a class="reference external" href="http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/aglfn.txt">Adobe Glyph List For New Fonts</a> maps, e.g., “tonos” and -“dieresistonos” to the spacing characters GREEK TONOS and GREEK DIALYTIKA -TONOS, hence <cite>texttonos</cite> and <cite>textdiaresistonos</cite> should be spacing -characters.</p> -</li> -<li><p>textcomp (ts1enc.def) defines <span class="docutils literal"><span class="pre">\capital...</span></span> accents (i.e. without -<span class="docutils literal">text</span> prefix).</p></li> -</ul> -<p>Currently, <cite>greek-fontenc</cite> uses for diacritics:</p> -<ul class="simple"> -<li><p>Greek names like in Unicode, and <span class="docutils literal">ucsencs.def</span>, and</p></li> -<li><p>the prefix <span class="docutils literal">\acc</span> to distinguish the macros as <cite>TextAaccent</cite> and reduce -the risc of name clashes (cf. <span class="docutils literal">\@tabacckludge</span>).</p></li> -</ul> -<p>For the end-user “symbol macros” (<span class="docutils literal">\~ \' \` \" \< \> \"' ...</span>) are -provided. (The non-standard macros <span class="docutils literal">\<</span> and <span class="docutils literal">\></span> only with -<a class="reference internal" href="#textalpha">textalpha</a> or <a class="reference internal" href="#alphabeta">alphabeta</a>.)</p> -</section> -<section id="symbol-variants"> -<h3><a class="toc-backref" href="#toc-entry-17" role="doc-backlink">symbol variants</a></h3> -<p>See also <a class="reference external" href="http://en.wikipedia.org/wiki/Greek_alphabet#Glyph_variants">http://en.wikipedia.org/wiki/Greek_alphabet#Glyph_variants</a></p> -<p>Mathematical notation distinguishes variant shapes for beta (β|ϐ), theta -(θ|ϑ), phi (φ|ϕ), pi (π|ϖ), kappa (κ|ϰ), rho (ρ|ϱ), Theta (Θ|ϴ), and epsilon -(ε|ϵ). The variations have no syntactic meaning in Greek text and Greek -text fonts use the shape variants indiscriminately.</p> -<p>Unicode defines separate code points for the symbol variants for use in -mathematical context. However, they are sometimes also used in place of the -corresponding letter characters in Unicode-encoded text.</p> -<p>The variant shapes are not given separate code-points in the <a class="reference internal" href="#lgr">LGR</a> font -encoding.</p> -<p>In mathematical mode, TeX supports the distinction between θ|ϑ, π|ϖ, φ|ϕ, -ρ|ϱ, and ε|ϵ with <span class="docutils literal">\var<lettername></span> macros. However, the mapping of -letter/symbol in Unicode to “normal”/variant in TeX is inconsistent -and variant macros for ϴ ϐ, and ϰ are not available without additional -packages (e.g. <a class="reference external" href="http://www.ctan.org/pkg/amsfonts">amssymb</a> provides ϰ as <span class="docutils literal">\varkappa</span>).</p> -<p><cite>greek-fontenc</cite> provides <span class="docutils literal">\text<lettername>symbol</span> LICR macros for these -characters:</p> -<ul class="simple"> -<li><p>With Unicode fonts, the macros select the GREEK -<lettername> SYMBOL``.</p></li> -<li><p>With LGR encoded fonts, they report an error by default and are mapped to -the corresponding letter with the <span class="docutils literal"><span class="pre">normalize-symbols</span></span> option of -<a class="reference internal" href="#textalpha">textalpha</a> and <a class="reference internal" href="#alphabeta">alphabeta</a> (loosing the distinction between the shape -variants).</p></li> -</ul> -</section> -</section> -<section id="references"> -<h2><a class="toc-backref" href="#toc-entry-18" role="doc-backlink">References</a></h2> -<p>An alternative, more complete set of short mnemonic character names is -the <a class="reference external" href="http://www.w3.org/TR/xml-entity-names/">XML Entity Definitions for Characters</a> W3C Recommendation from -01 April 2010.</p> -<p>For glyph names of the LGR encoding see, e.g., <span class="docutils literal">CB.enc</span> by Apostolos -Syropoulos and <span class="docutils literal"><span class="pre">xl-lgr.enc</span></span> from the <a class="reference external" href="http://www.ctan.org/pkg/libertine-legacy">libertine</a> (legacy) package. -<span class="docutils literal">lgr.cmap</span> provides a mapping to Unicode characters.</p> -<p>A full set of <span class="docutils literal">\text*</span> symbol macros is defined in <span class="docutils literal">ucsencs.def</span> -from the <a class="reference external" href="http://www.ctan.org/pkg/unicode">ucs</a> package.</p> -<div role="list" class="citation-list"> -<div class="citation" id="fntguide" role="doc-biblioentry"> -<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-1">fntguide</a><span class="fn-bracket">]</span></span> -<p>LaTeX3 Project Team, <cite>LaTeX2ε font selection</cite>, 2005. -<a class="reference external" href="http://mirror.ctan.org/macros/latex/base/fntguide.pdf">http://mirror.ctan.org/macros/latex/base/fntguide.pdf</a></p> -</div> -<div class="citation" id="encguide" role="doc-biblioentry"> -<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-2">encguide</a><span class="fn-bracket">]</span></span> -<p>Frank Mittelbach, Robin Fairbairns, Werner Lemberg, -LaTeX3 Project Team, <cite>LaTeX font encodings</cite>, 2006. -<a class="reference external" href="http://mirror.ctan.org/macros/latex/base/encguide.pdf">http://mirror.ctan.org/macros/latex/base/encguide.pdf</a></p> -</div> -<div class="citation" id="greek-usage" role="doc-biblioentry"> -<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-3">greek-usage</a><span class="fn-bracket">]</span></span> -<p>Apostolos Syropoulos, <cite>Writing Greek with the greek option -of the babel package</cite>, 1997. -<a class="reference external" href="http://mirrors.ctan.org/language/babel/contrib/greek/usage.pdf">http://mirrors.ctan.org/language/babel/contrib/greek/usage.pdf</a></p> -</div> -<div class="citation" id="cbfonts" role="doc-biblioentry"> -<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-5">cbfonts</a><span class="fn-bracket">]</span></span> -<p>Claudio Beccari, <cite>The CB Greek fonts</cite>, Εὔτυπον, τεῦχος № 21, 2008. -<a class="reference external" href="http://www.eutypon.gr/eutypon/pdf/e2008-21/e21-a01.pdf">http://www.eutypon.gr/eutypon/pdf/e2008-21/e21-a01.pdf</a></p> -</div> -<div class="citation" id="teubner-doc" role="doc-biblioentry"> -<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-4">teubner-doc</a><span class="fn-bracket">]</span></span> -<p>Claudio Beccari, <span class="docutils literal">teubner.sty</span> -<cite>An extension to the greek option of the babel package</cite>, 2011. -<a class="reference external" href="http://mirror.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf">http://mirror.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf</a></p> -</div> -</div> -<!-- [LaTeX2e News Issue 26] -https://www.latex-project.org/news/latex2e-news/ltnews26.pdf --> -<div role="list" class="citation-list"> -<div class="citation" id="babel-patch" role="doc-biblioentry"> -<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-6">babel-patch</a><span class="fn-bracket">]</span></span> -<p>Werner Lemberg, <cite>Unicode support for the Greek LGR -encoding</cite> Εὔτυπον, τεῦχος № 20, 2008. -<a class="reference external" href="http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf">http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf</a></p> -</div> -</div> -</section> -</main> -</body> -</html> diff --git a/language/greek/greek-fontenc/hyperref-with-greek.pdf b/language/greek/greek-fontenc/hyperref-with-greek.pdf Binary files differindex 6b3bca1cdb..12a6b3c613 100644 --- a/language/greek/greek-fontenc/hyperref-with-greek.pdf +++ b/language/greek/greek-fontenc/hyperref-with-greek.pdf diff --git a/language/greek/greek-fontenc/hyperref-with-greek.tex b/language/greek/greek-fontenc/hyperref-with-greek.tex index e0c8d94b15..c8906a36d2 100644 --- a/language/greek/greek-fontenc/hyperref-with-greek.tex +++ b/language/greek/greek-fontenc/hyperref-with-greek.tex @@ -1,16 +1,21 @@ \documentclass{article} -\usepackage[LGR,T1]{fontenc} -\usepackage{lmodern} \usepackage[unicode,colorlinks=true,linkcolor=blue]{hyperref} % \usepackage{bookmark} +\usepackage[LGR,T1]{fontenc} +\usepackage{lmodern} + \usepackage[greek,english]{babel} \usepackage[normalize-symbols]{alphabeta} \usepackage[utf8]{inputenc} % \pagestyle{headings} +\IfFormatAtLeastTF{2022/06/01} + {\newcommand*{\testnewmakeuppercase}{\MakeUppercase}} + {\newcommand*{\testnewmakeuppercase}{\relax}} + \begin{document} \title{Greek and hyperref} @@ -39,39 +44,37 @@ All utf8-encoded literal Unicode characters work in PDF strings. With \emph{greek-fontenc} and \emph{greek-inputenc}, this enables use of all Greek character in text and PDF strings. +With the \emph{textalpha} package, Greek letters can be used without +explicit change of the font encoding or Babel language (with some caveats, +see textalpha-doc.pdf). +For correct hyphenation and other fixes, mark Greek text parts with the +Babel language \texttt{greek}. There should be no space around a language +switch: |\foreignlanguage{greek}{λογος}| + \section{Transcription: \ensuregreek{logos}, \foreignlanguage{greek}{logos}} -\textbackslash{}textgreek + LGR transcription or -Greek language (babel) + LGR transcription: +Text input using the Latin transliteration: In the PDF-bookmark are Latin letters instead of Greek ones. - \section{Macros: - \textlambda\textomicron\textgamma\textomicron\textvarsigma{}, - \lambda\omicron\gamma\omicron\varsigma{}, - λογος} - -\emph{textalpha} package with \textbackslash{}textalpha \ldots -\textbackslash{}textomega macros or \emph{alphabeta} package with -\textbackslash{}alpha \ldots \textbackslash{}Omega macros. With 8-bit TeX -engines (pdflatex), literal Greek Unicode characters are converted to LICR -Macros, too. + \foreignlanguage{greek}{% + \textlambda\textomicron\textgamma\textomicron\textvarsigma}, + \textlambda\textomicron\textgamma\textomicron\textvarsigma{}, + \lambda\omicron\gamma\omicron\varsigma{}, + λογος, + } + +\emph{Babel-Greek} or \emph{textalpha} package with \verb|\textalpha| \ldots +\verb|textomega| macros; \emph{alphabeta} package with +\verb|alpha| \ldots \verb|Omega| macros. +With 8-bit TeX (pdflatex), literal Greek Unicode characters are +converted to LICR Macros, too. Works, if the \texttt{unicode} or \texttt{pdfencoding=auto} option is given to \emph{hyperref}.% \footnote{With the ``xpdf'' viewer, Greek letters are not shown in PDF bookmarks.} -The generic short macros from the \emph{alphabeta} package result in -hyperref warnings. See \href{alphabeta-doc.pdf}{alphabeta-doc.pdf} and -\href{alphabeta-doc.tex}{alphabeta-doc.tex} -for details and workarounds. - - -\section{LGR + Macros: \foreignlanguage{greek}{ - \textlambda\textomicron\textgamma\textomicron\textvarsigma{}}} - -LICR-macro input works also if the font encoding is LGR. \section{% Kerning: \textAlpha\textUpsilon\textLambda{} @@ -219,120 +222,120 @@ works fine. }} -Currently, there is no hyperref support for LICR input with non-standard -accents or combined diacritics characters. +\emph{textalpha} load definitions for LICR input with non-standard +accents or combined diacritics characters also for PU (hyperref). \subsection{\ensuregreek{ - \accpsili\textalpha - \accdasia\textalpha - \accpsili`\textalpha - \accdasia`\textalpha - \accpsili'\textalpha - \accdasia'\textalpha + \>\textalpha + \<\textalpha + \>`\textalpha + \<`\textalpha + \>'\textalpha + \<'\textalpha \~>\textalpha \~<\textalpha - \accpsili\textAlpha - \accdasia\textAlpha - \accpsili`\textAlpha - \accdasia`\textAlpha - \accpsili'\textAlpha - \accdasia'\textAlpha + \>\textAlpha + \<\textAlpha + \>`\textAlpha + \<`\textAlpha + \>'\textAlpha + \<'\textAlpha \~>\textAlpha \~<\textAlpha }} \subsection{\ensuregreek{ - \accpsili\textepsilon - \accdasia\textepsilon - \accpsili`\textepsilon - \accdasia`\textepsilon - \accpsili'\textepsilon - \accdasia'\textepsilon - \accpsili\textEpsilon - \accdasia\textEpsilon - \accpsili`\textEpsilon - \accdasia`\textEpsilon - \accpsili'\textEpsilon - \accdasia'\textEpsilon + \>\textepsilon + \<\textepsilon + \>`\textepsilon + \<`\textepsilon + \>'\textepsilon + \<'\textepsilon + \>\textEpsilon + \<\textEpsilon + \>`\textEpsilon + \<`\textEpsilon + \>'\textEpsilon + \<'\textEpsilon }} \subsection{\ensuregreek{ - \accpsili\texteta - \accdasia\texteta - \accpsili`\texteta - \accdasia`\texteta - \accpsili'\texteta - \accdasia'\texteta + \>\texteta + \<\texteta + \>`\texteta + \<`\texteta + \>'\texteta + \<'\texteta \~>\texteta \~<\texteta - \accpsili\textEta - \accdasia\textEta - \accpsili`\textEta - \accdasia`\textEta - \accpsili'\textEta - \accdasia'\textEta + \>\textEta + \<\textEta + \>`\textEta + \<`\textEta + \>'\textEta + \<'\textEta \~>\textEta \~<\textEta }} \subsection{\ensuregreek{ - \accpsili\textiota - \accdasia\textiota - \accpsili`\textiota - \accdasia`\textiota - \accpsili'\textiota - \accdasia'\textiota + \>\textiota + \<\textiota + \>`\textiota + \<`\textiota + \>'\textiota + \<'\textiota \~>\textiota \~<\textiota - \accpsili\textIota - \accdasia\textIota - \accpsili`\textIota - \accdasia`\textIota - \accpsili'\textIota - \accdasia'\textIota + \>\textIota + \<\textIota + \>`\textIota + \<`\textIota + \>'\textIota + \<'\textIota \~>\textIota \~<\textIota }} \subsection{\ensuregreek{ - \accpsili\textomicron - \accdasia\textomicron - \accpsili`\textomicron - \accdasia`\textomicron - \accpsili'\textomicron - \accdasia'\textomicron - \accpsili\textOmicron - \accdasia\textOmicron - \accpsili`\textOmicron - \accdasia`\textOmicron - \accpsili'\textOmicron - \accdasia'\textOmicron + \>\textomicron + \<\textomicron + \>`\textomicron + \<`\textomicron + \>'\textomicron + \<'\textomicron + \>\textOmicron + \<\textOmicron + \>`\textOmicron + \<`\textOmicron + \>'\textOmicron + \<'\textOmicron }} \subsection{\ensuregreek{ - \accpsili\textupsilon - \accdasia\textupsilon - \accpsili`\textupsilon - \accdasia`\textupsilon - \accpsili'\textupsilon - \accdasia'\textupsilon + \>\textupsilon + \<\textupsilon + \>`\textupsilon + \<`\textupsilon + \>'\textupsilon + \<'\textupsilon \~>\textupsilon \~<\textupsilon - \accdasia\textUpsilon - \accdasia`\textUpsilon - \accdasia'\textUpsilon + \<\textUpsilon + \<`\textUpsilon + \<'\textUpsilon \~<\textUpsilon }} \subsection{\ensuregreek{ - \accpsili\textomega - \accdasia\textomega - \accpsili`\textomega - \accdasia`\textomega - \accpsili'\textomega - \accdasia'\textomega + \>\textomega + \<\textomega + \>`\textomega + \<`\textomega + \>'\textomega + \<'\textomega \~>\textomega \~<\textomega - \accpsili\textOmega - \accdasia\textOmega - \accpsili`\textOmega - \accdasia`\textOmega - \accpsili'\textOmega - \accdasia'\textOmega + \>\textOmega + \<\textOmega + \>`\textOmega + \<`\textOmega + \>'\textOmega + \<'\textOmega \~>\textOmega \~<\textOmega }} @@ -353,56 +356,56 @@ accents or combined diacritics characters. \accoxia\textomega }} \subsection{\ensuregreek{ - \accpsili\textalpha\ypogegrammeni - \accdasia\textalpha\ypogegrammeni - \accpsili`\textalpha\ypogegrammeni - \accdasia`\textalpha\ypogegrammeni - \accpsili'\textalpha\ypogegrammeni - \accdasia'\textalpha\ypogegrammeni + \>\textalpha\ypogegrammeni + \<\textalpha\ypogegrammeni + \>`\textalpha\ypogegrammeni + \<`\textalpha\ypogegrammeni + \>'\textalpha\ypogegrammeni + \<'\textalpha\ypogegrammeni \~>\textalpha\ypogegrammeni \~<\textalpha\ypogegrammeni - \accpsili\textAlpha\ypogegrammeni - \accdasia\textAlpha\ypogegrammeni - \accpsili`\textAlpha\ypogegrammeni - \accdasia`\textAlpha\ypogegrammeni - \accpsili'\textAlpha\ypogegrammeni - \accdasia'\textAlpha\ypogegrammeni + \>\textAlpha\ypogegrammeni + \<\textAlpha\ypogegrammeni + \>`\textAlpha\ypogegrammeni + \<`\textAlpha\ypogegrammeni + \>'\textAlpha\ypogegrammeni + \<'\textAlpha\ypogegrammeni \~>\textAlpha\ypogegrammeni \~<\textAlpha\ypogegrammeni }} \subsection{\ensuregreek{ - \accpsili\texteta\ypogegrammeni - \accdasia\texteta\ypogegrammeni - \accpsili`\texteta\ypogegrammeni - \accdasia`\texteta\ypogegrammeni - \accpsili'\texteta\ypogegrammeni - \accdasia'\texteta\ypogegrammeni + \>\texteta\ypogegrammeni + \<\texteta\ypogegrammeni + \>`\texteta\ypogegrammeni + \<`\texteta\ypogegrammeni + \>'\texteta\ypogegrammeni + \<'\texteta\ypogegrammeni \~>\texteta\ypogegrammeni \~<\texteta\ypogegrammeni - \accpsili\textEta\ypogegrammeni - \accdasia\textEta\ypogegrammeni - \accpsili`\textEta\ypogegrammeni - \accdasia`\textEta\ypogegrammeni - \accpsili'\textEta\ypogegrammeni - \accdasia'\textEta\ypogegrammeni + \>\textEta\ypogegrammeni + \<\textEta\ypogegrammeni + \>`\textEta\ypogegrammeni + \<`\textEta\ypogegrammeni + \>'\textEta\ypogegrammeni + \<'\textEta\ypogegrammeni \~>\textEta\ypogegrammeni \~<\textEta\ypogegrammeni }} \subsection{\ensuregreek{ - \accpsili\textomega\ypogegrammeni - \accdasia\textomega\ypogegrammeni - \accpsili`\textomega\ypogegrammeni - \accdasia`\textomega\ypogegrammeni - \accpsili'\textomega\ypogegrammeni - \accdasia'\textomega\ypogegrammeni + \>\textomega\ypogegrammeni + \<\textomega\ypogegrammeni + \>`\textomega\ypogegrammeni + \<`\textomega\ypogegrammeni + \>'\textomega\ypogegrammeni + \<'\textomega\ypogegrammeni \~>\textomega\ypogegrammeni \~<\textomega\ypogegrammeni - \accpsili\textOmega\ypogegrammeni - \accdasia\textOmega\ypogegrammeni - \accpsili`\textOmega\ypogegrammeni - \accdasia`\textOmega\ypogegrammeni - \accpsili'\textOmega\ypogegrammeni - \accdasia'\textOmega\ypogegrammeni + \>\textOmega\ypogegrammeni + \<\textOmega\ypogegrammeni + \>`\textOmega\ypogegrammeni + \<`\textOmega\ypogegrammeni + \>'\textOmega\ypogegrammeni + \<'\textOmega\ypogegrammeni \~>\textOmega\ypogegrammeni \~<\textOmega\ypogegrammeni }} @@ -419,9 +422,9 @@ accents or combined diacritics characters. \accvaria\textAlpha \accoxia\textAlpha \textAlpha\ypogegrammeni - \accpsili{ } + \>{ } { }\prosgegrammeni - \accpsili{ } + \>{ } }} \subsection{\ensuregreek{ \accperispomeni\textcompwordmark @@ -436,8 +439,8 @@ accents or combined diacritics characters. \accvaria\textEta \accoxia\textEta \textEta\ypogegrammeni - \accpsili`{ } - \accpsili'{ } + \>`{ } + \>'{ } \~>{ } }} \subsection{\ensuregreek{ @@ -451,8 +454,8 @@ accents or combined diacritics characters. \=\textIota \accvaria\textIota \accoxia\textIota - \accdasia`{ } - \accpsili'{ } + \<`{ } + \>'{ } \~<{ } }} \subsection{\ensuregreek{ @@ -460,15 +463,15 @@ accents or combined diacritics characters. \=\textupsilon \`"\textupsilon \'"\textupsilon - \accpsili\textrho - \accdasia\textrho + \>\textrho + \<\textrho \~\textupsilon \~"\textupsilon \u\textUpsilon \=\textUpsilon \accvaria\textUpsilon \accoxia\textUpsilon - \accdasia\textRho + \<\textRho \`"{ } \'"{ } \accvaria{ } @@ -485,25 +488,41 @@ accents or combined diacritics characters. \accoxia\textOmega \textOmega\ypogegrammeni \accoxia{ } - \accdasia{ } + \<{ } }} \section{Makeuppercase} According to Greek typesetting conventions, -diacritics (except the dialytika) are dropped in ALL CAPS. +diacritics (except the dialytika) are dropped in UPPERCASE. + +The LaTeX \verb|\Makeuppercase| implementation changed fundamentally +with the release in 06/2022.\footnote{% + This change cannot be reverted with the rollback mechanism + ``for technical reasons''.} +\verb|\Makeuppercase| is now supported PDF-strings. +Greek typesetting rules are ony applied if the text language is +set to \texttt{greek} with Babel's \verb|\setlanguage| or +\verb|\foreignlanguage|. + +The changes broke the support for upcasing of polutonic Greek (combined +accents) with LICR input and of Greek with the LGR Latin transliteration. +Restoring support is currently (2023/02/10) worked on. + +\selectlanguage{greek} +\subsection{\testnewmakeuppercase{ἀἁἂἃἄἅἆἇἈἉἊἋἌἍἎἏ}} -However, \verb|\Makeuppercase| is not supported in PDF-strings, so we -do not need to care for this. +\selectlanguage{english} +\verb|Makeuppercase| is not supported in PDF strings with LaTeX versions +older than 06/2022. \section{Conclusion} -For Greek text parts in section headers use either literal Unicode -characters% -\footnote{Pre-composed Unicode characters must be used for multi-accented -letters or non-standard accents. Combining Unicode characters do not work -with inputenc and 8-bit LaTeX – this is a general restriction.} or macros. -For proper kerning in the main document, combine this with the -\verb+\textgreek+ or \verb+\foreignlanguage{greek}+ macros. +For Greek text parts in section headers use either literal Unicode characters% + \footnote{Pre-composed Unicode characters must be used for multi-accented + letters or non-standard accents. Combining Unicode characters do not work + with inputenc and 8-bit LaTeX – this is a general restriction.} +or macros. For proper kerning und upcasing in the main document, set the +language with \verb|\foreignlanguage{greek}|. \end{document} diff --git a/language/greek/greek-fontenc/lgr2licr.lua b/language/greek/greek-fontenc/lgr2licr.lua index 74d52f0c92..440380ae28 100755 --- a/language/greek/greek-fontenc/lgr2licr.lua +++ b/language/greek/greek-fontenc/lgr2licr.lua @@ -2,23 +2,23 @@ -- LGR Transcription to Greek LICR transformation -- ********************************************** --- +-- -- :Copyright: © 2010 Günter Milde -- :Licence: This work may be distributed and/or modified under the -- conditions of the `LaTeX Project Public License`_, either -- version 1.3 of this license or any later version. --- +-- -- .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt --- +-- -- The LGR font encoding is the de-facto standard for Greek typesetting with --- LaTeX. This file provides a translation from the Latin transcription defined +-- LaTeX. This file provides a translation from the Latin transliteration defined -- by LGR into the LaTeX Internal Character Representation (LICR) macros. --- +-- -- :: usage = [[ Usage: lua lgr2licr.lua [OPTIONS] [STRING] - Convert STRING from Latin transcription to LICR macros for Greek symbols. + Convert STRING from Latin transliteration to LICR macros for Greek symbols. (This dumb conversion fails if the string contains TeX macros.) Without argument, the script reads from standard input like a redirected file. End interactive input with Ctrl-D. @@ -47,8 +47,8 @@ else s = io.read("*all") end --- The mapping from the LGR Latin transcription to LICR macros:: - +-- The mapping from the LGR Latin transliteration to LICR macros:: + LGR_map = { A = "\\textAlpha{}", B = "\\textBeta{}", @@ -74,7 +74,7 @@ LGR_map = { Q = "\\textChi{}", Y = "\\textPsi{}", W = "\\textOmega{}", - + a = "\\textalpha{}", b = "\\textbeta{}", g = "\\textgamma{}", @@ -101,7 +101,7 @@ LGR_map = { y = "\\textpsi{}", w = "\\textomega{}", v = "\\noboundary{}", - + ["'"] = "\\'", ["`"] = "\\`", ["~"] = "\\~", @@ -114,7 +114,7 @@ LGR_map = { } -- Return substitution string for 3 captures: --- +-- -- `c1` backslash -- `c2` a-zA-Z -- `c3` any other char @@ -155,15 +155,15 @@ s = string.gsub(s, "{}([^ a-zA-Z])", "%1") s = string.gsub(s, "\\textautosigma\\noboundary", "\\textsigma") -- sv s = string.gsub(s, "\\textautosigma(\\['`~<>|\"])", "\\textsigma%1") -- accents -s = string.gsub(s, "\\textautosigma([-%s!#$%%&%(%)*+,./0-9:=%[%]{|}])", +s = string.gsub(s, "\\textautosigma([-%s!#$%%&%(%)*+,./0-9:=%[%]{|}])", "\\textfinalsigma%1") s = string.gsub(s, "\\textautosigma(\\textquote)", "\\textfinalsigma%1") s = string.gsub(s, "\\textautosigma(\\texterotimatiko)", "\\textfinalsigma%1") s = string.gsub(s, "\\textautosigma(\\textanoteleia)", "\\textfinalsigma%1") - + s = string.gsub(s, "\\textautosigma$", "\\textfinalsigma") -- Write the result to stdout:: - + io.write(s) diff --git a/language/greek/greek-fontenc/lgr2licr.lua.html b/language/greek/greek-fontenc/lgr2licr.lua.html index df32b6ba5d..6fc3143515 100644 --- a/language/greek/greek-fontenc/lgr2licr.lua.html +++ b/language/greek/greek-fontenc/lgr2licr.lua.html @@ -2,13 +2,790 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="utf-8" /> +<meta name="generator" content="Docutils 0.20b.dev: https://docutils.sourceforge.io/" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> -<meta name="generator" content="Docutils 0.19b.dev: https://docutils.sourceforge.io/" /> -<title>LGR Transcription to Greek LICR transformation</title> <meta name="dcterms.rights" content="© 2010 Günter Milde" /> +<title>LGR Transcription to Greek LICR transformation</title> <link rel="schema.dcterms" href="http://purl.org/dc/terms/"/> -<link rel="stylesheet" href="minimal.css" type="text/css" /> -<link rel="stylesheet" href="responsive.css" type="text/css" /> +<style type="text/css"> + +/* Minimal style sheet for the HTML output of Docutils. */ +/* */ +/* :Author: Günter Milde, based on html4css1.css by David Goodger */ +/* :Id: $Id$ */ +/* :Copyright: © 2015, 2021 Günter Milde. */ +/* :License: Released under the terms of the `2-Clause BSD license`_, */ +/* in short: */ +/* */ +/* Copying and distribution of this file, with or without modification, */ +/* are permitted in any medium without royalty provided the copyright */ +/* notice and this notice are preserved. */ +/* */ +/* This file is offered as-is, without any warranty. */ +/* */ +/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ + +/* This CSS3 stylesheet defines rules for Docutils elements without */ +/* HTML equivalent. It is required to make the document semantics visible. */ +/* */ +/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ + +/* titles */ +p.topic-title, +p.admonition-title, +p.system-message-title { + font-weight: bold; +} +p.sidebar-title, +p.rubric { + font-weight: bold; + font-size: larger; +} +p.rubric { + color: maroon; +} +p.subtitle, +p.section-subtitle, +p.sidebar-subtitle { + font-weight: bold; + margin-top: -0.5em; +} +h1 + p.subtitle { + font-size: 1.6em; +} +a.toc-backref { + color: inherit; + text-decoration: none; +} + +/* Warnings, Errors */ +.system-messages h2, +.system-message-title, +span.problematic { + color: red; +} + +/* Inline Literals */ +.docutils.literal { + font-family: monospace; + white-space: pre-wrap; +} +/* do not wrap at hyphens and similar: */ +.literal > span.pre { white-space: nowrap; } + +/* Lists */ + +/* compact and simple lists: no margin between items */ +.simple li, .simple ul, .simple ol, +.compact li, .compact ul, .compact ol, +.simple > li p, dl.simple > dd, +.compact > li p, dl.compact > dd { + margin-top: 0; + margin-bottom: 0; +} +/* Nested Paragraphs */ +p:first-child { margin-top: 0; } +p:last-child { margin-bottom: 0; } +details > p:last-child { margin-bottom: 1em; } + +/* Table of Contents */ +.contents ul.auto-toc { /* section numbers present */ + list-style-type: none; +} + +/* Enumerated Lists */ +ol.arabic { list-style: decimal } +ol.loweralpha { list-style: lower-alpha } +ol.upperalpha { list-style: upper-alpha } +ol.lowerroman { list-style: lower-roman } +ol.upperroman { list-style: upper-roman } + +/* Definition Lists and Derivatives */ +dt .classifier { font-style: italic } +dt .classifier:before { + font-style: normal; + margin: 0.5em; + content: ":"; +} +/* Field Lists and similar */ +/* bold field name, content starts on the same line */ +dl.field-list, +dl.option-list, +dl.docinfo { + display: flow-root; +} +dl.field-list > dt, +dl.option-list > dt, +dl.docinfo > dt { + font-weight: bold; + clear: left; + float: left; + margin: 0; + padding: 0; + padding-right: 0.2em; +} +/* Offset for field content (corresponds to the --field-name-limit option) */ +dl.field-list > dd, +dl.option-list > dd, +dl.docinfo > dd { + margin-left: 9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */ +} +/* start nested lists on new line */ +dd > dl:first-child, +dd > ul:first-child, +dd > ol:first-child { + clear: left; +} +/* start field-body on a new line after long field names */ +dl.field-list > dd > *:first-child, +dl.option-list > dd > *:first-child +{ + display: inline-block; + width: 100%; + margin: 0; +} + +/* Bibliographic Fields (docinfo) */ +dl.docinfo pre.address { + font: inherit; + margin: 0.5em 0; +} +dl.docinfo > dd.authors > p { margin: 0; } + +/* Option Lists */ +dl.option-list > dt { font-weight: normal; } +span.option { white-space: nowrap; } + +/* Footnotes and Citations */ + +.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */ +/* hanging indent */ +.citation { padding-left: 2em; } +.footnote { padding-left: 1.7em; } +.footnote.superscript { padding-left: 1.0em; } +.citation > .label { margin-left: -2em; } +.footnote > .label { margin-left: -1.7em; } +.footnote.superscript > .label { margin-left: -1.0em; } + +.footnote > .label + *, +.citation > .label + * { + display: inline-block; + margin-top: 0; + vertical-align: top; +} +.footnote > .backrefs + *, +.citation > .backrefs + * { + margin-top: 0; +} +.footnote > .label + p, .footnote > .backrefs + p, +.citation > .label + p, .citation > .backrefs + p { + display: inline; + vertical-align: inherit; +} + +.backrefs { user-select: none; } +.backrefs > a { font-style: italic; } + +/* superscript footnotes */ +a[role="doc-noteref"].superscript, +.footnote.superscript > .label, +.footnote.superscript > .backrefs { + vertical-align: super; + font-size: smaller; + line-height: 1; +} +a[role="doc-noteref"].superscript > .fn-bracket, +.footnote.superscript > .label > .fn-bracket { + /* hide brackets in display but leave for copy/paste */ + display: inline-block; + width: 0; + overflow: hidden; +} +[role="doc-noteref"].superscript + [role="doc-noteref"].superscript { + padding-left: 0.15em; /* separate consecutive footnote references */ + /* TODO: unfortunately, "+" also selects with text between the references. */ +} + +/* Alignment */ +.align-left { + text-align: left; + margin-right: auto; +} +.align-center { + text-align: center; + margin-left: auto; + margin-right: auto; +} +.align-right { + text-align: right; + margin-left: auto; +} +.align-top { vertical-align: top; } +.align-middle { vertical-align: middle; } +.align-bottom { vertical-align: bottom; } + +/* reset inner alignment in figures and tables */ +figure.align-left, figure.align-right, +table.align-left, table.align-center, table.align-right { + text-align: inherit; +} + +/* Text Blocks */ +.topic { margin: 1em 2em; } +.sidebar, +.admonition, +.system-message { + margin: 1em 2em; + border: thin solid; + padding: 0.5em 1em; +} +div.line-block { display: block; } +div.line-block div.line-block, pre { margin-left: 2em; } + +/* Code line numbers: dropped when copying text from the page */ +pre.code .ln { display: none; } +pre.code code:before { + content: attr(data-lineno); /* …, none) fallback not supported by any browser */ + color: gray; +} + +/* Tables */ +table { + border-collapse: collapse; +} +td, th { + border: thin solid silver; + padding: 0 1ex; +} +.borderless td, .borderless th { + border: 0; + padding: 0; + padding-right: 0.5em /* separate table cells */ +} + +table > caption { + text-align: left; + margin-top: 0.2em; + margin-bottom: 0.2em; +} +table.captionbelow { + caption-side: bottom; +} + +/* Document Header and Footer */ +header { border-bottom: 1px solid black; } +footer { border-top: 1px solid black; } + +/* Images are block-level by default in Docutils */ +/* New HTML5 block elements: set display for older browsers */ +img, header, footer, main, aside, nav, section, figure, video, details { + display: block; +} +/* inline images */ +p img, p video, figure img, figure video { + display: inline; +} + +</style> +<style type="text/css"> + +/* CSS3_ style sheet for the output of Docutils HTML5 writer. */ +/* Generic responsive design for all screen sizes. */ +/* */ +/* :Author: Günter Milde */ +/* */ +/* :Id: $Id$ */ +/* :Copyright: © 2021 Günter Milde. */ +/* :License: Released under the terms of the `2-Clause BSD license`_, */ +/* in short: */ +/* */ +/* Copying and distribution of this file, with or without modification, */ +/* are permitted in any medium without royalty provided the copyright */ +/* notice and this notice are preserved. */ +/* */ +/* This file is offered as-is, without any warranty. */ +/* */ +/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ +/* .. _CSS3: https://www.w3.org/Style/CSS/ */ + +/* Note: */ +/* This style sheet is provisional: */ +/* the API is not settled and may change with any minor Docutils version. */ + + + +/* General Settings */ +/* ================ */ + + +* { box-sizing: border-box; } + +body { + background-color: #fafaf6; + margin: auto; + --field-indent: 6.6em; /* indent of fields in field lists */ + --sidebar-margin-right: 0; /* adapted in media queries below */ +} +main { + counter-reset: figure table; +} +body > * { + background-color: white; + line-height: 1.6; + padding: 0.5rem calc(29% - 7.2rem); /* go from 5% to 15% (8.15em/54em) */ + margin: auto; + max-width: 100rem; +} +sup, sub { /* avoid additional inter-line space for lines with sup/sub */ + line-height: 1; +} + +/* Vertical Space (Parskip) */ +p, ol, ul, dl, li, +div.line-block, +.topic, +.footnote, .citation, +div > math, +table { + margin-top: 0.5em; + margin-bottom: 0.5em; +} +h1, h2, h3, h4, h5, h6, +dl > dd, details > p:last-child { + margin-bottom: 0.5em; +} + +/* Indented Blocks */ +blockquote, figure, .topic { + margin: 1em 2%; + padding-left: 1em; +} +div.line-block div.line-block, +pre, dd, dl.option-list { + margin-left: calc(2% + 1em); +} + +/* Object styling */ +/* ============== */ + +footer, header { + font-size: small; +} + +/* Frontmatter */ +div.dedication { + padding: 0; + margin: 1.4em 0; + font-style: italic; + font-size: large; +} +.dedication p.topic-title { + display: none; +} + +blockquote p.attribution, +.topic p.attribution { + text-align: right; +} + +/* Table of Contents */ +nav.contents ul { + padding-left: 1em; +} +ul.auto-toc > li > p { /* hanging indent */ + padding-left: 1em; + text-indent: -1em; +} +main > nav.contents ul:not(.auto-toc) { + list-style-type: square; +} +main > nav.contents ul ul:not(.auto-toc) { + list-style-type: disc; +} +main > nav.contents ul ul ul:not(.auto-toc) { + list-style-type: '\2B29\ '; +} +main > nav.contents ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B1D\ '; +} +main > nav.contents ul ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B2A\ '; +} +nav.contents ul > li::marker { + color: grey; +} + +/* Transitions */ +hr { + margin: 1em 10%; +} + +/* Lists */ + +ul, ol { + padding-left: 1.1em; /* indent by bullet width (Firefox, DejaVu fonts) */ +} +dl.field-list > dd, +dl.docinfo > dd { + margin-left: var(--field-indent); /* adapted in media queries or HTML */ +} +dl.option-list > dd { + margin-left: 20%; +} +/* run-in: start field-body on same line after long field names */ +dl.field-list.run-in > dd p { + display: block; +} +/* "description style" like in most dictionaries, encyclopedias etc. */ +dl.description { + display: flow-root; +} +dl.description > dt { + clear: left; + float: left; + margin: 0; + padding: 0; + padding-right: 0.3em; + font-weight: bold; +} +dl.description > dd:after { + display: table; + content: ""; + clear: left; /* clearfix for empty descriptions */ +} +/* start lists nested in description/field lists on new line */ +dd > dl:first-child, +dd > ul:first-child, +dd > ol:first-child { + clear: left; +} + +/* disclosures */ +details { padding-left: 1em; } +summary { margin-left: -1em; } + +/* Footnotes and Citations */ +.footnote { + font-size: small; +} + +/* Images, Figures, and Tables */ +img { + display: block; +} +p > img, p > a > img, +figure > img, figure > a > img { + display: inline; +} + +figcaption, +table > caption { + /* font-size: small; */ + font-style: italic; +} +figcaption > .legend { + font-size: small; + font-style: initial; +} +figure.numbered > figcaption > p:before { + counter-increment: figure; + content: "Figure " counter(figure) ": "; + font-weight: bold; + font-style: initial; +} + +table tr { + text-align: left; + vertical-align: baseline; +} +table.booktabs { /* "booktabs" style (no vertical lines) */ + border-top: 2px solid; + border-bottom: 2px solid; +} +table.booktabs * { + border: 0; +} +table.booktabs th { + border-bottom: thin solid; +} +table.numbered > caption:before { + counter-increment: table; + content: "Table " counter(table) ": "; + font-weight: bold; + font-style: initial; +} + +/* Admonitions and System Messages */ +.admonition, +div.system-message { + border: thin solid silver; + margin: 1em 2%; + padding: 0.5em 1em; +} +.caution p.admonition-title, +.attention p.admonition-title, +.danger p.admonition-title, +.warning p.admonition-title, +div.error { + color: maroon; +} +div.system-message > p > span.literal { + overflow-wrap: break-word; +} + +/* Literal and Code */ +pre.literal-block, pre.doctest{ + padding: 0.2em; + overflow-x: auto; +} +.literal-block, .doctest, span.literal { + background-color: #f6f9f8; +} +.system-message span.literal { + background-color: inherit; +} + +/* basic highlighting: for a complete scheme, see */ +/* https://docutils.sourceforge.io/sandbox/stylesheets/ */ +pre.code .comment, code .comment { color: #5C6576 } +pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } +pre.code .literal.string, code .literal.string { color: #0C5404 } +pre.code .name.builtin, code .name.builtin { color: #352B84 } +pre.code .deleted, code .deleted { background-color: #DEB0A1} +pre.code .inserted, code .inserted { background-color: #A3D289} + +/* Hyperlink References */ +a { + text-decoration: none; /* for chromium */ + /* Wrap links at any place, if this is the only way to prevent overflow */ + overflow-wrap: break-word; +} +.contents a, a.toc-backref, a.citation-reference { + overflow-wrap: inherit; +} +/* Undecorated Links (see also minimal.css) */ +/* a.citation-reference, */ +.citation a.fn-backref { + color: inherit; +} +a:hover { + text-decoration: underline; +} +*:hover > a.toc-backref:after { + content: " \2191"; /* ↑ UPWARDS ARROW */ + color: grey; +} +*:hover > a.self-link:after { + content: "\1F517"; /* LINK SYMBOL */ + color: grey; + font-size: smaller; + margin-left: 0.2em; +} +/* highlight the target of the current URL */ +section:target > h2, section:target > h3, section:target > h4, +section:target > h5, section:target > h6, +.contents :target, +.contents:target > .topic-title, +[role="doc-biblioentry"]:target > .label, +[role="doc-biblioref"]:target, +[role="note"]:target, /* Docutils 0.18 ... 0.19 */ +[role="doc-footnote"]:target, /* Docutils >= 0.20 */ +[role="doc-noteref"]:target { + background-color: #d2e6ec; +} + +/* Block Alignment */ +/* Let content flow to the side of aligned images and figures */ + +/* no floats around this elements */ +footer, header, hr, +h1, h2, h3 { + clear: both; +} + +img.align-left, +video.align-left, +figure.align-left, +table.align-left { + margin-left: 0; + padding-left: 0; + margin-right: 0.5em; + clear: left; + float: left; +} +img.align-right, +video.align-right, +figure.align-right, +table.align-right { + margin-left: 0.5em; + margin-right: 0; + clear: right; + float: right; +} + +/* Margin Elements */ +/* see below for screen size dependent rules */ +.sidebar, +.marginal, +.admonition.marginal { + max-width: 40%; + border: none; + background-color: #efefea; + margin: 0.5em var(--sidebar-margin-right) 0.5em 1em; + padding: 0.5em; + padding-left: 0.7em; + clear: right; + float: right; + font-size: small; +} +.sidebar { + width: 40%; +} + +/* Math */ +/* for math-output=MathML (for math-output=HTML, see math.css) */ +math .boldsymbol { + font-weight: bold; +} +mstyle.mathscr, mi.mathscr { + font-family: STIX; +} + +/* Adaptive page layout */ +/* ==================== */ + +@media (max-width: 30em) { + /* Smaller margins and no floating elements for small screens */ + /* (main text less than 40 characters/line) */ + body > * { + padding: 0.5rem 5%; + line-height: 1.4 + } + .sidebar, + .marginal, + .admonition.marginal { + width: auto; + max-width: 100%; + float: none; + } + dl.option-list, + pre { + margin-left: 0; + } + body { + --field-indent: 4em; + } + dl.field-list.narrow, dl.docinfo, dl.option-list { + --field-indent: 2.4em; + } + pre, pre * { + font-size: 0.9em; + /* overflow: auto; */ + } +} + +@media (min-width: 54em) { + /* Move ToC to the left */ + /* Main text width before: 70% ≙ 35em ≙ 75…95 chrs (Dejavu/Times) */ + /* after: ≳ 30em ≙ 54…70 chrs (Dejavu/Times) */ + body.with-toc { + padding-left: 8%; + } + body.with-toc > * { + margin-left: 0; + padding-left: 22rem; /* fallback for webkit */ + padding-left: min(22%, 22rem); + padding-right: 7%; + } + main > nav.contents { /* global ToC */ + position: fixed; + top: 0; + left: 0; + width: min(25%, 25em); + height: 100vh; + margin: 0; + background-color: #fafaf6; + padding: 1em 2% 0 2%; + overflow: auto; + } + main > nav.contents > * { + padding-left: 0; + line-height: 1.4; + } + main > nav.contents a { + color: inherit; + } +} + +@media (min-width: 70em) { + body { + --field-indent: 9em; + } +} + +@media (min-width: 77em) { + /* Move marginalia to 6rem from right border */ + /* .sidebar, */ + /* .marginal, */ + /* .admonition.marginal { */ + /* margin-right: calc(6rem - 15%); */ + /* } */ + /* BUG: margin is calculated for break point width */ + /* workaround: variable + many breakpoints */ + body > * { + padding-left: 18%; + padding-right: 28%; /* fallback for webkit */ + padding-right: min(28%, 28rem); + --sidebar-margin-right: -20rem; + } + /* limit main text to ~ 50em ≙ 85…100 characters DejaVu rsp. …120 Times */ + body.with-toc > * { + padding-left: min(22%, 22rem); + padding-right: calc(78% - 50rem); /* fallback for webkit */ + padding-right: min(78% - 50rem, 28rem); + --sidebar-margin-right: 0; + } +} + +@media (min-width: 85em) { + body.with-toc > * { + --sidebar-margin-right: -9rem; + } +} + +@media (min-width: 90em) { + /* move marginalia into the margin */ + body > * { + padding-left: min(22%, 22rem); + --sidebar-margin-right: -23rem; + } + body.with-toc > * { + --sidebar-margin-right: -14rem; + } +} + +@media (min-width: 99em) { + /* move marginalia out of main text area */ + body.with-toc > * { + --sidebar-margin-right: -20rem; + } + body > *, body.with-toc > * { /* for webkit */ + padding-left: 22rem; + padding-right: 28rem; + } + .admonition.marginal, + .marginal { + width: 40%; /* make marginal figures, ... "full width" */ + } +} + +@media (min-width: 104em) { + body.with-toc > * { + --sidebar-margin-right: -23rem; + } +} + +</style> </head> <body> <main id="lgr-transcription-to-greek-licr-transformation"> @@ -24,11 +801,11 @@ version 1.3 of this license or any later version.</p> </dl> <!-- #!/usr/bin/env lua --> <p>The LGR font encoding is the de-facto standard for Greek typesetting with -LaTeX. This file provides a translation from the Latin transcription defined +LaTeX. This file provides a translation from the Latin transliteration defined by LGR into the LaTeX Internal Character Representation (LICR) macros.</p> <pre class="literal-block">usage = [[ Usage: lua lgr2licr.lua [OPTIONS] [STRING] - Convert STRING from Latin transcription to LICR macros for Greek symbols. + Convert STRING from Latin transliteration to LICR macros for Greek symbols. (This dumb conversion fails if the string contains TeX macros.) Without argument, the script reads from standard input like a redirected file. End interactive input with Ctrl-D. @@ -54,7 +831,7 @@ else -- s = "\\emph{x\\'us}" s = io.read("*all") end</pre> -<p>The mapping from the LGR Latin transcription to LICR macros:</p> +<p>The mapping from the LGR Latin transliteration to LICR macros:</p> <pre class="literal-block">LGR_map = { A = "\\textAlpha{}", B = "\\textBeta{}", diff --git a/language/greek/greek-fontenc/lgrenc.def b/language/greek/greek-fontenc/lgrenc.def index 2558c9729f..d1c748b466 100644 --- a/language/greek/greek-fontenc/lgrenc.def +++ b/language/greek/greek-fontenc/lgrenc.def @@ -58,6 +58,8 @@ % (there is no capital Koppa in LGR). % 2.0 2020-10-13 Move common alias definitions to ``greek-fontenc.def``. % 2.1 2022-06-14 Support the correct spelling ``\guillemet…`` for « ». +% 2.2 2023-02-28 Fix character used for ano ``\textanoteleia`` and +% ``\textperiodcentered``. % ====== ============ ======================================================== % % Usage @@ -97,7 +99,7 @@ % :: \ProvidesFile{lgrenc.def} -[2022/06/14 2.1 LGR Greek font encoding definitions] +[2023/02/28 2.2 LGR Greek font encoding definitions] % Copyright © 2010 Günter Milde % This file is part of the "greek-fontenc" package. % It may be distributed and/or modified under the @@ -127,7 +129,7 @@ % Greek Alphabet % """""""""""""" % -% Greek letters are accessible by the Latin transcription, but the mapping is +% Greek letters are accessible by the Latin transliteration, but the mapping is % specific to the LGR font encoding. % % The LICR macros provide a way to access the symbols independent of the @@ -225,7 +227,7 @@ \DeclareTextSymbol{\textStigma}{LGR}{22} % Ϛ in some fonts ϹΤ ligature \DeclareTextSymbol{\textSampi}{LGR}{23} % Ϡ \DeclareTextSymbol{\textsampi}{LGR}{27} % ϡ -\DeclareTextSymbol{\textanoteleia}{LGR}{38} % · +\DeclareTextSymbol{\textanoteleia}{LGR}{59} % · \DeclareTextSymbol{\texterotimatiko}{LGR}{63} % ; \DeclareTextSymbol{\textdigamma}{LGR}{147} % ϝ (ucs) \digamma used by amsmath for math-macro \DeclareTextSymbol{\textDigamma}{LGR}{195} % Ϝ (ucs) @@ -274,9 +276,9 @@ \ProvideTextCommand{\textThetasymbol}{LGR}{\LGR@TextSymbolUnavailable{Theta symbol}} % ϴ \ProvideTextCommand{\textthetasymbol} {LGR}{\LGR@TextSymbolOnlyMath{theta symbol}{$\vartheta$}} % ϑ -\ProvideTextCommand{\textphisymbol} {LGR}{\LGR@TextSymbolOnlyMath{phi symbol}{$\phi$}} % ϕ -\ProvideTextCommand{\textpisymbol} {LGR}{\LGR@TextSymbolOnlyMath{pi symbol}{$\varpi$}} % ϖ -\ProvideTextCommand{\textrhosymbol} {LGR}{\LGR@TextSymbolOnlyMath{rho symbol}{$\varrho$}} % ϱ +\ProvideTextCommand{\textphisymbol} {LGR}{\LGR@TextSymbolOnlyMath{phi symbol}{$\phi$}} % ϕ +\ProvideTextCommand{\textpisymbol} {LGR}{\LGR@TextSymbolOnlyMath{pi symbol}{$\varpi$}} % ϖ +\ProvideTextCommand{\textrhosymbol} {LGR}{\LGR@TextSymbolOnlyMath{rho symbol}{$\varrho$}} % ϱ \ProvideTextCommand{\textepsilonsymbol}{LGR}{\LGR@TextSymbolOnlyMath{lunate epsilon symbol}{$\epsilon$}} % ϵ % Other @@ -293,7 +295,7 @@ \DeclareTextSymbol{\textendash}{LGR}{0} % EN DASH \DeclareTextSymbol{\textquoteleft}{LGR}{28} % ‘ \DeclareTextSymbol{\textquoteright}{LGR}{29} % ’ -\DeclareTextSymbol{\textperiodcentered}{LGR}{38} % · = \textanoteleia +\DeclareTextSymbol{\textperiodcentered}{LGR}{59} % · = \textanoteleia \DeclareTextSymbol{\textcompwordmark}{LGR}{118} % ZERO WIDTH NO JOINER \DeclareTextSymbol{\textemdash}{LGR}{127} % EM DASH @@ -390,7 +392,7 @@ % % Babel's ``lgrenc.def`` has some definitions to prevent surprises with % macros that expect a Latin script. These definitions are problematic in a -% font-encoding definition file as they require ``\textlatin`` which is +% font-encoding definition file as they require ``\ensureascii`` which is % defined in ``babel.def``. They were moved to ``greek.ldf``. % % Diacritics @@ -436,14 +438,14 @@ \DeclareTextAccent{\accvaria}{LGR}{96} % βαρεῖα (grave) \DeclareTextAccent{\accperispomeni}{LGR}{126} % περισπωμένη (circonflex/tilde) -% The sub-iota__ is input after the base character. In LGR fonts, ligatures are +% The `mute iota`__ is input after the base character. In LGR fonts, ligatures are % defined for pre-composed characters, the postfix ligature does not interfere % with kerning:: -\DeclareTextSymbol{\prosgegrammeni}{LGR}{8} % ι "capital" sub-iota -\DeclareTextSymbol{\ypogegrammeni}{LGR}{124} % ͺ "small" sub-iota +\DeclareTextSymbol{\prosgegrammeni}{LGR}{8} % ι adscript mute iota (spacing) +\DeclareTextSymbol{\ypogegrammeni}{LGR}{124} % ͺ subscript mute iota (combining) -% __ http://en.wikipedia.org/wiki/Hypogegrammeni +% __ http://en.wikipedia.org/wiki/Iota_subscript % % Composite diacritics:: @@ -496,7 +498,7 @@ % """""""""""""""""""" % % Composite accents can be input as sequence of simple diacritics (in -% arbitrary order) via named macro, symbol macro and "transcription +% arbitrary order) via named macro, symbol macro and "transliteration % characters", e.g. ``\accdialytica\accvaria\textalpha``, ``\"\'\textalpha``, % ``\"'\textalpha``, or ``\'"\textalpha``. % @@ -920,22 +922,22 @@ % % .. _README: README.html % .. _alphabeta: alphabeta.sty.html -% .. _athnum: http://ctan.org/pkg/athnum -% .. _Babel: http://ctan.org/pkg/babel -% .. _babel-greek: http://ctan.org/pkg/babel-greek +% .. _athnum: https://ctan.org/pkg/athnum +% .. _Babel: https://ctan.org/pkg/babel +% .. _babel-greek: https://ctan.org/pkg/babel-greek % .. _babel patch: http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf -% .. _fntguide: http://mirror.ctan.org/macros/latex/base/fntguide.pdf -% .. _fontenc: http://ctan.org/pkg/fontenc -% .. _hyperref: http://ctan.org/pkg/hyperref -% .. _ibycus: http://ctan.org/pkg/ibycus-babel +% .. _fntguide: https://mirrors.ctan.org/macros/latex/base/fntguide.pdf +% .. _fontenc: https://ctan.org/pkg/fontenc +% .. _hyperref: https://ctan.org/pkg/hyperref +% .. _ibycus: https://ctan.org/pkg/ibycus-babel % .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt -% .. _lgrx: http://ctan.org/pkg/lgrx -% .. _ltxcmds: http://ctan.org/pkg/ltxcmds -% .. _teubner: http://ctan.org/pkg/teubner +% .. _lgrx: https://ctan.org/pkg/lgrx +% .. _ltxcmds: https://ctan.org/pkg/ltxcmds +% .. _teubner: https://ctan.org/pkg/teubner % .. _teubner-doc: -% http://mirror.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf +% https://mirrors.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf % .. _textalpha: textalpha.sty.html -% .. _ucs: http://ctan.org/pkg/unicode -% .. _xunicode: http://ctan.org/pkg/xunicode +% .. _ucs: https://ctan.org/pkg/unicode +% .. _xunicode: https://ctan.org/pkg/xunicode % .. _ltxbugs 4399: % https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex%2F4399&search= diff --git a/language/greek/greek-fontenc/lgrenc.def.html b/language/greek/greek-fontenc/lgrenc.def.html index 0c2330ae62..cfc8a71301 100644 --- a/language/greek/greek-fontenc/lgrenc.def.html +++ b/language/greek/greek-fontenc/lgrenc.def.html @@ -2,13 +2,790 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="utf-8" /> +<meta name="generator" content="Docutils 0.20b.dev: https://docutils.sourceforge.io/" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> -<meta name="generator" content="Docutils 0.19b.dev: https://docutils.sourceforge.io/" /> -<title>lgrenc.def</title> <meta name="dcterms.rights" content="© 2010 – 2022 Günter Milde" /> +<title>lgrenc.def</title> <link rel="schema.dcterms" href="http://purl.org/dc/terms/"/> -<link rel="stylesheet" href="minimal.css" type="text/css" /> -<link rel="stylesheet" href="responsive.css" type="text/css" /> +<style type="text/css"> + +/* Minimal style sheet for the HTML output of Docutils. */ +/* */ +/* :Author: Günter Milde, based on html4css1.css by David Goodger */ +/* :Id: $Id$ */ +/* :Copyright: © 2015, 2021 Günter Milde. */ +/* :License: Released under the terms of the `2-Clause BSD license`_, */ +/* in short: */ +/* */ +/* Copying and distribution of this file, with or without modification, */ +/* are permitted in any medium without royalty provided the copyright */ +/* notice and this notice are preserved. */ +/* */ +/* This file is offered as-is, without any warranty. */ +/* */ +/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ + +/* This CSS3 stylesheet defines rules for Docutils elements without */ +/* HTML equivalent. It is required to make the document semantics visible. */ +/* */ +/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ + +/* titles */ +p.topic-title, +p.admonition-title, +p.system-message-title { + font-weight: bold; +} +p.sidebar-title, +p.rubric { + font-weight: bold; + font-size: larger; +} +p.rubric { + color: maroon; +} +p.subtitle, +p.section-subtitle, +p.sidebar-subtitle { + font-weight: bold; + margin-top: -0.5em; +} +h1 + p.subtitle { + font-size: 1.6em; +} +a.toc-backref { + color: inherit; + text-decoration: none; +} + +/* Warnings, Errors */ +.system-messages h2, +.system-message-title, +span.problematic { + color: red; +} + +/* Inline Literals */ +.docutils.literal { + font-family: monospace; + white-space: pre-wrap; +} +/* do not wrap at hyphens and similar: */ +.literal > span.pre { white-space: nowrap; } + +/* Lists */ + +/* compact and simple lists: no margin between items */ +.simple li, .simple ul, .simple ol, +.compact li, .compact ul, .compact ol, +.simple > li p, dl.simple > dd, +.compact > li p, dl.compact > dd { + margin-top: 0; + margin-bottom: 0; +} +/* Nested Paragraphs */ +p:first-child { margin-top: 0; } +p:last-child { margin-bottom: 0; } +details > p:last-child { margin-bottom: 1em; } + +/* Table of Contents */ +.contents ul.auto-toc { /* section numbers present */ + list-style-type: none; +} + +/* Enumerated Lists */ +ol.arabic { list-style: decimal } +ol.loweralpha { list-style: lower-alpha } +ol.upperalpha { list-style: upper-alpha } +ol.lowerroman { list-style: lower-roman } +ol.upperroman { list-style: upper-roman } + +/* Definition Lists and Derivatives */ +dt .classifier { font-style: italic } +dt .classifier:before { + font-style: normal; + margin: 0.5em; + content: ":"; +} +/* Field Lists and similar */ +/* bold field name, content starts on the same line */ +dl.field-list, +dl.option-list, +dl.docinfo { + display: flow-root; +} +dl.field-list > dt, +dl.option-list > dt, +dl.docinfo > dt { + font-weight: bold; + clear: left; + float: left; + margin: 0; + padding: 0; + padding-right: 0.2em; +} +/* Offset for field content (corresponds to the --field-name-limit option) */ +dl.field-list > dd, +dl.option-list > dd, +dl.docinfo > dd { + margin-left: 9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */ +} +/* start nested lists on new line */ +dd > dl:first-child, +dd > ul:first-child, +dd > ol:first-child { + clear: left; +} +/* start field-body on a new line after long field names */ +dl.field-list > dd > *:first-child, +dl.option-list > dd > *:first-child +{ + display: inline-block; + width: 100%; + margin: 0; +} + +/* Bibliographic Fields (docinfo) */ +dl.docinfo pre.address { + font: inherit; + margin: 0.5em 0; +} +dl.docinfo > dd.authors > p { margin: 0; } + +/* Option Lists */ +dl.option-list > dt { font-weight: normal; } +span.option { white-space: nowrap; } + +/* Footnotes and Citations */ + +.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */ +/* hanging indent */ +.citation { padding-left: 2em; } +.footnote { padding-left: 1.7em; } +.footnote.superscript { padding-left: 1.0em; } +.citation > .label { margin-left: -2em; } +.footnote > .label { margin-left: -1.7em; } +.footnote.superscript > .label { margin-left: -1.0em; } + +.footnote > .label + *, +.citation > .label + * { + display: inline-block; + margin-top: 0; + vertical-align: top; +} +.footnote > .backrefs + *, +.citation > .backrefs + * { + margin-top: 0; +} +.footnote > .label + p, .footnote > .backrefs + p, +.citation > .label + p, .citation > .backrefs + p { + display: inline; + vertical-align: inherit; +} + +.backrefs { user-select: none; } +.backrefs > a { font-style: italic; } + +/* superscript footnotes */ +a[role="doc-noteref"].superscript, +.footnote.superscript > .label, +.footnote.superscript > .backrefs { + vertical-align: super; + font-size: smaller; + line-height: 1; +} +a[role="doc-noteref"].superscript > .fn-bracket, +.footnote.superscript > .label > .fn-bracket { + /* hide brackets in display but leave for copy/paste */ + display: inline-block; + width: 0; + overflow: hidden; +} +[role="doc-noteref"].superscript + [role="doc-noteref"].superscript { + padding-left: 0.15em; /* separate consecutive footnote references */ + /* TODO: unfortunately, "+" also selects with text between the references. */ +} + +/* Alignment */ +.align-left { + text-align: left; + margin-right: auto; +} +.align-center { + text-align: center; + margin-left: auto; + margin-right: auto; +} +.align-right { + text-align: right; + margin-left: auto; +} +.align-top { vertical-align: top; } +.align-middle { vertical-align: middle; } +.align-bottom { vertical-align: bottom; } + +/* reset inner alignment in figures and tables */ +figure.align-left, figure.align-right, +table.align-left, table.align-center, table.align-right { + text-align: inherit; +} + +/* Text Blocks */ +.topic { margin: 1em 2em; } +.sidebar, +.admonition, +.system-message { + margin: 1em 2em; + border: thin solid; + padding: 0.5em 1em; +} +div.line-block { display: block; } +div.line-block div.line-block, pre { margin-left: 2em; } + +/* Code line numbers: dropped when copying text from the page */ +pre.code .ln { display: none; } +pre.code code:before { + content: attr(data-lineno); /* …, none) fallback not supported by any browser */ + color: gray; +} + +/* Tables */ +table { + border-collapse: collapse; +} +td, th { + border: thin solid silver; + padding: 0 1ex; +} +.borderless td, .borderless th { + border: 0; + padding: 0; + padding-right: 0.5em /* separate table cells */ +} + +table > caption { + text-align: left; + margin-top: 0.2em; + margin-bottom: 0.2em; +} +table.captionbelow { + caption-side: bottom; +} + +/* Document Header and Footer */ +header { border-bottom: 1px solid black; } +footer { border-top: 1px solid black; } + +/* Images are block-level by default in Docutils */ +/* New HTML5 block elements: set display for older browsers */ +img, header, footer, main, aside, nav, section, figure, video, details { + display: block; +} +/* inline images */ +p img, p video, figure img, figure video { + display: inline; +} + +</style> +<style type="text/css"> + +/* CSS3_ style sheet for the output of Docutils HTML5 writer. */ +/* Generic responsive design for all screen sizes. */ +/* */ +/* :Author: Günter Milde */ +/* */ +/* :Id: $Id$ */ +/* :Copyright: © 2021 Günter Milde. */ +/* :License: Released under the terms of the `2-Clause BSD license`_, */ +/* in short: */ +/* */ +/* Copying and distribution of this file, with or without modification, */ +/* are permitted in any medium without royalty provided the copyright */ +/* notice and this notice are preserved. */ +/* */ +/* This file is offered as-is, without any warranty. */ +/* */ +/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ +/* .. _CSS3: https://www.w3.org/Style/CSS/ */ + +/* Note: */ +/* This style sheet is provisional: */ +/* the API is not settled and may change with any minor Docutils version. */ + + + +/* General Settings */ +/* ================ */ + + +* { box-sizing: border-box; } + +body { + background-color: #fafaf6; + margin: auto; + --field-indent: 6.6em; /* indent of fields in field lists */ + --sidebar-margin-right: 0; /* adapted in media queries below */ +} +main { + counter-reset: figure table; +} +body > * { + background-color: white; + line-height: 1.6; + padding: 0.5rem calc(29% - 7.2rem); /* go from 5% to 15% (8.15em/54em) */ + margin: auto; + max-width: 100rem; +} +sup, sub { /* avoid additional inter-line space for lines with sup/sub */ + line-height: 1; +} + +/* Vertical Space (Parskip) */ +p, ol, ul, dl, li, +div.line-block, +.topic, +.footnote, .citation, +div > math, +table { + margin-top: 0.5em; + margin-bottom: 0.5em; +} +h1, h2, h3, h4, h5, h6, +dl > dd, details > p:last-child { + margin-bottom: 0.5em; +} + +/* Indented Blocks */ +blockquote, figure, .topic { + margin: 1em 2%; + padding-left: 1em; +} +div.line-block div.line-block, +pre, dd, dl.option-list { + margin-left: calc(2% + 1em); +} + +/* Object styling */ +/* ============== */ + +footer, header { + font-size: small; +} + +/* Frontmatter */ +div.dedication { + padding: 0; + margin: 1.4em 0; + font-style: italic; + font-size: large; +} +.dedication p.topic-title { + display: none; +} + +blockquote p.attribution, +.topic p.attribution { + text-align: right; +} + +/* Table of Contents */ +nav.contents ul { + padding-left: 1em; +} +ul.auto-toc > li > p { /* hanging indent */ + padding-left: 1em; + text-indent: -1em; +} +main > nav.contents ul:not(.auto-toc) { + list-style-type: square; +} +main > nav.contents ul ul:not(.auto-toc) { + list-style-type: disc; +} +main > nav.contents ul ul ul:not(.auto-toc) { + list-style-type: '\2B29\ '; +} +main > nav.contents ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B1D\ '; +} +main > nav.contents ul ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B2A\ '; +} +nav.contents ul > li::marker { + color: grey; +} + +/* Transitions */ +hr { + margin: 1em 10%; +} + +/* Lists */ + +ul, ol { + padding-left: 1.1em; /* indent by bullet width (Firefox, DejaVu fonts) */ +} +dl.field-list > dd, +dl.docinfo > dd { + margin-left: var(--field-indent); /* adapted in media queries or HTML */ +} +dl.option-list > dd { + margin-left: 20%; +} +/* run-in: start field-body on same line after long field names */ +dl.field-list.run-in > dd p { + display: block; +} +/* "description style" like in most dictionaries, encyclopedias etc. */ +dl.description { + display: flow-root; +} +dl.description > dt { + clear: left; + float: left; + margin: 0; + padding: 0; + padding-right: 0.3em; + font-weight: bold; +} +dl.description > dd:after { + display: table; + content: ""; + clear: left; /* clearfix for empty descriptions */ +} +/* start lists nested in description/field lists on new line */ +dd > dl:first-child, +dd > ul:first-child, +dd > ol:first-child { + clear: left; +} + +/* disclosures */ +details { padding-left: 1em; } +summary { margin-left: -1em; } + +/* Footnotes and Citations */ +.footnote { + font-size: small; +} + +/* Images, Figures, and Tables */ +img { + display: block; +} +p > img, p > a > img, +figure > img, figure > a > img { + display: inline; +} + +figcaption, +table > caption { + /* font-size: small; */ + font-style: italic; +} +figcaption > .legend { + font-size: small; + font-style: initial; +} +figure.numbered > figcaption > p:before { + counter-increment: figure; + content: "Figure " counter(figure) ": "; + font-weight: bold; + font-style: initial; +} + +table tr { + text-align: left; + vertical-align: baseline; +} +table.booktabs { /* "booktabs" style (no vertical lines) */ + border-top: 2px solid; + border-bottom: 2px solid; +} +table.booktabs * { + border: 0; +} +table.booktabs th { + border-bottom: thin solid; +} +table.numbered > caption:before { + counter-increment: table; + content: "Table " counter(table) ": "; + font-weight: bold; + font-style: initial; +} + +/* Admonitions and System Messages */ +.admonition, +div.system-message { + border: thin solid silver; + margin: 1em 2%; + padding: 0.5em 1em; +} +.caution p.admonition-title, +.attention p.admonition-title, +.danger p.admonition-title, +.warning p.admonition-title, +div.error { + color: maroon; +} +div.system-message > p > span.literal { + overflow-wrap: break-word; +} + +/* Literal and Code */ +pre.literal-block, pre.doctest{ + padding: 0.2em; + overflow-x: auto; +} +.literal-block, .doctest, span.literal { + background-color: #f6f9f8; +} +.system-message span.literal { + background-color: inherit; +} + +/* basic highlighting: for a complete scheme, see */ +/* https://docutils.sourceforge.io/sandbox/stylesheets/ */ +pre.code .comment, code .comment { color: #5C6576 } +pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } +pre.code .literal.string, code .literal.string { color: #0C5404 } +pre.code .name.builtin, code .name.builtin { color: #352B84 } +pre.code .deleted, code .deleted { background-color: #DEB0A1} +pre.code .inserted, code .inserted { background-color: #A3D289} + +/* Hyperlink References */ +a { + text-decoration: none; /* for chromium */ + /* Wrap links at any place, if this is the only way to prevent overflow */ + overflow-wrap: break-word; +} +.contents a, a.toc-backref, a.citation-reference { + overflow-wrap: inherit; +} +/* Undecorated Links (see also minimal.css) */ +/* a.citation-reference, */ +.citation a.fn-backref { + color: inherit; +} +a:hover { + text-decoration: underline; +} +*:hover > a.toc-backref:after { + content: " \2191"; /* ↑ UPWARDS ARROW */ + color: grey; +} +*:hover > a.self-link:after { + content: "\1F517"; /* LINK SYMBOL */ + color: grey; + font-size: smaller; + margin-left: 0.2em; +} +/* highlight the target of the current URL */ +section:target > h2, section:target > h3, section:target > h4, +section:target > h5, section:target > h6, +.contents :target, +.contents:target > .topic-title, +[role="doc-biblioentry"]:target > .label, +[role="doc-biblioref"]:target, +[role="note"]:target, /* Docutils 0.18 ... 0.19 */ +[role="doc-footnote"]:target, /* Docutils >= 0.20 */ +[role="doc-noteref"]:target { + background-color: #d2e6ec; +} + +/* Block Alignment */ +/* Let content flow to the side of aligned images and figures */ + +/* no floats around this elements */ +footer, header, hr, +h1, h2, h3 { + clear: both; +} + +img.align-left, +video.align-left, +figure.align-left, +table.align-left { + margin-left: 0; + padding-left: 0; + margin-right: 0.5em; + clear: left; + float: left; +} +img.align-right, +video.align-right, +figure.align-right, +table.align-right { + margin-left: 0.5em; + margin-right: 0; + clear: right; + float: right; +} + +/* Margin Elements */ +/* see below for screen size dependent rules */ +.sidebar, +.marginal, +.admonition.marginal { + max-width: 40%; + border: none; + background-color: #efefea; + margin: 0.5em var(--sidebar-margin-right) 0.5em 1em; + padding: 0.5em; + padding-left: 0.7em; + clear: right; + float: right; + font-size: small; +} +.sidebar { + width: 40%; +} + +/* Math */ +/* for math-output=MathML (for math-output=HTML, see math.css) */ +math .boldsymbol { + font-weight: bold; +} +mstyle.mathscr, mi.mathscr { + font-family: STIX; +} + +/* Adaptive page layout */ +/* ==================== */ + +@media (max-width: 30em) { + /* Smaller margins and no floating elements for small screens */ + /* (main text less than 40 characters/line) */ + body > * { + padding: 0.5rem 5%; + line-height: 1.4 + } + .sidebar, + .marginal, + .admonition.marginal { + width: auto; + max-width: 100%; + float: none; + } + dl.option-list, + pre { + margin-left: 0; + } + body { + --field-indent: 4em; + } + dl.field-list.narrow, dl.docinfo, dl.option-list { + --field-indent: 2.4em; + } + pre, pre * { + font-size: 0.9em; + /* overflow: auto; */ + } +} + +@media (min-width: 54em) { + /* Move ToC to the left */ + /* Main text width before: 70% ≙ 35em ≙ 75…95 chrs (Dejavu/Times) */ + /* after: ≳ 30em ≙ 54…70 chrs (Dejavu/Times) */ + body.with-toc { + padding-left: 8%; + } + body.with-toc > * { + margin-left: 0; + padding-left: 22rem; /* fallback for webkit */ + padding-left: min(22%, 22rem); + padding-right: 7%; + } + main > nav.contents { /* global ToC */ + position: fixed; + top: 0; + left: 0; + width: min(25%, 25em); + height: 100vh; + margin: 0; + background-color: #fafaf6; + padding: 1em 2% 0 2%; + overflow: auto; + } + main > nav.contents > * { + padding-left: 0; + line-height: 1.4; + } + main > nav.contents a { + color: inherit; + } +} + +@media (min-width: 70em) { + body { + --field-indent: 9em; + } +} + +@media (min-width: 77em) { + /* Move marginalia to 6rem from right border */ + /* .sidebar, */ + /* .marginal, */ + /* .admonition.marginal { */ + /* margin-right: calc(6rem - 15%); */ + /* } */ + /* BUG: margin is calculated for break point width */ + /* workaround: variable + many breakpoints */ + body > * { + padding-left: 18%; + padding-right: 28%; /* fallback for webkit */ + padding-right: min(28%, 28rem); + --sidebar-margin-right: -20rem; + } + /* limit main text to ~ 50em ≙ 85…100 characters DejaVu rsp. …120 Times */ + body.with-toc > * { + padding-left: min(22%, 22rem); + padding-right: calc(78% - 50rem); /* fallback for webkit */ + padding-right: min(78% - 50rem, 28rem); + --sidebar-margin-right: 0; + } +} + +@media (min-width: 85em) { + body.with-toc > * { + --sidebar-margin-right: -9rem; + } +} + +@media (min-width: 90em) { + /* move marginalia into the margin */ + body > * { + padding-left: min(22%, 22rem); + --sidebar-margin-right: -23rem; + } + body.with-toc > * { + --sidebar-margin-right: -14rem; + } +} + +@media (min-width: 99em) { + /* move marginalia out of main text area */ + body.with-toc > * { + --sidebar-margin-right: -20rem; + } + body > *, body.with-toc > * { /* for webkit */ + padding-left: 22rem; + padding-right: 28rem; + } + .admonition.marginal, + .marginal { + width: 40%; /* make marginal figures, ... "full width" */ + } +} + +@media (min-width: 104em) { + body.with-toc > * { + --sidebar-margin-right: -23rem; + } +} + +</style> </head> <body class="with-toc"> <main id="lgrenc-def"> @@ -82,7 +859,7 @@ package.</p> <section id="changelog"> <h2><a class="toc-backref" href="#toc-entry-1" role="doc-backlink">Changelog</a></h2> <p>Development of this file started under the name “lgrxenc.def” as part of the -<a class="reference external" href="http://ctan.org/pkg/lgrx">lgrx</a> bundle. With version 0.8, it moved to <span class="docutils literal"><span class="pre">greek-fontenc/lgrx.def</span></span>.</p> +<a class="reference external" href="https://ctan.org/pkg/lgrx">lgrx</a> bundle. With version 0.8, it moved to <span class="docutils literal"><span class="pre">greek-fontenc/lgrx.def</span></span>.</p> <table class="borderless"> <tbody> <tr><td><p>0.1</p></td> @@ -134,7 +911,7 @@ package.</p> </tr> <tr><td><p>0.8</p></td> <td><p>2013-05-13</p></td> -<td><p>rename to lgrenc.def (superseding the <a class="reference external" href="http://ctan.org/pkg/babel">babel</a> version),</p></td> +<td><p>rename to lgrenc.def (superseding the <a class="reference external" href="https://ctan.org/pkg/babel">babel</a> version),</p></td> </tr> <tr><td><!-- --> </td> @@ -217,13 +994,18 @@ package.</p> <td><p>2022-06-14</p></td> <td><p>Support the correct spelling <span class="docutils literal">\guillemet…</span> for « ».</p></td> </tr> +<tr><td><p>2.2</p></td> +<td><p>2023-02-28</p></td> +<td><p>Fix character used for ano <span class="docutils literal">\textanoteleia</span> and +<span class="docutils literal">\textperiodcentered</span>.</p></td> +</tr> </tbody> </table> </section> <section id="usage"> <h2><a class="toc-backref" href="#toc-entry-2" role="doc-backlink">Usage</a></h2> -<p>Load this file by calling <a class="reference external" href="http://ctan.org/pkg/fontenc">fontenc</a> with the <span class="docutils literal">LGR</span> option -or indirectly via the <a class="reference external" href="http://ctan.org/pkg/babel">babel</a>, <a class="reference external" href="textalpha.sty.html">textalpha</a> or <a class="reference external" href="alphabeta.sty.html">alphabeta</a> packages.</p> +<p>Load this file by calling <a class="reference external" href="https://ctan.org/pkg/fontenc">fontenc</a> with the <span class="docutils literal">LGR</span> option +or indirectly via the <a class="reference external" href="https://ctan.org/pkg/babel">babel</a>, <a class="reference external" href="textalpha.sty.html">textalpha</a> or <a class="reference external" href="alphabeta.sty.html">alphabeta</a> packages.</p> <dl> <dt>Example:</dt> <dd><p>Select font encodings <cite>T1</cite> (as default) and <cite>LGR</cite> (for Greek):</p> @@ -255,7 +1037,7 @@ anyway.</p> <section id="identification"> <h3><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Identification</a></h3> <pre class="literal-block">\ProvidesFile{lgrenc.def} -[2022/06/14 2.1 LGR Greek font encoding definitions] +[2023/02/28 2.2 LGR Greek font encoding definitions] % Copyright © 2010 Günter Milde % This file is part of the "greek-fontenc" package. % It may be distributed and/or modified under the @@ -263,7 +1045,7 @@ anyway.</p> % version 1.3 of this license or any later version.</pre> <p>You can test the version date using</p> <pre class="code latex literal-block"><code><span class="keyword">\@</span>ifl@ter <span class="name builtin">{</span>extension<span class="name builtin">}{</span>filename<span class="name builtin">}{</span>date<span class="name builtin">}{</span>YES<span class="name builtin">}{</span>NO<span class="name builtin">}</span></code></pre> -<p>or using <a class="reference external" href="http://ctan.org/pkg/ltxcmds">ltxcmds</a>’ <span class="docutils literal">\@iffilelater</span>.</p> +<p>or using <a class="reference external" href="https://ctan.org/pkg/ltxcmds">ltxcmds</a>’ <span class="docutils literal">\@iffilelater</span>.</p> </section> <section id="base-setup"> <h3><a class="toc-backref" href="#toc-entry-6" role="doc-backlink">Base setup</a></h3> @@ -275,13 +1057,13 @@ anyway.</p> <h3><a class="toc-backref" href="#toc-entry-7" role="doc-backlink">Text symbols</a></h3> <section id="greek-alphabet"> <h4><a class="toc-backref" href="#toc-entry-8" role="doc-backlink">Greek Alphabet</a></h4> -<p>Greek letters are accessible by the Latin transcription, but the mapping is +<p>Greek letters are accessible by the Latin transliteration, but the mapping is specific to the LGR font encoding.</p> <p>The LICR macros provide a way to access the symbols independent of the specific font encoding, in any font encoding supporting Greek. An -alternative Greek font encodings is LGI (<a class="reference external" href="http://ctan.org/pkg/ibycus-babel">ibycus</a>). Greek script is also +alternative Greek font encodings is LGI (<a class="reference external" href="https://ctan.org/pkg/ibycus-babel">ibycus</a>). Greek script is also supported by the Unicode-based font encodings PU (<cite>PDF Unicode</cite> used by -<a class="reference external" href="http://ctan.org/pkg/hyperref">hyperref</a> for PDF metadata), TU, EU1 (XeTeX) and EU2 (LuaTeX). The <a class="reference external" href="textalpha.sty.html">textalpha</a> +<a class="reference external" href="https://ctan.org/pkg/hyperref">hyperref</a> for PDF metadata), TU, EU1 (XeTeX) and EU2 (LuaTeX). The <a class="reference external" href="textalpha.sty.html">textalpha</a> package makes these macros available independent of the current font encoding.</p> <pre class="literal-block">\DeclareTextSymbol{\textAlpha}{LGR}{65} @@ -340,7 +1122,7 @@ encoding.</p> <h4><a class="toc-backref" href="#toc-entry-9" role="doc-backlink">Additional Greek symbols</a></h4> <section id="ancient-greek-numbers-athenian-numerals"> <h5><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">Ancient Greek Numbers (Athenian Numerals)</a></h5> -<p>Names from <a class="reference external" href="http://ctan.org/pkg/unicode">ucs</a> (<span class="docutils literal">ucsencs.def</span>) +<p>Names from <a class="reference external" href="https://ctan.org/pkg/unicode">ucs</a> (<span class="docutils literal">ucsencs.def</span>) (In ucs, five hundred is (wrongly?) named textpentehkaton.)</p> <pre class="literal-block">\DeclareTextSymbol{\textpentedeka}{LGR}{2} % GREEK ACROPHONIC ATTIC FIFTY \DeclareTextSymbol{\textpentehekaton}{LGR}{3} % GREEK ACROPHONIC ATTIC FIVE HUNDRED @@ -349,9 +1131,9 @@ encoding.</p> </section> <section id="archaic-letters"> <h5><a class="toc-backref" href="#toc-entry-11" role="doc-backlink">Archaic letters</a></h5> -<p>Names after <a class="reference external" href="http://ctan.org/pkg/teubner">teubner</a> and <a class="reference external" href="http://ctan.org/pkg/unicode">ucs</a>.</p> +<p>Names after <a class="reference external" href="https://ctan.org/pkg/teubner">teubner</a> and <a class="reference external" href="https://ctan.org/pkg/unicode">ucs</a>.</p> <p>ϟ (capital numeral koppa) not distinct in LGR but required for -<span class="docutils literal">\Greeknumeral</span> in <a class="reference external" href="http://ctan.org/pkg/babel-greek">babel-greek</a> +<span class="docutils literal">\Greeknumeral</span> in <a class="reference external" href="https://ctan.org/pkg/babel-greek">babel-greek</a> (defining as alias command calling <span class="docutils literal">\textkoppa</span> leads to an infinte loop with <span class="docutils literal">\MakeUppercase</span>):</p> <pre class="literal-block">\DeclareTextSymbol{\textstigma}{LGR}{6} % ϛ @@ -363,7 +1145,7 @@ with <span class="docutils literal">\MakeUppercase</span>):</p> \DeclareTextSymbol{\textStigma}{LGR}{22} % Ϛ in some fonts ϹΤ ligature \DeclareTextSymbol{\textSampi}{LGR}{23} % Ϡ \DeclareTextSymbol{\textsampi}{LGR}{27} % ϡ -\DeclareTextSymbol{\textanoteleia}{LGR}{38} % · +\DeclareTextSymbol{\textanoteleia}{LGR}{59} % · \DeclareTextSymbol{\texterotimatiko}{LGR}{63} % ; \DeclareTextSymbol{\textdigamma}{LGR}{147} % ϝ (ucs) \digamma used by amsmath for math-macro \DeclareTextSymbol{\textDigamma}{LGR}{195} % Ϝ (ucs)</pre> @@ -371,7 +1153,7 @@ with <span class="docutils literal">\MakeUppercase</span>):</p> <section id="numeral-signs"> <h5><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">Numeral signs</a></h5> <p>See also <a class="reference external" href="http://en.wikipedia.org/wiki/Greek_numerals">http://en.wikipedia.org/wiki/Greek_numerals</a></p> -<p>Names from <a class="reference external" href="http://ctan.org/pkg/unicode">ucs</a>:</p> +<p>Names from <a class="reference external" href="https://ctan.org/pkg/unicode">ucs</a>:</p> <pre class="literal-block">\DeclareTextSymbol{\textdexiakeraia}{LGR}{254} % ʹ (Dexia keraia) \DeclareTextSymbol{\textaristerikeraia}{LGR}{255} % ͵ (Aristeri keraia)</pre> </section> @@ -425,7 +1207,7 @@ provide fallback LICR macros with detailed error reporting:</p> <pre class="literal-block">\DeclareTextSymbol{\textendash}{LGR}{0} % EN DASH \DeclareTextSymbol{\textquoteleft}{LGR}{28} % ‘ \DeclareTextSymbol{\textquoteright}{LGR}{29} % ’ -\DeclareTextSymbol{\textperiodcentered}{LGR}{38} % · = \textanoteleia +\DeclareTextSymbol{\textperiodcentered}{LGR}{59} % · = \textanoteleia \DeclareTextSymbol{\textcompwordmark}{LGR}{118} % ZERO WIDTH NO JOINER \DeclareTextSymbol{\textemdash}{LGR}{127} % EM DASH</pre> <p>T1:</p> @@ -474,7 +1256,7 @@ to the Greek letters:</p> <p><cite>tipa</cite> uses the macro names <span class="docutils literal">\textepsilon</span>, <span class="docutils literal">\textgamma</span>, <span class="docutils literal">\textiota</span>, <span class="docutils literal">\textphi</span>, and <span class="docutils literal">\textupsilon</span> for the Latin characters. This is no problem with 8-bit fonts (set the font encoding to T3 vs. LGR to -disambiguate), but leads to ambiguity with Unicode fonts. <a class="reference external" href="http://ctan.org/pkg/xunicode">xunicode</a> uses the +disambiguate), but leads to ambiguity with Unicode fonts. <a class="reference external" href="https://ctan.org/pkg/xunicode">xunicode</a> uses the <span class="docutils literal">gr</span> infix and alias names to disambiguate:</p> <ul class="simple"> <li><p>03B3 <span class="docutils literal">\textgrgamma</span></p></li> @@ -497,7 +1279,7 @@ systematical basis:</p> <section id="not-implemented"> <h4><a class="toc-backref" href="#toc-entry-15" role="doc-backlink">Not implemented</a></h4> <p>The characters at position 16 and 17 are used in the <span class="docutils literal">\nexus</span> macro -of the <a class="reference external" href="http://ctan.org/pkg/teubner">teubner</a> package to form an extensible, hat-like bracket. In +of the <a class="reference external" href="https://ctan.org/pkg/teubner">teubner</a> package to form an extensible, hat-like bracket. In <span class="docutils literal">CB.enc</span>, they are mapped to</p> <blockquote> <p>16–MODIFIER LETTER LOW ACUTE ACCENT @@ -508,7 +1290,7 @@ they rather represent the left and right part of U+23E0 TOP TORTOISE SHELL BRACKET.</p> <p>Babel’s <span class="docutils literal">lgrenc.def</span> has some definitions to prevent surprises with macros that expect a Latin script. These definitions are problematic in a -font-encoding definition file as they require <span class="docutils literal">\textlatin</span> which is +font-encoding definition file as they require <span class="docutils literal">\ensureascii</span> which is defined in <span class="docutils literal">babel.def</span>. They were moved to <span class="docutils literal">greek.ldf</span>.</p> </section> </section> @@ -522,7 +1304,7 @@ definitions</a>.</p> <ul class="simple"> <li><p>input convention similar to LGR input encodings (just prepend a <span class="docutils literal">\</span>).</p></li> <li><p>Access pre-composed characters without resorting to the -ligature mechanism (allows proper kerning, cf. <a class="reference external" href="http://mirror.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf">teubner-doc</a>).</p></li> +ligature mechanism (allows proper kerning, cf. <a class="reference external" href="https://mirrors.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf">teubner-doc</a>).</p></li> <li><p>Named macros can be used to ensure a font encoding supporting Greek is used. However, substitution with pre-composed characters works only for the active font encoding (cf. <a class="reference external" href="textalpha.sty.html">textalpha</a>). Named accent macros can also be @@ -533,11 +1315,11 @@ conventions (cf. <a class="reference internal" href="#uppercase">UPPERCASE</a> b </ul> <section id="named-macros"> <h4><a class="toc-backref" href="#toc-entry-17" role="doc-backlink">Named macros</a></h4> -<p>Definitions are based on the <a class="reference external" href="http://ctan.org/pkg/teubner">teubner</a> package by Claudio Beccari, the <a class="reference external" href="http://ctan.org/pkg/unicode">ucs</a> +<p>Definitions are based on the <a class="reference external" href="https://ctan.org/pkg/teubner">teubner</a> package by Claudio Beccari, the <a class="reference external" href="https://ctan.org/pkg/unicode">ucs</a> package, and the <a class="reference external" href="http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf">babel patch</a> by Werner Lemberg. Names are derived from the Unicode name with the prefix “acc” (cf. <cite>How to name accent macros?</cite> in the <a class="reference external" href="README.html">README</a>) reducing the probability of incompatibilities compared to the -two-letter <a class="reference external" href="http://ctan.org/pkg/teubner">teubner</a> diacritic macros or the “text” prefix used by <a class="reference external" href="http://ctan.org/pkg/unicode">ucs</a>.</p> +two-letter <a class="reference external" href="https://ctan.org/pkg/teubner">teubner</a> diacritic macros or the “text” prefix used by <a class="reference external" href="https://ctan.org/pkg/unicode">ucs</a>.</p> <p>Simple Greek diacritics:</p> <pre class="literal-block">\DeclareTextAccent{\accdialytika}{LGR}{34} % διαλυτικά (diaeresis/trema) \DeclareTextAccent{\acctonos}{LGR}{39} % τόνος/ὀξεῖα tonos/oxia (acute) @@ -545,11 +1327,11 @@ two-letter <a class="reference external" href="http://ctan.org/pkg/teubner">teub \DeclareTextAccent{\accpsili}{LGR}{62} % ψιλή spiritus lenis (smooth breathing) \DeclareTextAccent{\accvaria}{LGR}{96} % βαρεῖα (grave) \DeclareTextAccent{\accperispomeni}{LGR}{126} % περισπωμένη (circonflex/tilde)</pre> -<p>The <a class="reference external" href="http://en.wikipedia.org/wiki/Hypogegrammeni">sub-iota</a> is input after the base character. In LGR fonts, ligatures are +<p>The <a class="reference external" href="http://en.wikipedia.org/wiki/Iota_subscript">mute iota</a> is input after the base character. In LGR fonts, ligatures are defined for pre-composed characters, the postfix ligature does not interfere with kerning:</p> -<pre class="literal-block">\DeclareTextSymbol{\prosgegrammeni}{LGR}{8} % ι "capital" sub-iota -\DeclareTextSymbol{\ypogegrammeni}{LGR}{124} % ͺ "small" sub-iota</pre> +<pre class="literal-block">\DeclareTextSymbol{\prosgegrammeni}{LGR}{8} % ι adscript mute iota (spacing) +\DeclareTextSymbol{\ypogegrammeni}{LGR}{124} % ͺ subscript mute iota (combining)</pre> <p>Composite diacritics:</p> <pre class="literal-block">% Teubner name \DeclareTextAccent{\accdialytikaperispomeni}{LGR}{32} % Cd @@ -592,7 +1374,7 @@ shared by font encodings providing Greek characters:</p> <section id="composite-diacritics"> <h4><a class="toc-backref" href="#toc-entry-21" role="doc-backlink">Composite diacritics</a></h4> <p>Composite accents can be input as sequence of simple diacritics (in -arbitrary order) via named macro, symbol macro and “transcription +arbitrary order) via named macro, symbol macro and “transliteration characters”, e.g. <span class="docutils literal">\accdialytica\accvaria\textalpha</span>, <span class="docutils literal"><span class="pre">\"\'\textalpha</span></span>, <span class="docutils literal"><span class="pre">\"'\textalpha</span></span>, or <span class="docutils literal"><span class="pre">\'"\textalpha</span></span>.</p> <p>The actual declarations are part of the <a class="reference internal" href="#common-greek-font-encoding-definitions">common Greek font encoding @@ -602,7 +1384,7 @@ definitions</a>.</p> <h4><a class="toc-backref" href="#toc-entry-22" role="doc-backlink">Pre-composed letters</a></h4> <section id="small-letters-with-diacritics"> <h5><a class="toc-backref" href="#toc-entry-23" role="doc-backlink">Small letters with diacritics</a></h5> -<p>(from <a class="reference external" href="http://ctan.org/pkg/teubner">teubner</a> with changed names of the composite accents):</p> +<p>(from <a class="reference external" href="https://ctan.org/pkg/teubner">teubner</a> with changed names of the composite accents):</p> <pre class="literal-block">\DeclareTextComposite{\accvaria}{LGR}{a}{128} \DeclareTextComposite{\accdasia}{LGR}{a}{129} \DeclareTextComposite{\accpsili}{LGR}{a}{130} diff --git a/language/greek/greek-fontenc/makeattest.pdf b/language/greek/greek-fontenc/makeattest.pdf Binary files differdeleted file mode 100644 index 252610ab8d..0000000000 --- a/language/greek/greek-fontenc/makeattest.pdf +++ /dev/null diff --git a/language/greek/greek-fontenc/makeattest.tex b/language/greek/greek-fontenc/makeattest.tex deleted file mode 100644 index c7f733b748..0000000000 --- a/language/greek/greek-fontenc/makeattest.tex +++ /dev/null @@ -1,26 +0,0 @@ -\documentclass{article} - -\usepackage{lmodern} -\usepackage[T1]{fontenc} -\usepackage[utf8]{inputenc} -\usepackage{textalpha} - -\usepackage[unicode]{hyperref} - -\begin{document} - -Test the problem with `makeatother' in textalpha.sty. - -\section{Ἀριστοτέλης} - -When commenting out the `makeat...' lines, there is -spurious output (command parts from the indirectly loaded greek-fontenc) -before the document starts. - -\section{\ensuregreek{\accpsili\textAlpha\textrho\textiota\textsigma\texttau - \textomicron\texttau\'\textepsilon\textlambda\texteta\textfinalsigma}} - -Without loading `puenc.def', this heading becomes ->Αριστοτέλη in the PDF sidebar. - -\end{document} diff --git a/language/greek/greek-fontenc/puenc-greek.def b/language/greek/greek-fontenc/puenc-greek.def index 997e9e6635..fdc51336b5 100644 --- a/language/greek/greek-fontenc/puenc-greek.def +++ b/language/greek/greek-fontenc/puenc-greek.def @@ -1,9 +1,11 @@ +% +++++++++++++++ % puenc-greek.def % +++++++++++++++ +% % Greek LICR definitions for PDF strings (hyperref) % ************************************************* % -% :Copyright: © 2020 Günter Milde +% :Copyright: © 2020, 2023 Günter Milde % :Licence: This work may be distributed and/or modified under the % conditions of the `LaTeX Project Public License`_, either % version 1.3 of this license or any later version. @@ -11,18 +13,20 @@ % :: \ProvidesFile{puenc-greek.def} -[2020/10/18 2.0 Greek LICRs for PDF strings] +[2023/02/28 2.2 Greek LICRs for PDF strings] % :abstract: -% Support for Greek LICR macros in PDF bookmarks. Extends puenc.def_. +% Support for Greek LICR macros in PDF bookmarks. Extends ``puenc.def`` +% and supersedes ``puenc-greekbasic.def`` from the hyperref_ package. % Used by babel-greek_ and textalpha_. % -% **History**: +% **Changelog**: % .. class:: borderless % -% ====== ========== ======================================================== -% 2.0 2020-10-18 initial version -% ====== ========== ======================================================== +% ====== =========== ======================================================= +% 2.0 2020-10-18 Initial version. +% 2.2 2023-02-28 Add compatibility definitions for hyperref. +% ====== =========== ======================================================= % % Diacritics % ========== @@ -89,27 +93,18 @@ % Greek and Coptic % ---------------- % +% Without coptic and archaic letters (except the ones used in Greek numerals). % :: -% NR Unicode Name % babel name, PU name -% 0370 GREEK CAPITAL LETTER HETA % Ͱ -% 0371 GREEK SMALL LETTER HETA % ͱ -% 0372 GREEK CAPITAL LETTER ARCHAIC SAMPI % Ͳ -% 0373 GREEK SMALL LETTER ARCHAIC SAMPI % ͳ -\DeclareTextCommand{\textdexiakeraia}{PU}{\83\164} % ʹ \anwtonos, \textnumeralsigngreek -\DeclareTextCommand{\textaristerikeraia}{PU}{\83\165} % ͵ \katwtonos, \textnumeralsignlowergreek -% 0376 GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA % Ͷ -% 0377 GREEK SMALL LETTER PAMPHYLIAN DIGAMMA % ͷ +% NR Unicode Name % PU name (alias in greek-fontenc.def) +\DeclareTextCommand{\textdexiakeraia}{PU}{\83\164} % ʹ \textnumeralsigngreek +\DeclareTextCommand{\textaristerikeraia}{PU}{\83\165} % ͵ \textnumeralsignlowergreek % 037A GREEK YPOGEGRAMMENI (use \textcompwordmark\ypogegrammeni) % ͺ -% 037B GREEK SMALL REVERSED LUNATE SIGMA SYMBOL -% 037C GREEK SMALL DOTTED LUNATE SIGMA SYMBOL -% 037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL - % Erotimatiko: use 003B SEMICOLON, not 037E GREEK QUESTION MARK; dont use the % literal char, as it is active with textalpha's "keep-semicolon" option:: -\DeclareTextCommand{\texterotimatiko}{PU}{\80\073} +\DeclareTextCommand{\texterotimatiko}{PU}{\80\073} \DeclareTextCompositeCommand{\'}{PU}{\@empty}{\83\204} % ΄ 0384 GREEK TONOS \DeclareTextCompositeCommand{\'}{PU}{\ }{\83\204} % ΄ 0384 GREEK TONOS @@ -149,12 +144,14 @@ \DeclareTextCommand{\textPsi}{PU}{\83\250} % Ψ "03A8 \DeclareTextCommand{\textOmega}{PU}{\83\251} % Ω "03A9 \DeclareTextCompositeCommand{\"}{PU}{\textIota}{\83\252} % Ϊ "03AA +\DeclareTextCommand{\textIotadieresis}{PU}{\83\252}% U+03AA \DeclareTextCompositeCommand{\"}{PU}{\textUpsilon}{\83\253} % Ϋ "03AB \DeclareTextCompositeCommand{\'}{PU}{\textalpha}{\83\254} % ά "03AC \DeclareTextCompositeCommand{\'}{PU}{\textepsilon}{\83\255} % έ "03AD \DeclareTextCompositeCommand{\'}{PU}{\texteta}{\83\256} % ή "03AE \DeclareTextCompositeCommand{\'}{PU}{\textiota}{\83\257} % ί "03AF \DeclareTextCompositeCommand{\accdialytikatonos}{PU}{\textupsilon}{\83\260} % ΰ "03B0 +\DeclareTextCompositeCommand{\"}{PU}{\textupsilonacute}{\83\260}% U+03B0 \DeclareTextCommand{\textalpha}{PU}{\83\261} % α "03B1 \DeclareTextCommand{\textbeta}{PU}{\83\262} % β "03B2 \DeclareTextCommand{\textgamma}{PU}{\83\263} % γ "03B3 @@ -172,7 +169,7 @@ \DeclareTextCommand{\textomicron}{PU}{\83\277} % ο "03BF \DeclareTextCommand{\textpi}{PU}{\83\300} % π "03C0 \DeclareTextCommand{\textrho}{PU}{\83\301} % ρ "03C1 -\DeclareTextCommand{\textfinalsigma}{PU}{\83\302} % ς "03C2 final sigma +\DeclareTextCommand{\textfinalsigma}{PU}{\83\302} % ς "03C2 \textvarsigma \DeclareTextCommand{\textsigma}{PU}{\83\303} % σ "03C3 \DeclareTextCommand{\texttau}{PU}{\83\304} % τ "03C4 \DeclareTextCommand{\textupsilon}{PU}{\83\305} % υ "03C5 @@ -180,11 +177,11 @@ \DeclareTextCommand{\textchi}{PU}{\83\307} % χ "03C7 \DeclareTextCommand{\textpsi}{PU}{\83\310} % ψ "03C8 \DeclareTextCommand{\textomega}{PU}{\83\311} % ω "03C9 - \DeclareTextCompositeCommand{\"}{PU}{\textiota}{\83\312}% ϊ "03CA \DeclareTextCompositeCommand{\"}{PU}{\textupsilon}{\83\313}% ϋ "03CB \DeclareTextCompositeCommand{\'}{PU}{\textomicron}{\83\314}% ό "03CC \DeclareTextCompositeCommand{\'}{PU}{\textupsilon}{\83\315}% ύ "03CD +\DeclareTextCommand{\textupsilonacute}{PU}{\83\315}% U+03CD \DeclareTextCompositeCommand{\'}{PU}{\textomega}{\83\316}% ώ "03CE % Archaic letters (still used in Greek numerals) @@ -198,25 +195,26 @@ \DeclareTextCommand{\textQoppa}{PU}{\83\330} % Ϙ "03D8 \DeclareTextCommand{\textqoppa}{PU}{\83\331} % ϙ "03D9 -\DeclareTextCommand{\textStigma}{PU}{\83\332} % Ϛ "03DA -\DeclareTextCommand{\textstigma}{PU}{\83\333} % ϛ "03DB -\DeclareTextCommand{\textDigamma}{PU}{\83\334} % Ϝ "03DC -\DeclareTextCommand{\textdigamma}{PU}{\83\335} % ϝ "03DD -\DeclareTextCommand{\textKoppa}{PU}{\83\336} % Ϟ "03DE in LGR identic to \textkoppa -\DeclareTextCommand{\textkoppa}{PU}{\83\337} % ϟ "03DF \koppa, \textqoppa [sic!] -\DeclareTextCommand{\textSampi}{PU}{\83\340} % Ϡ "03E0 -\DeclareTextCommand{\textsampi}{PU}{\83\341} % ϡ "03E1 +\DeclareTextCommand{\textStigma}{PU}{\83\332} % Ϛ "03DA \textStigmagreek +\DeclareTextCommand{\textstigma}{PU}{\83\333} % ϛ "03DB \textstigmagreek +\DeclareTextCommand{\textDigamma}{PU}{\83\334} % Ϝ "03DC \textDigammagreek +\DeclareTextCommand{\textdigamma}{PU}{\83\335} % ϝ "03DD \textdigammagreek +\DeclareTextCommand{\textKoppa}{PU}{\83\336} % Ϟ "03DE \textKoppagreek in LGR identic to \textkoppa +\DeclareTextCommand{\textkoppa}{PU}{\83\337} % ϟ "03DF \textkoppagreek +\DeclareTextCommand{\textSampi}{PU}{\83\340} % Ϡ "03E0 \textSampigreek +\DeclareTextCommand{\textsampi}{PU}{\83\341} % ϡ "03E1 \textsampigreek \DeclareTextCommand{\textkappasymbol}{PU}{\83\360} % ϰ "03F0 \DeclareTextCommand{\textrhosymbol}{PU}{\83\361} % ϱ "03F1 \DeclareTextCommand{\textThetasymbol}{PU}{\83\364} % ϴ "03F4 \DeclareTextCommand{\textepsilonsymbol}{PU}{\83\365} % ϵ "03F5 +\DeclareTextCommand{\textbackepsilon}{PU}{\83\366} % ϶ "03F6 # not in LGR -% Dummy definition (\textautosigma is lowercase of \textSigma) -% TODO: implement autosigma for PU and TU:: +% ``\textautosigma`` is lowercase of \textSigma +% (since 2022/06, ``\MakeLowercase`` use a context-sensitive sigma) :: -\ProvideTextCommand{\textautosigma}{PU}{\textsigma} +\ProvideTextCommand{\textautosigma}{PU}{\MakeLowercase{\textSigma}} % Greek Extended @@ -398,7 +396,7 @@ \DeclareTextCompositeCommand{\accdasiaoxia}{PU}{\ }{\9037\336} % ῞ \DeclareTextCompositeCommand{\accdasiaperispomeni}{PU}{\@empty}{\9037\337} % ῟ \DeclareTextCompositeCommand{\accdasiaperispomeni}{PU}{\ }{\9037\337} % ῟ - + \DeclareTextCompositeCommand{\u}{PU}{\textupsilon}{\9037\340} % ῠ \DeclareTextCompositeCommand{\=}{PU}{\textupsilon}{\9037\341} % ῡ \DeclareTextCompositeCommand{\accdialytikavaria}{PU}{\textupsilon}{\9037\342} % ῢ @@ -452,3 +450,13 @@ \DeclareTextCommand{\textpentehekaton}{PU}{𐅅} % "10145 GREEK ACROPHONIC ATTIC FIVE HUNDRED \DeclareTextCommand{\textpenteqilioi}{PU}{𐅆} % "10146 GREEK ACROPHONIC ATTIC FIVE THOUSAND \DeclareTextCommand{\textpentemuria}{PU}{𐅇} % "10147 GREEK ACROPHONIC ATTIC FIFTY THOUSAND + + +% .. References +% +% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt +% .. _babel-greek: https://ctan.org/pkg/babel-greek +% .. _greek-fontenc.def: greek-fontenc.def.html +% .. _grnumalt: https://ctan.org/pkg/grnumalt +% .. _hyperref: https://ctan.org/pkg/hyperref +% .. _textalpha: textalpha.sty.html diff --git a/language/greek/greek-fontenc/puenc-greek.def.html b/language/greek/greek-fontenc/puenc-greek.def.html index 68ad597359..0743c622df 100644 --- a/language/greek/greek-fontenc/puenc-greek.def.html +++ b/language/greek/greek-fontenc/puenc-greek.def.html @@ -1,18 +1,19 @@ <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> -<meta charset="utf-8"/> -<meta name="generator" content="Docutils 0.17b2.dev: http://docutils.sourceforge.net/" /> +<meta charset="utf-8" /> +<meta name="generator" content="Docutils 0.20b.dev: https://docutils.sourceforge.io/" /> +<meta name="viewport" content="width=device-width, initial-scale=1" /> +<meta name="dcterms.rights" content="© 2020, 2023 Günter Milde" /> <title>puenc-greek.def</title> -<meta name="dcterms.rights" content="© 2020 Günter Milde" /> <link rel="schema.dcterms" href="http://purl.org/dc/terms/"/> <style type="text/css"> /* Minimal style sheet for the HTML output of Docutils. */ /* */ /* :Author: Günter Milde, based on html4css1.css by David Goodger */ -/* :Id: $Id$ */ -/* :Copyright: © 2015 Günter Milde. */ +/* :Id: $Id$ */ +/* :Copyright: © 2015, 2021 Günter Milde. */ /* :License: Released under the terms of the `2-Clause BSD license`_, */ /* in short: */ /* */ @@ -24,38 +25,24 @@ /* */ /* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ -/* This CSS2.1_ stylesheet defines rules for Docutils elements without */ -/* HTML equivalent. It is required to make the document semantic visible. */ -/* */ -/* .. _CSS2.1: http://www.w3.org/TR/CSS2 */ -/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ - -/* alignment of text and inline objects inside block objects*/ -.align-left { text-align: left; } -.align-right { text-align: right; } -.align-center { clear: both; text-align: center; } -.align-top { vertical-align: top; } -.align-middle { vertical-align: middle; } -.align-bottom { vertical-align: bottom; } +/* This CSS3 stylesheet defines rules for Docutils elements without */ +/* HTML equivalent. It is required to make the document semantics visible. */ +/* */ +/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ /* titles */ -h1.title, -p.subtitle { - text-align: center; -} p.topic-title, -p.sidebar-title, -p.rubric, p.admonition-title, p.system-message-title { font-weight: bold; } -h1 + p.subtitle { - font-size: 1.6em; +p.sidebar-title, +p.rubric { + font-weight: bold; + font-size: larger; } -h2 + p.section-subtitle, -p.sidebar-title { - font-size: 1.2em; +p.rubric { + color: maroon; } p.subtitle, p.section-subtitle, @@ -63,46 +50,47 @@ p.sidebar-subtitle { font-weight: bold; margin-top: -0.5em; } -p.rubric { - font-size: larger; - color: maroon; +h1 + p.subtitle { + font-size: 1.6em; } a.toc-backref { - color: black; - text-decoration: none; } + color: inherit; + text-decoration: none; +} /* Warnings, Errors */ -div.system-messages h2, -span.problematic, -p.system-message-title { +.system-messages h2, +.system-message-title, +span.problematic { color: red; } -/* inline literals */ -span.docutils.literal { +/* Inline Literals */ +.docutils.literal { font-family: monospace; white-space: pre-wrap; } -/* do not wraph at hyphens and similar: */ +/* do not wrap at hyphens and similar: */ .literal > span.pre { white-space: nowrap; } /* Lists */ /* compact and simple lists: no margin between items */ -.simple li, .compact li, -.simple ul, .compact ul, -.simple ol, .compact ol, -.simple > li p, .compact > li p, -dl.simple > dd, dl.compact > dd { +.simple li, .simple ul, .simple ol, +.compact li, .compact ul, .compact ol, +.simple > li p, dl.simple > dd, +.compact > li p, dl.compact > dd { margin-top: 0; margin-bottom: 0; } +/* Nested Paragraphs */ +p:first-child { margin-top: 0; } +p:last-child { margin-bottom: 0; } +details > p:last-child { margin-bottom: 1em; } /* Table of Contents */ -div.topic.contents { margin: 0.5em 0; } -div.topic.contents ul { +.contents ul.auto-toc { /* section numbers present */ list-style-type: none; - padding-left: 1.5em; } /* Enumerated Lists */ @@ -112,32 +100,41 @@ ol.upperalpha { list-style: upper-alpha } ol.lowerroman { list-style: lower-roman } ol.upperroman { list-style: upper-roman } -dt span.classifier { font-style: italic } -dt span.classifier:before { +/* Definition Lists and Derivatives */ +dt .classifier { font-style: italic } +dt .classifier:before { font-style: normal; margin: 0.5em; content: ":"; } - -/* Field Lists and drivatives */ +/* Field Lists and similar */ /* bold field name, content starts on the same line */ +dl.field-list, +dl.option-list, +dl.docinfo { + display: flow-root; +} dl.field-list > dt, dl.option-list > dt, -dl.docinfo > dt, -dl.footnote > dt, -dl.citation > dt { +dl.docinfo > dt { font-weight: bold; clear: left; float: left; margin: 0; padding: 0; - padding-right: 0.5em; + padding-right: 0.2em; } /* Offset for field content (corresponds to the --field-name-limit option) */ dl.field-list > dd, dl.option-list > dd, dl.docinfo > dd { - margin-left: 9em; /* ca. 14 chars in the test examples */ + margin-left: 9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */ +} +/* start nested lists on new line */ +dd > dl:first-child, +dd > ul:first-child, +dd > ol:first-child { + clear: left; } /* start field-body on a new line after long field names */ dl.field-list > dd > *:first-child, @@ -147,108 +144,124 @@ dl.option-list > dd > *:first-child width: 100%; margin: 0; } -/* field names followed by a colon */ -dl.field-list > dt:after, -dl.docinfo > dt:after { - content: ":"; -} /* Bibliographic Fields (docinfo) */ -pre.address { - font: inherit; +dl.docinfo pre.address { + font: inherit; margin: 0.5em 0; } -dd.authors > p { margin: 0; } +dl.docinfo > dd.authors > p { margin: 0; } /* Option Lists */ -dl.option-list { margin-left: 1.5em; } dl.option-list > dt { font-weight: normal; } span.option { white-space: nowrap; } /* Footnotes and Citations */ -dl.footnote.superscript > dd {margin-left: 1em; } -dl.footnote.brackets > dd {margin-left: 2em; } -dl.footnote > dt { font-weight: normal; } -a.footnote-reference.brackets:before, -dt.label > span.brackets:before { content: "["; } -a.footnote-reference.brackets:after, -dt.label > span.brackets:after { content: "]"; } -a.footnote-reference.superscript, -dl.footnote.superscript > dt.label { + +.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */ +/* hanging indent */ +.citation { padding-left: 2em; } +.footnote { padding-left: 1.7em; } +.footnote.superscript { padding-left: 1.0em; } +.citation > .label { margin-left: -2em; } +.footnote > .label { margin-left: -1.7em; } +.footnote.superscript > .label { margin-left: -1.0em; } + +.footnote > .label + *, +.citation > .label + * { + display: inline-block; + margin-top: 0; + vertical-align: top; +} +.footnote > .backrefs + *, +.citation > .backrefs + * { + margin-top: 0; +} +.footnote > .label + p, .footnote > .backrefs + p, +.citation > .label + p, .citation > .backrefs + p { + display: inline; + vertical-align: inherit; +} + +.backrefs { user-select: none; } +.backrefs > a { font-style: italic; } + +/* superscript footnotes */ +a[role="doc-noteref"].superscript, +.footnote.superscript > .label, +.footnote.superscript > .backrefs { vertical-align: super; - font-size: small; + font-size: smaller; + line-height: 1; +} +a[role="doc-noteref"].superscript > .fn-bracket, +.footnote.superscript > .label > .fn-bracket { + /* hide brackets in display but leave for copy/paste */ + display: inline-block; + width: 0; + overflow: hidden; +} +[role="doc-noteref"].superscript + [role="doc-noteref"].superscript { + padding-left: 0.15em; /* separate consecutive footnote references */ + /* TODO: unfortunately, "+" also selects with text between the references. */ } -dt.label > span.fn-backref { margin-left: 0.2em; } -dt.label > span.fn-backref > a { font-style: italic; } -/* Figures, Images, and Tables */ -.figure.align-left, -figure.align-left, -img.align-left, -object.align-left, -table.align-left { +/* Alignment */ +.align-left { + text-align: left; margin-right: auto; } -.figure.align-center, -figure.align-center, -img.align-center, -object.align-center, -table.align-center { +.align-center { + text-align: center; margin-left: auto; margin-right: auto; } -.figure.align-right, -figure.align-right, -img.align-right, -object.align-right, -table.align-right { +.align-right { + text-align: right; margin-left: auto; } -img.align-center, img.align-right, -object.align-center, object.align-right { - display: block; -} +.align-top { vertical-align: top; } +.align-middle { vertical-align: middle; } +.align-bottom { vertical-align: bottom; } + /* reset inner alignment in figures and tables */ -.figure.align-left, .figure.align-right, figure.align-left, figure.align-right, table.align-left, table.align-center, table.align-right { text-align: inherit; } -/* Sidebar */ -aside.sidebar { - width: 30%; - max-width: 26em; - float: right; - clear: right; -} - /* Text Blocks */ -blockquote, -div.topic, -div.admonition, -div.system-message { - margin-left: 2em; - margin-right: 2em; +.topic { margin: 1em 2em; } +.sidebar, +.admonition, +.system-message { + margin: 1em 2em; + border: thin solid; + padding: 0.5em 1em; } div.line-block { display: block; } -div.line-block div.line-block { - margin: 0 0 0 2em; -} -pre { margin-left: 2em; } -pre.code .ln { color: gray; } /* line numbers */ +div.line-block div.line-block, pre { margin-left: 2em; } +/* Code line numbers: dropped when copying text from the page */ +pre.code .ln { display: none; } +pre.code code:before { + content: attr(data-lineno); /* …, none) fallback not supported by any browser */ + color: gray; +} /* Tables */ -table { border-collapse: collapse; } +table { + border-collapse: collapse; +} td, th { - border-style: solid; - border-color: silver; + border: thin solid silver; padding: 0 1ex; - border-width: thin; } -td > p:first-child, th > p:first-child { margin-top: 0; } -td > p, th > p { margin-bottom: 0; } +.borderless td, .borderless th { + border: 0; + padding: 0; + padding-right: 0.5em /* separate table cells */ +} table > caption { text-align: left; @@ -259,25 +272,24 @@ table.captionbelow { caption-side: bottom; } -table.borderless td, table.borderless th { - border: 0; - padding: 0; - padding-right: 0.5em /* separate table cells */ -} - /* Document Header and Footer */ header { border-bottom: 1px solid black; } footer { border-top: 1px solid black; } -/* new HTML5 block elements: set display for older browsers */ -header, section, footer, aside, nav, main, article, figure { +/* Images are block-level by default in Docutils */ +/* New HTML5 block elements: set display for older browsers */ +img, header, footer, main, aside, nav, section, figure, video, details { display: block; } +/* inline images */ +p img, p video, figure img, figure video { + display: inline; +} </style> <style type="text/css"> -/* CSS3_ style sheet for the output of Docutils HTML writers. */ +/* CSS3_ style sheet for the output of Docutils HTML5 writer. */ /* Generic responsive design for all screen sizes. */ /* */ /* :Author: Günter Milde */ @@ -294,119 +306,113 @@ header, section, footer, aside, nav, main, article, figure { /* This file is offered as-is, without any warranty. */ /* */ /* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ -/* .. _CSS3: http://www.w3.org/TR/CSS3 */ +/* .. _CSS3: https://www.w3.org/Style/CSS/ */ + +/* Note: */ +/* This style sheet is provisional: */ +/* the API is not settled and may change with any minor Docutils version. */ + /* General Settings */ /* ================ */ -/* Suited for all screen sizes or special to small ones (mobile first). */ -/* For adaption to larger screens see media queries below */ -@viewport { - zoom: 1.0; - width: extend-to-zoom; -} + +* { box-sizing: border-box; } body { background-color: #fafaf6; -/* background-color: #fefdfb; */ - font-size: larger; - line-height: 1.4; margin: auto; + --field-indent: 6.6em; /* indent of fields in field lists */ + --sidebar-margin-right: 0; /* adapted in media queries below */ } main { counter-reset: figure table; } -main, header, footer { - padding: 0.5em 5%; - background-color: #fefefc; - max-width: 66em; -} - -main > *, section > * { - max-width: 55em; /* ca. 90…100 characters */ +body > * { + background-color: white; + line-height: 1.6; + padding: 0.5rem calc(29% - 7.2rem); /* go from 5% to 15% (8.15em/54em) */ + margin: auto; + max-width: 100rem; } -main > section, section > section { - max-width: 100%; +sup, sub { /* avoid additional inter-line space for lines with sup/sub */ + line-height: 1; } /* Vertical Space (Parskip) */ p, ol, ul, dl, li, div.line-block, -div.topic, +.topic, +.footnote, .citation, +div > math, table { margin-top: 0.5em; margin-bottom: 0.5em; } h1, h2, h3, h4, h5, h6, -dl > dd { +dl > dd, details > p:last-child { margin-bottom: 0.5em; } -/* exceptions */ -p:first-child { - margin-top: 0; -} -p:last-child { - margin-bottom: 0; -} -blockquote > table, -div.topic > table { - margin-top: 0; - margin-bottom: 0; -} /* Indented Blocks */ -blockquote, -figure, -div.topic { - /* background-color: Honeydew; */ - margin: 0.5em 2%; +blockquote, figure, .topic { + margin: 1em 2%; padding-left: 1em; } div.line-block div.line-block, -dl.option-list, -.literal-block, -pre { - /* background-color: LightCyan; */ +pre, dd, dl.option-list { margin-left: calc(2% + 1em); } /* Object styling */ /* ============== */ -footer > *, header > *, -aside.sidebar > *, .marginal > * { - font-size: smaller; +footer, header { + font-size: small; } /* Frontmatter */ -blockquote.dedication, -div.topic.dedication { +div.dedication { padding: 0; - margin-left: 0; + margin: 1.4em 0; font-style: italic; - font-size: larger; + font-size: large; } -/* div.abstract p.topic-title, */ -div.dedication p.topic-title { +.dedication p.topic-title { display: none; } blockquote p.attribution, -div.topic p.attribution { +.topic p.attribution { text-align: right; } /* Table of Contents */ -div.topic.contents { - padding: 0; +nav.contents ul { + padding-left: 1em; } -ul.auto-toc > li > p { +ul.auto-toc > li > p { /* hanging indent */ padding-left: 1em; text-indent: -1em; } -div.topic.contents ul { - padding-left: 1em; +main > nav.contents ul:not(.auto-toc) { + list-style-type: square; +} +main > nav.contents ul ul:not(.auto-toc) { + list-style-type: disc; +} +main > nav.contents ul ul ul:not(.auto-toc) { + list-style-type: '\2B29\ '; +} +main > nav.contents ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B1D\ '; +} +main > nav.contents ul ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B2A\ '; +} +nav.contents ul > li::marker { + color: grey; } /* Transitions */ @@ -416,54 +422,51 @@ hr { /* Lists */ -/* Smaller indent on small screens */ ul, ol { - padding-left: 1.1em; -} -dd { - margin-left: 1.5em; + padding-left: 1.1em; /* indent by bullet width (Firefox, DejaVu fonts) */ } -dl.field-list > dd { - margin-left: 4em; +dl.field-list > dd, +dl.docinfo > dd { + margin-left: var(--field-indent); /* adapted in media queries or HTML */ } -dl.field-list.narrow > dd, -dl.docinfo > dd, dl.option-list > dd { - margin-left: 2.4em; + margin-left: 20%; } /* run-in: start field-body on same line after long field names */ dl.field-list.run-in > dd p { display: block; } - /* "description style" like in most dictionaries, encyclopedias etc. */ +dl.description { + display: flow-root; +} dl.description > dt { clear: left; float: left; margin: 0; padding: 0; - padding-right: 0.5em; + padding-right: 0.3em; font-weight: bold; } dl.description > dd:after { - display: block; + display: table; content: ""; - clear: both; + clear: left; /* clearfix for empty descriptions */ } /* start lists nested in description/field lists on new line */ dd > dl:first-child, dd > ul:first-child, dd > ol:first-child { - clear: left; + clear: left; } + +/* disclosures */ +details { padding-left: 1em; } +summary { margin-left: -1em; } + /* Footnotes and Citations */ -/* TODO: use <aside> */ -dl.footnote { - font-size: smaller; - padding-left: 0.5em; -/* text-indent: -0.5em; */ - border-left: solid; - border-left-width: thin; +.footnote { + font-size: small; } /* Images, Figures, and Tables */ @@ -475,39 +478,36 @@ figure > img, figure > a > img { display: inline; } -table tr { - text-align: left; -} - -/* th { vertical-align: bottom; } */ -/* "booktabs" style (no vertical lines) */ -table.booktabs { - border-top: 2px solid; - border-bottom: 2px solid; -} -table.booktabs * { - border: 0; -} -table.booktabs th { - border-bottom: thin solid; -} - figcaption, table > caption { - /* font-size: smaller; */ + /* font-size: small; */ font-style: italic; } figcaption > .legend { - font-size: smaller; + font-size: small; font-style: initial; } - figure.numbered > figcaption > p:before { counter-increment: figure; content: "Figure " counter(figure) ": "; font-weight: bold; font-style: initial; } + +table tr { + text-align: left; + vertical-align: baseline; +} +table.booktabs { /* "booktabs" style (no vertical lines) */ + border-top: 2px solid; + border-bottom: 2px solid; +} +table.booktabs * { + border: 0; +} +table.booktabs th { + border-bottom: thin solid; +} table.numbered > caption:before { counter-increment: table; content: "Table " counter(table) ": "; @@ -516,19 +516,16 @@ table.numbered > caption:before { } /* Admonitions and System Messages */ -div.admonition, +.admonition, div.system-message { - box-sizing: border-box; - border-style: solid; - border-color: silver; - border-width: thin; + border: thin solid silver; margin: 1em 2%; - padding: 0.5em; + padding: 0.5em 1em; } -div.caution p.admonition-title, -div.attention p.admonition-title, -div.danger p.admonition-title, -div.warning p.admonition-title, +.caution p.admonition-title, +.attention p.admonition-title, +.danger p.admonition-title, +.warning p.admonition-title, div.error { color: maroon; } @@ -537,17 +534,19 @@ div.system-message > p > span.literal { } /* Literal and Code */ -pre { - /* font-family: Consolas, "Liberation Mono", Menlo, monospace; */ - /* font-size: 0.9em; */ - overflow: auto; - margin-right: -5%; +pre.literal-block, pre.doctest{ + padding: 0.2em; + overflow-x: auto; +} +.literal-block, .doctest, span.literal { + background-color: #f6f9f8; +} +.system-message span.literal { + background-color: inherit; } - -pre.code .ln { color: gray; } /* line numbers */ /* basic highlighting: for a complete scheme, see */ -/* http://docutils.sourceforge.net/sandbox/stylesheets/ */ +/* https://docutils.sourceforge.io/sandbox/stylesheets/ */ pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } pre.code .literal.string, code .literal.string { color: #0C5404 } @@ -555,45 +554,57 @@ pre.code .name.builtin, code .name.builtin { color: #352B84 } pre.code .deleted, code .deleted { background-color: #DEB0A1} pre.code .inserted, code .inserted { background-color: #A3D289} - - -.sans { - font-family: "Gill Sans", "Gill Sans MT", Calibri, "Lucida Sans", "Noto Sans", sans-serif; - letter-spacing: .02em; -} - /* Hyperlink References */ -/* underline that clears descenders */ a { - text-decoration: none; - text-decoration-skip-ink: auto; /* nonstandard selector */ -} -a:link{ + text-decoration: none; /* for chromium */ + /* Wrap links at any place, if this is the only way to prevent overflow */ overflow-wrap: break-word; } -/* undecorated links */ -a[href^="#system-message"], -.contents a, a.toc-backref, a.image-reference, -a.footnote-reference, a.fn-backref, .fn-backref a, -a.citation-reference { +.contents a, a.toc-backref, a.citation-reference { + overflow-wrap: inherit; +} +/* Undecorated Links (see also minimal.css) */ +/* a.citation-reference, */ +.citation a.fn-backref { color: inherit; } -a:link:hover { +a:hover { text-decoration: underline; } - +*:hover > a.toc-backref:after { + content: " \2191"; /* ↑ UPWARDS ARROW */ + color: grey; +} +*:hover > a.self-link:after { + content: "\1F517"; /* LINK SYMBOL */ + color: grey; + font-size: smaller; + margin-left: 0.2em; +} +/* highlight the target of the current URL */ +section:target > h2, section:target > h3, section:target > h4, +section:target > h5, section:target > h6, +.contents :target, +.contents:target > .topic-title, +[role="doc-biblioentry"]:target > .label, +[role="doc-biblioref"]:target, +[role="note"]:target, /* Docutils 0.18 ... 0.19 */ +[role="doc-footnote"]:target, /* Docutils >= 0.20 */ +[role="doc-noteref"]:target { + background-color: #d2e6ec; +} /* Block Alignment */ /* Let content flow to the side of aligned images and figures */ /* no floats around this elements */ -dl.footnote, dl.citation, /* errors with internal floats */ -footer, header, hr, -h1, h2, h3, .contents > p.topic-title { +footer, header, hr, +h1, h2, h3 { clear: both; } img.align-left, +video.align-left, figure.align-left, table.align-left { margin-left: 0; @@ -603,111 +614,175 @@ table.align-left { float: left; } img.align-right, +video.align-right, figure.align-right, table.align-right { margin-left: 0.5em; + margin-right: 0; clear: right; float: right; } /* Margin Elements */ /* see below for screen size dependent rules */ -aside.sidebar { -/* overwrite minimal.css */ - width: auto; - max-width: 100%; -/* float: none; */ -} -aside.sidebar, +.sidebar, .marginal, -.admonition.marginal, -.topic.marginal { +.admonition.marginal { + max-width: 40%; + border: none; background-color: #efefea; - box-sizing: border-box; - margin: 0.5em 0; + margin: 0.5em var(--sidebar-margin-right) 0.5em 1em; padding: 0.5em; + padding-left: 0.7em; clear: right; + float: right; + font-size: small; +} +.sidebar { + width: 40%; } -/* Adaptive page layout */ +/* Math */ +/* for math-output=MathML (for math-output=HTML, see math.css) */ +math .boldsymbol { + font-weight: bold; +} +mstyle.mathscr, mi.mathscr { + font-family: STIX; +} -/* larger margins and floating elements moderately small screens */ -/* main text more than around 40 characters/line */ -@media (min-width: 35em) { - /* wider margins */ - main, header, footer { - padding: 0.5em calc(20% - 5rem); - line-height: 1.6 - } - pre { - margin-right: calc(5rem - 20%); +/* Adaptive page layout */ +/* ==================== */ + +@media (max-width: 30em) { + /* Smaller margins and no floating elements for small screens */ + /* (main text less than 40 characters/line) */ + body > * { + padding: 0.5rem 5%; + line-height: 1.4 } - /* floating margin elements */ - aside.sidebar, + .sidebar, .marginal, - .admonition.marginal, - .topic.marginal { - max-width: min(45%, 18em); - margin-left: 1em; - clear: right; - float: right; + .admonition.marginal { + width: auto; + max-width: 100%; + float: none; } - /* more indent for field-list values */ - dl.field-list > dd, - dl.docinfo > dd { - margin-left: 6.4em; + dl.option-list, + pre { + margin-left: 0; } - dl.option-list > dd { - margin-left: 5em; + body { + --field-indent: 4em; } -} - -@media (min-width: 65em) { - /* 2 column layout with wide margin */ - main, header, footer { - padding: 0.5em 15%; + dl.field-list.narrow, dl.docinfo, dl.option-list { + --field-indent: 2.4em; } - aside.sidebar, - .marginal, - .admonition.marginal, - .topic.marginal { - background-color: inherit; - /* background-color: lavender; */ - margin-right: -18%; - padding: 0; + pre, pre * { + font-size: 0.9em; + /* overflow: auto; */ } - .admonition.marginal { padding: 0.5em; } } -/* Move ToC to the left */ -@media (min-width: 100em) { - main, header, footer { - padding-left: min(30%, 36em); +@media (min-width: 54em) { + /* Move ToC to the left */ + /* Main text width before: 70% ≙ 35em ≙ 75…95 chrs (Dejavu/Times) */ + /* after: ≳ 30em ≙ 54…70 chrs (Dejavu/Times) */ + body.with-toc { + padding-left: 8%; + } + body.with-toc > * { + margin-left: 0; + padding-left: 22rem; /* fallback for webkit */ + padding-left: min(22%, 22rem); + padding-right: 7%; } - main > div.topic.contents { + main > nav.contents { /* global ToC */ position: fixed; top: 0; left: 0; - box-sizing: border-box; - width: min(25%, 28em); + width: min(25%, 25em); height: 100vh; margin: 0; background-color: #fafaf6; - padding: 5.5em 2%; + padding: 1em 2% 0 2%; overflow: auto; } - main > div.topic.contents > * { + main > nav.contents > * { padding-left: 0; + line-height: 1.4; + } + main > nav.contents a { + color: inherit; + } +} + +@media (min-width: 70em) { + body { + --field-indent: 9em; + } +} + +@media (min-width: 77em) { + /* Move marginalia to 6rem from right border */ + /* .sidebar, */ + /* .marginal, */ + /* .admonition.marginal { */ + /* margin-right: calc(6rem - 15%); */ + /* } */ + /* BUG: margin is calculated for break point width */ + /* workaround: variable + many breakpoints */ + body > * { + padding-left: 18%; + padding-right: 28%; /* fallback for webkit */ + padding-right: min(28%, 28rem); + --sidebar-margin-right: -20rem; + } + /* limit main text to ~ 50em ≙ 85…100 characters DejaVu rsp. …120 Times */ + body.with-toc > * { + padding-left: min(22%, 22rem); + padding-right: calc(78% - 50rem); /* fallback for webkit */ + padding-right: min(78% - 50rem, 28rem); + --sidebar-margin-right: 0; + } +} + +@media (min-width: 85em) { + body.with-toc > * { + --sidebar-margin-right: -9rem; + } +} + +@media (min-width: 90em) { + /* move marginalia into the margin */ + body > * { + padding-left: min(22%, 22rem); + --sidebar-margin-right: -23rem; + } + body.with-toc > * { + --sidebar-margin-right: -14rem; + } +} + +@media (min-width: 99em) { + /* move marginalia out of main text area */ + body.with-toc > * { + --sidebar-margin-right: -20rem; + } + body > *, body.with-toc > * { /* for webkit */ + padding-left: 22rem; + padding-right: 28rem; + } + .admonition.marginal, + .marginal { + width: 40%; /* make marginal figures, ... "full width" */ + } +} + +@media (min-width: 104em) { + body.with-toc > * { + --sidebar-margin-right: -23rem; } - -/* marginal elements outside of main text */ -@media (min-width: 126em) { - aside.sidebar, - figure.marginal, - .topic.marginal, - p.marginal { - width: min(45%, 18em); - } } </style> @@ -717,36 +792,35 @@ aside.sidebar, <h1 class="title">puenc-greek.def</h1> <p class="subtitle" id="greek-licr-definitions-for-pdf-strings-hyperref">Greek LICR definitions for PDF strings (hyperref)</p> <dl class="docinfo"> -<dt class="copyright">Copyright</dt> -<dd class="copyright">© 2020 Günter Milde</dd> -<dt class="licence">Licence</dt> +<dt class="copyright">Copyright<span class="colon">:</span></dt> +<dd class="copyright">© 2020, 2023 Günter Milde</dd> +<dt class="licence">Licence<span class="colon">:</span></dt> <dd class="licence"><p>This work may be distributed and/or modified under the conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either version 1.3 of this license or any later version.</p> </dd> -<dt class="identification">Identification</dt> +<dt class="identification">Identification<span class="colon">:</span></dt> <dd class="identification"><pre class="literal-block">\ProvidesFile{puenc-greek.def} -[2020/10/18 2.0 Greek LICRs for PDF strings]</pre> +[2023/02/28 2.2 Greek LICRs for PDF strings]</pre> </dd> </dl> -<div class="abstract topic"> +<div class="topic abstract" role="doc-abstract"> <p class="topic-title">Abstract</p> <p>Support for Greek LICR macros in PDF bookmarks. Extends <span class="docutils literal">puenc.def</span> -from the <a class="reference external" href="https://ctan.org/pkg/hyperref">hyperref</a> package. -Used by <a class="reference external" href="http://ctan.org/pkg/babel-greek">babel-greek</a> and <a class="reference external" href="textalpha.sty.html">textalpha</a>.</p> +and supersedes <span class="docutils literal"><span class="pre">puenc-greekbasic.def</span></span> from the <a class="reference external" href="https://ctan.org/pkg/hyperref">hyperref</a> package. +Used by <a class="reference external" href="https://ctan.org/pkg/babel-greek">babel-greek</a> and <a class="reference external" href="textalpha.sty.html">textalpha</a>.</p> </div> <dl> -<dt><strong>History</strong>:</dt> +<dt><strong>Changelog</strong>:</dt> <dd><table class="borderless"> -<colgroup> -<col style="width: 8%" /> -<col style="width: 14%" /> -<col style="width: 78%" /> -</colgroup> <tbody> <tr><td><p>2.0</p></td> <td><p>2020-10-18</p></td> -<td><p>initial version</p></td> +<td><p>Initial version.</p></td> +</tr> +<tr><td><p>2.2</p></td> +<td><p>2023-02-28</p></td> +<td><p>Add compatibility definitions for hyperref.</p></td> </tr> </tbody> </table> @@ -798,20 +872,12 @@ Distinguish MICRO SIGN from letter mu:</p> </section> <section id="greek-and-coptic"> <h3>Greek and Coptic</h3> -<pre class="literal-block">% NR Unicode Name % babel name, PU name -% 0370 GREEK CAPITAL LETTER HETA % Ͱ -% 0371 GREEK SMALL LETTER HETA % ͱ -% 0372 GREEK CAPITAL LETTER ARCHAIC SAMPI % Ͳ -% 0373 GREEK SMALL LETTER ARCHAIC SAMPI % ͳ -\DeclareTextCommand{\textdexiakeraia}{PU}{\83\164} % ʹ \anwtonos, \textnumeralsigngreek -\DeclareTextCommand{\textaristerikeraia}{PU}{\83\165} % ͵ \katwtonos, \textnumeralsignlowergreek -% 0376 GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA % Ͷ -% 0377 GREEK SMALL LETTER PAMPHYLIAN DIGAMMA % ͷ</pre> +<p>Without coptic and archaic letters (except the ones used in Greek numerals).</p> +<pre class="literal-block">% NR Unicode Name % PU name (alias in greek-fontenc.def) +\DeclareTextCommand{\textdexiakeraia}{PU}{\83\164} % ʹ \textnumeralsigngreek +\DeclareTextCommand{\textaristerikeraia}{PU}{\83\165} % ͵ \textnumeralsignlowergreek</pre> <p>037A GREEK YPOGEGRAMMENI (use textcompwordmarkypogegrammeni) % ͺ -037B GREEK SMALL REVERSED LUNATE SIGMA SYMBOL -037C GREEK SMALL DOTTED LUNATE SIGMA SYMBOL -037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL</p> -<p>Erotimatiko: use 003B SEMICOLON, not 037E GREEK QUESTION MARK; dont use the +Erotimatiko: use 003B SEMICOLON, not 037E GREEK QUESTION MARK; dont use the literal char, as it is active with textalpha’s “keep-semicolon” option:</p> <pre class="literal-block">\DeclareTextCommand{\texterotimatiko}{PU}{\80\073} @@ -853,12 +919,14 @@ literal char, as it is active with textalpha’s “keep-semicolon” option:</p \DeclareTextCommand{\textPsi}{PU}{\83\250} % Ψ "03A8 \DeclareTextCommand{\textOmega}{PU}{\83\251} % Ω "03A9 \DeclareTextCompositeCommand{\"}{PU}{\textIota}{\83\252} % Ϊ "03AA +\DeclareTextCommand{\textIotadieresis}{PU}{\83\252}% U+03AA \DeclareTextCompositeCommand{\"}{PU}{\textUpsilon}{\83\253} % Ϋ "03AB \DeclareTextCompositeCommand{\'}{PU}{\textalpha}{\83\254} % ά "03AC \DeclareTextCompositeCommand{\'}{PU}{\textepsilon}{\83\255} % έ "03AD \DeclareTextCompositeCommand{\'}{PU}{\texteta}{\83\256} % ή "03AE \DeclareTextCompositeCommand{\'}{PU}{\textiota}{\83\257} % ί "03AF \DeclareTextCompositeCommand{\accdialytikatonos}{PU}{\textupsilon}{\83\260} % ΰ "03B0 +\DeclareTextCompositeCommand{\"}{PU}{\textupsilonacute}{\83\260}% U+03B0 \DeclareTextCommand{\textalpha}{PU}{\83\261} % α "03B1 \DeclareTextCommand{\textbeta}{PU}{\83\262} % β "03B2 \DeclareTextCommand{\textgamma}{PU}{\83\263} % γ "03B3 @@ -876,7 +944,7 @@ literal char, as it is active with textalpha’s “keep-semicolon” option:</p \DeclareTextCommand{\textomicron}{PU}{\83\277} % ο "03BF \DeclareTextCommand{\textpi}{PU}{\83\300} % π "03C0 \DeclareTextCommand{\textrho}{PU}{\83\301} % ρ "03C1 -\DeclareTextCommand{\textfinalsigma}{PU}{\83\302} % ς "03C2 final sigma +\DeclareTextCommand{\textfinalsigma}{PU}{\83\302} % ς "03C2 \textvarsigma \DeclareTextCommand{\textsigma}{PU}{\83\303} % σ "03C3 \DeclareTextCommand{\texttau}{PU}{\83\304} % τ "03C4 \DeclareTextCommand{\textupsilon}{PU}{\83\305} % υ "03C5 @@ -884,11 +952,11 @@ literal char, as it is active with textalpha’s “keep-semicolon” option:</p \DeclareTextCommand{\textchi}{PU}{\83\307} % χ "03C7 \DeclareTextCommand{\textpsi}{PU}{\83\310} % ψ "03C8 \DeclareTextCommand{\textomega}{PU}{\83\311} % ω "03C9 - \DeclareTextCompositeCommand{\"}{PU}{\textiota}{\83\312}% ϊ "03CA \DeclareTextCompositeCommand{\"}{PU}{\textupsilon}{\83\313}% ϋ "03CB \DeclareTextCompositeCommand{\'}{PU}{\textomicron}{\83\314}% ό "03CC \DeclareTextCompositeCommand{\'}{PU}{\textupsilon}{\83\315}% ύ "03CD +\DeclareTextCommand{\textupsilonacute}{PU}{\83\315}% U+03CD \DeclareTextCompositeCommand{\'}{PU}{\textomega}{\83\316}% ώ "03CE</pre> <p>Archaic letters (still used in Greek numerals) and symbol variants:</p> @@ -900,23 +968,24 @@ and symbol variants:</p> \DeclareTextCommand{\textQoppa}{PU}{\83\330} % Ϙ "03D8 \DeclareTextCommand{\textqoppa}{PU}{\83\331} % ϙ "03D9 -\DeclareTextCommand{\textStigma}{PU}{\83\332} % Ϛ "03DA -\DeclareTextCommand{\textstigma}{PU}{\83\333} % ϛ "03DB -\DeclareTextCommand{\textDigamma}{PU}{\83\334} % Ϝ "03DC -\DeclareTextCommand{\textdigamma}{PU}{\83\335} % ϝ "03DD -\DeclareTextCommand{\textKoppa}{PU}{\83\336} % Ϟ "03DE in LGR identic to \textkoppa -\DeclareTextCommand{\textkoppa}{PU}{\83\337} % ϟ "03DF \koppa, \textqoppa [sic!] -\DeclareTextCommand{\textSampi}{PU}{\83\340} % Ϡ "03E0 -\DeclareTextCommand{\textsampi}{PU}{\83\341} % ϡ "03E1 +\DeclareTextCommand{\textStigma}{PU}{\83\332} % Ϛ "03DA \textStigmagreek +\DeclareTextCommand{\textstigma}{PU}{\83\333} % ϛ "03DB \textstigmagreek +\DeclareTextCommand{\textDigamma}{PU}{\83\334} % Ϝ "03DC \textDigammagreek +\DeclareTextCommand{\textdigamma}{PU}{\83\335} % ϝ "03DD \textdigammagreek +\DeclareTextCommand{\textKoppa}{PU}{\83\336} % Ϟ "03DE \textKoppagreek in LGR identic to \textkoppa +\DeclareTextCommand{\textkoppa}{PU}{\83\337} % ϟ "03DF \textkoppagreek +\DeclareTextCommand{\textSampi}{PU}{\83\340} % Ϡ "03E0 \textSampigreek +\DeclareTextCommand{\textsampi}{PU}{\83\341} % ϡ "03E1 \textsampigreek \DeclareTextCommand{\textkappasymbol}{PU}{\83\360} % ϰ "03F0 \DeclareTextCommand{\textrhosymbol}{PU}{\83\361} % ϱ "03F1 \DeclareTextCommand{\textThetasymbol}{PU}{\83\364} % ϴ "03F4 -\DeclareTextCommand{\textepsilonsymbol}{PU}{\83\365} % ϵ "03F5</pre> -<p>Dummy definition (textautosigma is lowercase of textSigma) -TODO: implement autosigma for PU and TU:</p> -<pre class="literal-block">\ProvideTextCommand{\textautosigma}{PU}{\textsigma}</pre> +\DeclareTextCommand{\textepsilonsymbol}{PU}{\83\365} % ϵ "03F5 +\DeclareTextCommand{\textbackepsilon}{PU}{\83\366} % ϶ "03F6 # not in LGR</pre> +<p><span class="docutils literal">\textautosigma</span> is lowercase of textSigma +(since 2022/06, <span class="docutils literal">\MakeLowercase</span> use a context-sensitive sigma)</p> +<pre class="literal-block">\ProvideTextCommand{\textautosigma}{PU}{\MakeLowercase{\textSigma}}</pre> </section> <section id="greek-extended"> <h3>Greek Extended</h3> @@ -1134,7 +1203,7 @@ block.</p> <section id="ancient-greek-numbers"> <h3>Ancient Greek Numbers</h3> <p>TODO: map other chars to corresponding Greek letters. -See also the <a class="reference external" href="http://ctan.org/pkg/grnumalt">grnumalt</a> package.</p> +See also the <a class="reference external" href="https://ctan.org/pkg/grnumalt">grnumalt</a> package.</p> <p>Definition with literal Unicode characters, because the code-point has 5 hexadecimal digits:</p> <pre class="literal-block">\DeclareTextCommand{\textpentedeka}{PU}{𐅄} % "10144 GREEK ACROPHONIC ATTIC FIFTY diff --git a/language/greek/greek-fontenc/test-diacritics.pdf b/language/greek/greek-fontenc/test-diacritics.pdf Binary files differnew file mode 100644 index 0000000000..bb990fdcc9 --- /dev/null +++ b/language/greek/greek-fontenc/test-diacritics.pdf diff --git a/language/greek/greek-fontenc/test-diacritics.tex b/language/greek/greek-fontenc/test-diacritics.tex new file mode 100644 index 0000000000..a098793082 --- /dev/null +++ b/language/greek/greek-fontenc/test-diacritics.tex @@ -0,0 +1,345 @@ +% Test definitions for accents and composite accents in Greek +% \RequirePackage{latexbug} +\documentclass[a4paper]{article} +\usepackage{lmodern} + +% Load encoding definitions +% \usepackage[LGR,T1]{fontenc} +\usepackage{textalpha} % "Greek script everywhere" + +% With TL22, the special handling of Greek UPPERCASE is only triggered +% if the text language is set to "greek" with Babel: +% +\usepackage[greek,english]{babel} % babel-greek +% \usepackage[greek,english,provide=*]{babel} % Babel's Greek "ini" +% +% However, currently, with TL22 and Babel, we get +% ... +% (That makes 100 errors; please try again.) +% ... +% ==> Fatal error occurred, no output PDF file produced! + +\IfFormatAtLeastTF{2022/06/01} + {\newcommand*{\uppercaseversion}{new (post-2022/06/01)}} + {\newcommand*{\uppercaseversion}{old (pre-2022/06/01)}} + +\begin{document} + +\section*{Test Greek diacritics with 8-bit TeX} + +This document tests support for the Greek non-standard LGR fonts with the +contributed packages \emph{greek-fontenc} and \emph{greek-inputenc}. +It is compiled with the +\textbf{\uppercaseversion{}} \verb|\MakeUppercase| version. + + +The LGR font encoding definition file \texttt{lgrenc.def} defines LICR macros +for all non-ASCII characters in the LGR font encoding and loads definitions +shared with the TU font encoding from \texttt{greek-fontenc.def}. + +In addition to the LICR, Greek letters can also be input via a Latin +transliteration. + +Greek accent macros have names starting with \verb|\acc| followed by the +Greek accent name as used in the Unicode standard (e.g. \verb|\acctonos|). +The standard symbol accents \verb|\' \` \~ \"| behave according to Greek +typography if used in the LGR font encoding. + +Apart from the diacritical marks native to Greek itself, linguists also +regularly mark vowel length with macrons (¯) and breves (˘). +Both keep the ``Latin'' behaviour also with capital Greek letters. + +The \emph{textalpha} or \emph{alphabeta} packages define the symbol macros +\verb|\<| and \verb|\>| as alias for the breathings (Dasia and Psili). + +Diacritics can be specified as named macro, short macro, or combined accent +macros, e.\,g. +\verb| \accpsiliperispomeni{w} \accpsili\accperispomeni w| and +\verb|\>\~w \~>{w} \~\>w \>~w| all become +% +\newcommand*{\accsample}{\accpsiliperispomeni{w} \accpsili\accperispomeni w + \>\~w \~>{w} \~\>w \>~w} +\ensuregreek{\accsample}. + +The pre-June 22 version of \verb+\MakeUppercase+ works correctly, with one +exception: There is a spurious space in upcased combined accents with a +literal tilde like \verb|\>~|. This can be fixed by using a tilde accent +(\verb|\>\~| or \verb|\~>|) or loading Babel with the "greek" language option +(even in text parts only changing the font encoding without selecting the +Greek language). +\begin{quote} + \ensuregreek{\accsample\ $\mapsto$ \MakeUppercase{\accsample}} +\end{quote} + +Test the upcasing of the different input methods: + +\subsection*{Accent macro + Latin transliteration} + +\begin{quotation} + single accent (named, [alias], short) + + \ensuregreek{\acctonos w \accoxia w \'w + \MakeUppercase{\acctonos w \accoxia w \'w}} + + \ensuregreek{\accvaria w \`w \MakeUppercase{\accvaria w \`w}} + + \ensuregreek{\accperispomeni w \~w \MakeUppercase{\accperispomeni w \~w}} + + \ensuregreek{\accdasia w \<w \MakeUppercase{\accdasia w \<w}} + + \ensuregreek{\accpsili w \>w \MakeUppercase{\accpsili w \>w}} + + \ensuregreek{\accdialytika u \"u \MakeUppercase{\accdialytika u \"u}} + + \ensuregreek{w\ypogegrammeni{} w| \MakeUppercase{w\ypogegrammeni{} w|}} + + combined accents (name, name+name, short+short, short+char) + + \ensuregreek{\accdasiaperispomeni w \accdasia\accperispomeni w \<\~w \~<w + \MakeUppercase{\accdasiaperispomeni w \accdasia\accperispomeni w \<\~w \~<w}} + + \ensuregreek{\accdasiavaria w \accdasia\accvaria w \<\`w \<`w + \MakeUppercase{\accdasiavaria w \accdasia\accvaria w \<\`w \<`w}} + + \ensuregreek{\accdasiaoxia w \accdasia\accoxia w \<\'w \<'w + \MakeUppercase{\accdasiaoxia w \accdasia\accoxia w \<\'w \<'w}} + + \ensuregreek{\accpsiliperispomeni w \accpsili\accperispomeni w \>\~w \~>w + \MakeUppercase{\accpsiliperispomeni w \accpsili\accperispomeni w \>\~w \~>w}} + + \ensuregreek{\accpsilioxia w \accpsili\accoxia w \>\'w \>'w + \MakeUppercase{\accpsilioxia w \accpsili\accoxia w \>\'w \>'w}} + + \ensuregreek{\accpsilivaria w \accpsili\accvaria w \>\`w \>`w + \MakeUppercase{\accpsilivaria w \accpsili\accvaria w \>\`w \>`w}} + + \ensuregreek{\accdialytikaperispomeni u \accdialytika\accperispomeni u \"\~u \~"u + \MakeUppercase{\accdialytikaperispomeni u \accdialytika\accperispomeni u \"\~u \~"u}} + + \ensuregreek{\accdialytikatonos u \accdialytika\acctonos u \"\'u \"'u + \MakeUppercase{\accdialytikatonos u \accdialytika\acctonos u \"\'u \"'u}} + + \ensuregreek{\accdialytikavaria u \accdialytika\accvaria u \"\`u \"`u + \MakeUppercase{\accdialytikavaria u \accdialytika\accvaria u \"\`u \"`u}} + + \ensuregreek{\accpsilivaria w\ypogegrammeni{} \accpsili\accvaria w| \>\`w| \>`w| + \MakeUppercase{\accpsilivaria w\ypogegrammeni{} \accpsili\accvaria w| \>\`w| \>`w|}} + +\end{quotation} + +With TeXLive 2020 (Debian/stable), all accents except dialytika and +ypogegrammeni/prosgegrammeni are dropped in ALL CAPS. + +With current (2023/01/28) TeXLive, upcasing short accent macros does no +longer work as expected: accents are not dropped. + +The mute iota is kept (as expected). + +\subsection*{Accent macro + Latin transliteration} + +\begin{quotation} + single accent (named, [alias], short) + + \ensuregreek{\acctonos \textomega{} \accoxia \textomega{} \'\textomega{} + \MakeUppercase{\acctonos \textomega{} \accoxia \textomega{} \'\textomega{}}} + + \ensuregreek{\accvaria \textomega{} \`\textomega{} \MakeUppercase{\accvaria \textomega{} \`\textomega{}}} + + \ensuregreek{\accperispomeni \textomega{} \~\textomega{} \MakeUppercase{\accperispomeni \textomega{} \~\textomega{}}} + + \ensuregreek{\accdasia \textomega{} \<\textomega{} \MakeUppercase{\accdasia \textomega{} \<\textomega{}}} + + \ensuregreek{\accpsili \textomega{} \>\textomega{} \MakeUppercase{\accpsili \textomega{} \>\textomega{}}} + + \ensuregreek{\accdialytika \textupsilon{} \"\textupsilon{} \MakeUppercase{\accdialytika \textupsilon{} \"\textupsilon{}}} + + \ensuregreek{\textomega\ypogegrammeni{} \textomega| \MakeUppercase{\textomega\ypogegrammeni{} \textomega|}} + + combined accents (name, name+name, short+short, short+char) + + \ensuregreek{\accdasiaperispomeni \textomega{} \accdasia\accperispomeni \textomega{} \<\~\textomega{} \~<\textomega{} + \MakeUppercase{\accdasiaperispomeni \textomega{} \accdasia\accperispomeni \textomega{} \<\~\textomega{} \~<\textomega{}}} + + \ensuregreek{\accdasiavaria \textomega{} \accdasia\accvaria \textomega{} \<\`\textomega{} \<`\textomega{} + \MakeUppercase{\accdasiavaria \textomega{} \accdasia\accvaria \textomega{} \<\`\textomega{} \<`\textomega{}}} + + \ensuregreek{\accdasiaoxia \textomega{} \accdasia\accoxia \textomega{} \<\'\textomega{} \<'\textomega{} + \MakeUppercase{\accdasiaoxia \textomega{} \accdasia\accoxia \textomega{} \<\'\textomega{} \<'\textomega{}}} + + \ensuregreek{\accpsiliperispomeni \textomega{} \accpsili\accperispomeni \textomega{} \>\~\textomega{} \~>\textomega{} + \MakeUppercase{\accpsiliperispomeni \textomega{} \accpsili\accperispomeni \textomega{} \>\~\textomega{} \~>\textomega{}}} + + \ensuregreek{\accpsilioxia \textomega{} \accpsili\accoxia \textomega{} \>\'\textomega{} \>'\textomega{} + \MakeUppercase{\accpsilioxia \textomega{} \accpsili\accoxia \textomega{} \>\'\textomega{} \>'\textomega{}}} + + \ensuregreek{\accpsilivaria \textomega{} \accpsili\accvaria \textomega{} \>\`\textomega{} \>`\textomega{} + \MakeUppercase{\accpsilivaria \textomega{} \accpsili\accvaria \textomega{} \>\`\textomega{} \>`\textomega{}}} + + \ensuregreek{\accdialytikaperispomeni \textupsilon{} \accdialytika\accperispomeni \textupsilon{} \"\~\textupsilon{} \~"\textupsilon{} + \MakeUppercase{\accdialytikaperispomeni \textupsilon{} \accdialytika\accperispomeni \textupsilon{} \"\~\textupsilon{} \~"\textupsilon{}}} + + \ensuregreek{\accdialytikatonos \textupsilon{} \accdialytika\acctonos \textupsilon{} \"\'\textupsilon{} \"'\textupsilon{} + \MakeUppercase{\accdialytikatonos \textupsilon{} \accdialytika\acctonos \textupsilon{} \"\'\textupsilon{} \"'\textupsilon{}}} + + \ensuregreek{\accdialytikavaria \textupsilon{} \accdialytika\accvaria \textupsilon{} \"\`\textupsilon{} \"`\textupsilon{} + \MakeUppercase{\accdialytikavaria \textupsilon{} \accdialytika\accvaria \textupsilon{} \"\`\textupsilon{} \"`\textupsilon{}}} + + \ensuregreek{\accpsilivaria \textomega\ypogegrammeni{} \accpsili\accvaria \textomega| \>\`\textomega| \>`\textomega| + \MakeUppercase{\accpsilivaria \textomega\ypogegrammeni{} \accpsili\accvaria \textomega| \>\`\textomega| \>`\textomega|}} + +\end{quotation} + +With TeXLive 2020 (Debian/stable), all Greek accents except dialytika and +prosgegrammeni are dropped in ALL CAPS. (The standard accents macron and +breve are kept as well.) + +With current (2023/01/28) TeXLive, upcasing the \verb|\~| accent macro and +combining accents with dialytika (\verb|\~" \"' \"`|) does no longer work as +expected: accents are not dropped (only the dialytika, macron and breve must +be kept). + +Upcasing keeps the mute iota (as expected). + +\subsection*{Accent macro + literal Greek character} +Accent + literal Greek (utf-8) character is not supported in 8-bit TeX. + + +\subsection*{The hiatus feature} + +Tonos and dasia mark a \emph{hiatus} (break-up of a diphthong) if +placed on the first vowel of a diphthong. +A dialytika must be placed on the second vowel if they are dropped: + +\newcommand{\Hiatus}{\acctonos\textalpha\textiota, + \acctonos\textalpha\textupsilon, + \acctonos\textepsilon\textiota, + \accdasiaoxia\textalpha\textiota, + \accdasiaoxia\textalpha\textupsilon, + \accdasiaoxia\textepsilon\textiota}% +Named + LICR: +\ensuregreek{\Hiatus\ $\mapsto$ \MakeUppercase{\Hiatus}}. + +\renewcommand{\Hiatus}{\'\textalpha\textiota, + \'\textalpha\textupsilon, + \'\textepsilon\textiota, + \'>\textalpha\textiota, + \'>\textalpha\textupsilon, + \'>\textepsilon\textiota}% +Short + LICR: +\ensuregreek{\Hiatus\ $\mapsto$ \MakeUppercase{\Hiatus}}. + +\renewcommand{\Hiatus}{\acctonos ai, + \acctonos au, + \acctonos ei, + \accdasiaoxia ai, + \accdasiaoxia au, + \accdasiaoxia ei}% +Named + transliteration: +\ensuregreek{\Hiatus\ $\mapsto$ \MakeUppercase{\Hiatus}}. + +\renewcommand{\Hiatus}{\'ai, + \'au, + \'ei, + \'>ai, + \'>au, + \'>ei}% +Short + transliteration: +\ensuregreek{\Hiatus\ $\mapsto$ \MakeUppercase{\Hiatus}}. + +In current TeXLive, the \emph{hiatus} feature keeps working with named +accend macros but fails with short accent macros. + + +\subsection*{Pre-composed literal Greek character} + +The Greek and Coptic Unicode Block + +\newcommand{\GreekAndCoptic}{% + ͺ ; ΄ ΅ Ά · Έ Ή Ί Ό Ύ Ώ \\ + ΐ Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο \\ + Π Ρ Σ Τ Υ Φ Χ Ψ Ω Ϊ Ϋ ά έ ή ί \\ + ΰ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο \\ + π ρ ς σ τ υ φ χ ψ ω ϊ ϋ ό ύ ώ \\ +} +\begin{quote} + \ifdefined\extrasgreek + \selectlanguage{greek} + \fi + \greekscript + \GreekAndCoptic +\end{quote} +% +MakeUppercase: +\begin{quote} + \ifdefined\extrasgreek + \selectlanguage{greek} + \fi + \greekscript + \MakeUppercase{\GreekAndCoptic} +\end{quote} +% +% MakeLowercase: +% \begin{quote} +% \greekscript +% \MakeLowercase{\GreekAndCoptic} +% \end{quote} + +Greek extended Unicode block + +\newcommand{\GreekExtended}{\raggedright + ἀ ἁ ἂ ἃ ἄ ἅ ἆ ἇ Ἀ Ἁ Ἂ Ἃ Ἄ Ἅ Ἆ Ἇ \\ + ἐ ἑ ἒ ἓ ἔ ἕ \ \ \ \ Ἐ Ἑ Ἒ Ἓ Ἔ Ἕ \\ + ἠ ἡ ἢ ἣ ἤ ἥ ἦ ἧ Ἠ Ἡ Ἢ Ἣ Ἤ Ἥ Ἦ Ἧ \\ + ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ \\ + ὀ ὁ ὂ ὃ ὄ ὅ \ \ \ \ Ὀ Ὁ Ὂ Ὃ Ὄ Ὅ \\ + ὐ ὑ ὒ ὓ ὔ ὕ ὖ ὗ \ \ Ὑ \ \ Ὓ \ \ Ὕ \ \ Ὗ \\ + ὠ ὡ ὢ ὣ ὤ ὥ ὦ ὧ Ὠ Ὡ Ὢ Ὣ Ὤ Ὥ Ὦ Ὧ \\ + ὰ ά ὲ έ ὴ ή ὶ ί ὸ ό ὺ ύ ὼ ώ \\ + ᾀ ᾁ ᾂ ᾃ ᾄ ᾅ ᾆ ᾇ ᾈ ᾉ ᾊ ᾋ ᾌ ᾍ ᾎ ᾏ \\ + ᾐ ᾑ ᾒ ᾓ ᾔ ᾕ ᾖ ᾗ ᾘ ᾙ ᾚ ᾛ ᾜ ᾝ ᾞ ᾟ \\ + ᾠ ᾡ ᾢ ᾣ ᾤ ᾦ ᾧ ᾥ ᾨ ᾩ ᾪ ᾫ ᾬ ᾭ ᾮ ᾯ \\ + ᾰ ᾱ ᾲ ᾳ ᾴ \ \ ᾶ ᾷ Ᾰ Ᾱ Ὰ Ά ᾼ ᾽ ι ᾿ \\ + ῀ ῁ ῂ ῃ ῄ \ \ ῆ ῇ Ὲ Έ Ὴ Ή ῌ ῍ ῏ \\ + ῐ ῑ ῒ ΐ \ \ \ \ ῖ ῗ Ῐ Ῑ Ὶ Ί \ \ ῝ ῟ \\ + ῠ ῡ ῢ ΰ \ \ \ \ ῤ ῥ ῦ ῧ Ὺ Ύ Ῥ ῭ ` \\ + \ \ \ \ ῲ ῳ ῴ \ \ ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ´ \\ +} + +\begin{quote} + \ifdefined\extrasgreek + \selectlanguage{greek} + \fi + \greekscript + \GreekExtended +\end{quote} +% +MakeUppercase: +\begin{quote} + \ifdefined\extrasgreek + \selectlanguage{greek} + \fi + \greekscript + \MakeUppercase{\GreekExtended} +\end{quote} + +% MakeLowercase: +% \begin{quote} +% % \selectlanguage{greek} +% \greekscript +% \MakeLowercase{\GreekExtended} +% \end{quote} + +With TeXLive 2020 (Debian/stable), all Greek accents except dialytika and +prosgegrammeni are dropped in UPPERCASE and kept in lowercase. No errors. + +With current (2023/01/28) TeXLive: + +Upcasing leads to ``Unicode errors'' (``combining characters not set not set +up for use with LaTeX'') although no combining characters are used in the +source. + +Accents are not dropped (with some exceptions). + +The sub-iota became a capital iota (solved by an update to MakeUppercase). + +\end{document} diff --git a/language/greek/greek-fontenc/test-inputenc.pdf b/language/greek/greek-fontenc/test-inputenc.pdf Binary files differdeleted file mode 100644 index 2c5e2d6fbc..0000000000 --- a/language/greek/greek-fontenc/test-inputenc.pdf +++ /dev/null diff --git a/language/greek/greek-fontenc/test-lgrenc.pdf b/language/greek/greek-fontenc/test-lgrenc.pdf Binary files differindex 5346faefa8..6adb474ee8 100644 --- a/language/greek/greek-fontenc/test-lgrenc.pdf +++ b/language/greek/greek-fontenc/test-lgrenc.pdf diff --git a/language/greek/greek-fontenc/test-lgrenc.tex b/language/greek/greek-fontenc/test-lgrenc.tex index d6c52cc48b..4ba10eeb92 100644 --- a/language/greek/greek-fontenc/test-lgrenc.tex +++ b/language/greek/greek-fontenc/test-lgrenc.tex @@ -16,7 +16,8 @@ % \renewcommand{\ttdefault}{txtt} \usepackage{parskip} -\usepackage{textcomp} + +\usepackage{amssymb} \usepackage[LGR,T1]{fontenc} @@ -58,9 +59,18 @@ \newcommand{\LGR}{\fontencoding{LGR}\selectfont} \newcommand{\Latin}{\fontencoding{\encodingdefault}\selectfont} +% Auxiliary macros: + +\newcommand*{\missing}{\ensuremath{\oslash}} +% varkappa, only defined with amssymb and similar +\providecommand*{\varkappa}{\missing} +% varbeta and varTheta only defined with unicode-math +\providecommand*{\varbeta}{\missing} + \newcommand{\cs}[1]{\texttt{\textbackslash#1}} \newcommand{\cssample}[1]{\LGR\csname#1\endcsname{} \Latin \cs{#1}} + \begin{document} \title{Test LGR font encoding definitions} @@ -116,6 +126,7 @@ LGR: \LGR + - = -- --- [ () ] \Latin \begin{quote} + \raggedright \cssample{textless} \\ \cssample{textgreater} \\ \cssample{textbraceleft} \\ @@ -187,25 +198,21 @@ AY fi \LGR AU "i $\mapsto$ Some ASCII symbols are replaced by different symbols in LGR encoding other symbols are composed from Latin letters and show Greek letters in LGR. -\emph{babel-greek} redefines some with \verb|\latintext|, however this -cannot be done in a font encoding definition file. +\emph{babel-greek} redefines some affected macros to use a standard font +encoding, however this cannot be done in a font encoding definition file. -Beware that \texttt{"\#\&';<>?@} becomes -\LGR \texttt{"\#\&';<>?@}. +Beware that \texttt{" \# \& ' ; < > ? @} becomes +\LGR " \# \& ' ; < > ? @ \Latin -The \emph{textcomp} package provides pre-composed coyright \textcopyright{}, +The \emph{textcomp} package\footnote{loaded by default in not too old LaTeX} +provides pre-composed coyright \textcopyright{}, registered \textregistered{} and trademark \texttrademark{} symbols that work in all font encodings. -In LGR (% -\ifdefined \textcompsubstdefault - with -\else - without -\fi -textcomp), they come out as: \cssample{textcopyright}, +In LGR they come out as: \cssample{textcopyright}, \cssample{textregistered}, \cssample{texttrademark}. + \emph{textcomp} also provides the upright MICRO SIGN and OHM SIGN for SI units: R = 5\,\textmu\textohm @@ -219,7 +226,7 @@ In LGR, \cs{textmicro} and \cs{textohm} are aliases to \cs{textmu} and \subsection{Greek alphabet} -Greek letters via Latin transcription and LICR macros: +Greek letters via Latin transliteration and LICR macros: \begin{quote} \LGR @@ -247,33 +254,31 @@ The small sigma is set with a different glyph if it ends a word: \cssample{textfinalsigma} \end{quote} -In the Latin transcription, the letter `s' stands for \verb|\textautosigma| +In the Latin transliteration, the letter `s' stands for \verb|\textautosigma| which automatically chooses the glyph according to the position. \subsection{additional Greek symbols} \begin{quote} + \raggedright \cssample{textkoppa} (numeral koppa = 90) \\ % ϟ \cssample{textKoppa} (numeral Koppa = 90)% % Ϟ - \footnote{Modern typographical practice normally does not observe a - contrast between uppercase and lowercase forms for numeric koppa. - % https://en.wikipedia.org/wiki/Koppa_(letter) - In LGR, there is no separate code point for Koppa.} \\ - \cssample{textqoppa} (archaic koppa) \\ % ϙ - \cssample{textQoppa} (archaic Koppa) \\ % Ϙ - \cssample{textstigma} \\ % ϛ + \footnote{In LGR, there is no separate code point for uppercase koppa.} \\ + \cssample{textqoppa} (archaic koppa) \\ % ϙ + \cssample{textQoppa} (archaic Koppa) \\ % Ϙ + \cssample{textstigma} \\ % ϛ \cssample{textvarstigma} \\ % no separate Unicode character \cssample{textStigma} (Sigma-Tau-Ligature in CB-fonts)% \footnote{the name ``stigma'' originally applied to a medieval sigma-tau ligature, whose shape was confusingly similar to the cursive - digamma} \\ % Ϛ - \cssample{textsampi} \\ % ϡ - \cssample{textSampi} \\ % Ϡ - \cssample{textdigamma} \\ % ϝ (\digamma used by amsmath!) - \cssample{textDigamma} \\ % Ϝ + digamma} \\ % Ϛ + \cssample{textsampi} \\ % ϡ + \cssample{textSampi} \\ % Ϡ + \cssample{textdigamma} \\ % ϝ (\digamma used by amsmath!) + \cssample{textDigamma} \\ % Ϝ % numeral signs: http://en.wikipedia.org/wiki/Greek_numerals - \cssample{textdexiakeraia} (Dexia keraia)\\ % ʹ - \cssample{textaristerikeraia} (Aristeri keraia)\\ % ͵ + \cssample{textdexiakeraia} (dexia keraia) \\ % ʹ + \cssample{textaristerikeraia} (aristeri keraia)\\ % ͵ \end{quote} @@ -338,20 +343,22 @@ Aliases are defined in the included file Names matching mathematical variant symbols: \begin{quote} + \raggedright \cssample{textvarepsilon} = \cssample{textepsilon} \\ % ε - \cssample{textvarphi} = \cssample{textphi} \\ % φ + \cssample{textvarphi} = \cssample{textphi} \\ % φ \cssample{textvarsigma} = \cssample{textfinalsigma} \\ % ς \end{quote} Compatibility aliases for hyperref’s puenc.def: \begin{quote} + \raggedright \cssample{textmugreek} = \cssample{textmu} \\ - \cssample{textkoppagreek} = \cssample{textkoppa} \\ - \cssample{textKoppagreek} = \cssample{textKoppa} \\ - \cssample{textStigmagreek} = \cssample{textStigma} \\ - \cssample{textstigmagreek} = \cssample{textstigma} \\ - \cssample{textSampigreek} = \cssample{textSampi} \\ - \cssample{textsampigreek} = \cssample{textsampi} \\ - \cssample{textdigammagreek} = \cssample{textdigamma} \\ + \cssample{textkoppagreek} = \cssample{textkoppa} \\ + \cssample{textKoppagreek} = \cssample{textKoppa} \\ + \cssample{textStigmagreek} = \cssample{textStigma} \\ + \cssample{textstigmagreek} = \cssample{textstigma} \\ + \cssample{textSampigreek} = \cssample{textSampi} \\ + \cssample{textsampigreek} = \cssample{textsampi} \\ + \cssample{textdigammagreek} = \cssample{textdigamma} \\ \cssample{textDigammagreek} = \cssample{textDigamma} \\ \cssample{textnumeralsigngreek} = \cssample{textdexiakeraia} \\ \cssample{textnumeralsignlowergreek} = \cssample{textaristerikeraia} @@ -365,15 +372,16 @@ Two Unicode code points and names for one character: \subsection{symbol variants} Mathematical notation distinguishes variant shapes for pi ($\pi|\varpi$), -rho ($\rho|\varrho$), theta ($\theta|\vartheta$), beta, and kappa -(characters for the last two symbols are not included in TeX's standard math -fonts). These variations have no syntactic meaning in Greek text and are not -given code-points in the LGR encoding. Greek text fonts use the shape -variants interchangeabely. +rho ($\rho|\varrho$), theta ($\theta|\vartheta$), beta ($\beta|\varbeta$), +and kappa ($\kappa|\varkappa$) (characters for the last two variant symbols +are not included in TeX's standard math fonts). +These variations have no syntactic meaning in Greek text and are not given +code-points in the LGR encoding. Greek text fonts use the shape variants +interchangeably. \section{Diacritics} -Capital Greek letters have Greek diacritics (except the dialytika and +Capital Greek letters have diacritics (except dialytika, breve, macron, and sub-iota) to the left (instead of above) and drop them if text is set in UPPERCASE. This is implemented for all combinations that are used in Greek texts (i.e. for which pre-composed Unicode character exist), but not for, @@ -547,7 +555,7 @@ MakeUppercase, unless Babel is loaded and the current language is Greek \Latin Accent macros can start with \verb|\a| instead of \verb|\| when the short form is redefined, e.\,g. inside a \emph{tabbing} environment. -This also works for the locally defined Dasia and Psili shortcuts \verb|\<| +This also works for the locally defined dasia and psili shortcuts \verb|\<| and \verb|\>|: \begin{quote} \begin{tabbing} @@ -591,8 +599,11 @@ dialytika must be placed on the second vowel if they are dropped: \LGR m\'aina $\mapsto$ \MakeUppercase{m\'aina}, % from http://de.wikipedia.org/wiki/Neugriechische_Orthographie#Das_Trema % κέικ, ἀυπνία/αϋπνία - k\'eik, $\mapsto$ \MakeUppercase{k\'eik} - \>aupn\'ia $\mapsto$ \MakeUppercase{\>aupn\'ia} + k\'eik $\mapsto$ \MakeUppercase{k\'eik}, + \>aupn\'ia $\mapsto$ \MakeUppercase{\>aupn\'ia}, + % from http://multilingualtypesetting.co.uk/blog/greek-typesetting-tips/ + % ρωμέικα + rwm\'eika $\mapsto$ \MakeUppercase{rwm\'eika} \end{quote} \newpage @@ -606,27 +617,30 @@ Kerning (see the input): \newcommand\md{\textcompwordmark} \newcommand\MU{\MakeUppercase} - \md \MU{ AO AY AI AU RA OA UA DU} [ \\ -\<\md \MU{ \<AO \<AY \<AI \<AU \<RA \<OA U\<A D\<U} [ \\ -\>\md \MU{ \>AO \>AY \>AI \>AU \>RA \>OA U\>A D\>U} [ \\ -\>'\md\MU{ \>'AO \>'AY \>'AI \>'AU \>'RA \>'OA U\>'A D\>'U} [ \\ -\'\md \MU{ \'AO \'AY \'AI \'AU \'RA \'OA U\'A D\'U} [ \\ -\>`\md\MU{ \>`AO \>`AY \>`AI \>`AU \>`RA \>`OA U\>`A D\>`U} [ \\ -\<'\md\MU{ \<'AO \<'AY \<'AI \<'AU \<'RA \<'OA U\<'A D\<'U} [ \\ -\`\md \MU{ \`AO \`AY \`AI \`AU \`RA \`OA U\`A D\`U} [ \\ -\<`\md\MU{ \<`AO \<`AY \<`AI \<`AU \<`RA \<`OA U\<`A D\<`U} [ \\ -\~\md \MU{ \~AO \~AY \~AI \~AU \~RA \~OA U\~A D\~U} [ \\ -\~>\md\MU{ \~>AO \~>AY \~>AI \~>AU \~>RA \~>OA U\~>A D\~>U} [ \\ -\~<\md\MU{ \~<AO \~<AY \~<AI \~<AU \~<RA \~<OA U\~<A D\~<U} [ \\ -\~<\md\MU{ \~<ao \~<ay \~<ai \~<au \~<ra \~<oa u\~<a d\~<u} [ \\ -\"\md \MU{ AO AY A\"I A\"U RA OA \"UA DU} [ \\ -\"\md \MU{ \"AO \"AY \"AI \"AU \"RA \"OA U\"A D\"U} [ \\ -\"~\md\MU{ \~"AO \~"AY \~"AI \~"AU \~"RA \~"OA U\~"A D\~"U} [ \\ +\begin{quote} + \raggedright + \md \MU{ AO AY AI AU RA OA UA DU} [ \\ + \<\md \MU{ \<AO \<AY \<AI \<AU \<RA \<OA U\<A D\<U} [ \\ + \>\md \MU{ \>AO \>AY \>AI \>AU \>RA \>OA U\>A D\>U} [ \\ + \>'\md\MU{ \>'AO \>'AY \>'AI \>'AU \>'RA \>'OA U\>'A D\>'U} [ \\ + \'\md \MU{ \'AO \'AY \'AI \'AU \'RA \'OA U\'A D\'U} [ \\ + \>`\md\MU{ \>`AO \>`AY \>`AI \>`AU \>`RA \>`OA U\>`A D\>`U} [ \\ + \<'\md\MU{ \<'AO \<'AY \<'AI \<'AU \<'RA \<'OA U\<'A D\<'U} [ \\ + \`\md \MU{ \`AO \`AY \`AI \`AU \`RA \`OA U\`A D\`U} [ \\ + \<`\md\MU{ \<`AO \<`AY \<`AI \<`AU \<`RA \<`OA U\<`A D\<`U} [ \\ + \~\md \MU{ \~AO \~AY \~AI \~AU \~RA \~OA U\~A D\~U} [ \\ + \~>\md\MU{ \~>AO \~>AY \~>AI \~>AU \~>RA \~>OA U\~>A D\~>U} [ \\ + \~<\md\MU{ \~<AO \~<AY \~<AI \~<AU \~<RA \~<OA U\~<A D\~<U} [ \\ + \~<\md\MU{ \~<ao \~<ay \~<ai \~<au \~<ra \~<oa u\~<a d\~<u} [ \\ + \"\md \MU{ AO AY A\"I A\"U RA OA \"UA DU} [ \\ + \"\md \MU{ \"AO \"AY \"AI \"AU \"RA \"OA U\"A D\"U} [ \\ + \"~\md\MU{ \~"AO \~"AY \~"AI \~"AU \~"RA \~"OA U\~"A D\~"U} [ \\ +\end{quote} \Latin -Rows 3 \ldots 7: Look-ahead (to check for a hiatus) breaks kerning before A -with Tonos or Psili. +Rows 3 \ldots 7: Look-ahead (to check for a hiatus) breaks kerning before +`A' with tonos or psili. % \'AA \'AB \'AG \'AD \'AE \'AZ \'AH \'AJ \'AI \'AK \'AL \'AM \'AN \'AX % \'AO \'AP \'AR \'AS \'AC \'AT \'AU \'AF \'AQ \'AY \'AW @@ -643,6 +657,7 @@ Downcasing should keep diacritics (of course, it cannot regenerate % \Latin Comprehensive error message for missing symbol variants: % \LGR \textbeta\textbetasymbol % \texttheta\textthetasymbol -% \Latin +\Latin + \end{document} diff --git a/language/greek/greek-fontenc/test-licr-input.pdf b/language/greek/greek-fontenc/test-licr-input.pdf Binary files differnew file mode 100644 index 0000000000..c9ac81f00d --- /dev/null +++ b/language/greek/greek-fontenc/test-licr-input.pdf diff --git a/language/greek/greek-fontenc/test-inputenc.tex b/language/greek/greek-fontenc/test-licr-input.tex index 52e5248eb2..4782f5146a 100644 --- a/language/greek/greek-fontenc/test-inputenc.tex +++ b/language/greek/greek-fontenc/test-licr-input.tex @@ -1,5 +1,4 @@ \documentclass[a4paper]{article} -% \usepackage{textcomp} \usepackage[unicode,colorlinks=true,linkcolor=blue]{hyperref} % \usepackage{bookmark} % \usepackage{parskip} @@ -12,8 +11,8 @@ \usepackage[latin1]{luainputenc} % -> errors with LuaTeX: % ! Missing \endcsname inserted. -% <to be read again> -% \pm +% <to be read again> +% \pm % l.118 ...and{\~}{\UnicodeEncodingName}{α}{ᾶ} % ... @@ -56,7 +55,7 @@ % characters are required: \hypersetup{pdfauthor=\textTau\'<\textepsilon\textsigma\textthetasymbol} -\title{Test font setup for Greek with inputenc/luainputenc} +\title{Test Greek LaTeX internal character representations (LICR macros)} \author{G\"unter Milde} \date{2020/10/30} \maketitle @@ -98,8 +97,10 @@ glyph if it ends a word: \textsigma{} \verb|textsigma|\\ \textfinalsigma{} \verb|textfinalsigma| or \verb|textvarsigma| \end{quote} -The \verb|\textautosigma| macro, which automatically chooses the -glyph according to the position, is not implemented for Unicode fonts. +With Unicode fonts (Xe/LuaTeX, font encoding TU), the \verb|\textautosigma| +macro (which automatically chooses the glyph according to the position) +does not work with LaTeX versions older than 2022/06 (requires the new +\verb|\MakeLowercase| implementation). \subsection{Diacritics} @@ -120,8 +121,8 @@ Diacritics as spacing characters: with empty argument: \ensuregreek{ -\acctonos{} \accoxia{} \accvaria{} -\accpsili{} \accdasia{} +\acctonos{} \accoxia{} \accvaria{} +\accpsili{} \accdasia{} \accdialytika{} \accperispomeni{} \accdialytikatonos{} \accdialytikavaria{} \accdialytikaperispomeni{} \accdasiaoxia{} \accdasiavaria{} \accdasiaperispomeni{} @@ -130,8 +131,8 @@ with empty argument: with space as argument: \ensuregreek{ -\acctonos{ } \accoxia{ } \accvaria{ } -\accpsili{ } \accdasia{ } +\acctonos{ } \accoxia{ } \accvaria{ } +\accpsili{ } \accdasia{ } \accdialytika{ } \accperispomeni{ } \accdialytikatonos{ } \accdialytikavaria{ } \accdialytikaperispomeni{ } \accdasiaoxia{ } \accdasiavaria{ } \accdasiaperispomeni{ } @@ -140,8 +141,8 @@ with space as argument: with protected space: \ensuregreek{ -\acctonos{\ } \accoxia{\ } \accvaria{\ } -\accpsili{\ } \accdasia{\ } +\acctonos{\ } \accoxia{\ } \accvaria{\ } +\accpsili{\ } \accdasia{\ } \accdialytika{\ } \accperispomeni{\ } \accdialytikatonos{\ }\ \accdialytikavaria{\ }\ \accdialytikaperispomeni{\ }\ \accdasiaoxia{\ }\ \accdasiavaria{\ }\ \accdasiaperispomeni{\ }\ @@ -150,44 +151,65 @@ with protected space: with nobreakspace: \ensuregreek{ -\acctonos{\nobreakspace} \accoxia{\nobreakspace} \accvaria{\nobreakspace} -\accpsili{\nobreakspace} \accdasia{\nobreakspace} +\acctonos{\nobreakspace} \accoxia{\nobreakspace} \accvaria{\nobreakspace} +\accpsili{\nobreakspace} \accdasia{\nobreakspace} \accdialytika{\nobreakspace} \accperispomeni{\nobreakspace} -\accdialytikatonos{\nobreakspace}\ \accdialytikavaria{\nobreakspace}\ -\accdialytikaperispomeni{\nobreakspace}\ \accdasiaoxia{\nobreakspace}\ +\accdialytikatonos{\nobreakspace}\ \accdialytikavaria{\nobreakspace}\ +\accdialytikaperispomeni{\nobreakspace}\ \accdasiaoxia{\nobreakspace}\ \accdasiavaria{\nobreakspace}\ \accdasiaperispomeni{\nobreakspace}\ \accpsilioxia{\nobreakspace}\ \accpsilivaria{\nobreakspace}\ \accpsiliperispomeni{\nobreakspace} } -\subsubsection{sub-iota} +\subsubsection{mute iota} -The sub-iota is input after the base letter. +The mute iota is input after the base letter. \begin{itemize} -\item \verb|\prosgegrammeni| sets a spacing GREEK PROSGEGRAMMENI - (\prosgegrammeni): \textAlpha\prosgegrammeni{} K\prosgegrammeni{}. - -\item \verb|\ypogegrammeni| sets a COMBINING GREEK YPOGEGRAMMENI - (\ \ypogegrammeni{}): \textalpha\ypogegrammeni{} k\ypogegrammeni{}. - - A Greek capital letter followed by COMBINING GREEK YPOGEGRAMMENI is - normalized to the corresponding Greek capital letter WITH [... AND] - PROSGEGRAMMENI, if a mapping exists in the Unicode standard: - \textAlpha\ypogegrammeni{} but K\ypogegrammeni{}. -\end{itemize} - -\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni -\MakeLowercase{\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni} -\MakeUppercase{\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni} +\item \verb|\ypogegrammeni| following a Greek letter sets a sub-iota + (corresponding to COMBINING GREEK YPOGEGRAMMENI), + e.g. \ensuregreek{\textalpha\ypogegrammeni{}}. + + In Unicode, a GREEK CAPITAL LETTER ... followed by + COMBINING GREEK YPOGEGRAMMENI is normalized to + GREEK CAPITAL LETTER ... WITH [... AND] PROSGEGRAMMENI, + if a corresponding letter exists in the Unicode standard. + In LGR fonts, this is implemented via a ligature definition + (set the Babel language or wrap in \verb|\ensuregreek|): + \ensuregreek{\textAlpha\ypogegrammeni{}} but + \ensuregreek{\textLambda\ypogegrammeni{}}. + + The shape and position of the mute iota with pre-composed capital letters + depends on the selected font, both sub-iota and adscript iota are possible. + +\item \verb|\prosgegrammeni| sets an adscript iota (GREEK PROSGEGRAMMENI), + e.g. \textAlpha\prosgegrammeni{}. + In Unicode fonts the prosgegrammeni is spaced similar to the letter iota. + In the CB Greek fonts, the only visible difference to the pre-composed + characters is a slightly increased spacing. + + Copy/Paste may convert the adscript iota to a small letter iota! -\textLambda\ypogegrammeni \textLambda\prosgegrammeni -\MakeLowercase{\textLambda\ypogegrammeni \textLambda\prosgegrammeni} -\MakeUppercase{\textLambda\ypogegrammeni \textLambda\prosgegrammeni} +\end{itemize} +Ypogegrammeni and prosgegrammeni following matching/not-matching base character +(unchanged, lowercase, uppercase): +\begin{quote} + \greekscript + \textAlpha\ypogegrammeni \textAlpha\prosgegrammeni{} + \MakeLowercase{\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni} + \MakeUppercase{\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni} + + \textLambda\ypogegrammeni \textLambda\prosgegrammeni{} + \MakeLowercase{\textLambda\ypogegrammeni \textLambda\prosgegrammeni} + \MakeUppercase{\textLambda\ypogegrammeni \textLambda\prosgegrammeni} + + \textalpha\ypogegrammeni \textalpha\prosgegrammeni{} + \MakeLowercase{\textalpha\ypogegrammeni \textalpha\prosgegrammeni} + \MakeUppercase{\textalpha\ypogegrammeni \textalpha\prosgegrammeni} +\end{quote} -\textalpha\ypogegrammeni \textalpha\prosgegrammeni -\MakeLowercase{\textalpha\ypogegrammeni \textalpha\prosgegrammeni} -\MakeUppercase{\textalpha\ypogegrammeni \textalpha\prosgegrammeni} +Using \verb|\ypogegrammeni| for the mute iota with both, small and capital +letters usually gives better results. \subsection{Additional Greek symbols} @@ -260,7 +282,7 @@ The sub-iota is input after the base letter. \end{table} % \subsubsection{Ancient Greek Numbers} -% +% % Ancient Greek Numbers are missing in most fonts (including Libertine and % Deja Vu). The “FreeSerif” font works fine: % \begin{quote} @@ -287,9 +309,13 @@ The SI unit prefix MICRO SIGN is not upcased with MakeUppercase: textmicro: \textmicro{} $\mapsto$ \MakeUppercase{\textmicro}. \end{quote} -\section{LICR command input} +\section{Greek in section headings} -\subsection{\ensuregreek{0374 +The packages \emph{textalpha} and \emph{alphabeta} as well as +\emph{babel-greek}, add hyperref support for LICR input with +non-standard accents or combined diacritics. + +\subsection{0374 \ensuregreek{ \textnumeralsigngreek{} \textnumeralsignlowergreek{} \ \ypogegrammeni{} @@ -306,7 +332,7 @@ The SI unit prefix MICRO SIGN is not upcased with MakeUppercase: \'\textOmega \'"\textiota }} -\subsection{\ensuregreek{0391 +\subsection{0391 \ensuregreek{ \textAlpha \textBeta \textGamma @@ -332,7 +358,7 @@ The SI unit prefix MICRO SIGN is not upcased with MakeUppercase: \textPsi \textOmega }} -\subsection{\ensuregreek{03AA +\subsection{03AA \ensuregreek{ \"\textIota \"\textUpsilon \'\textalpha @@ -341,7 +367,7 @@ The SI unit prefix MICRO SIGN is not upcased with MakeUppercase: \'\textiota \"'\textupsilon }} -\subsection{\ensuregreek{03B1 +\subsection{03B1 \ensuregreek{ \textalpha \textbeta \textgamma @@ -368,7 +394,7 @@ The SI unit prefix MICRO SIGN is not upcased with MakeUppercase: \textpsi \textomega }} -\subsection{\ensuregreek{03CA +\subsection{03CA \ensuregreek{ \"\textiota \"\textupsilon \'\textomicron @@ -388,17 +414,14 @@ The SI unit prefix MICRO SIGN is not upcased with MakeUppercase: \textkoppa \textSampi \textsampi - \textkappasymbol - \textrhosymbol - \textThetasymbol + \textkappasymbol + \textrhosymbol + \textThetasymbol \textepsilonsymbol }} -Currently, there is no hyperref support for LICR input with non-standard -accents or combined diacritics characters. - -\subsection{\ensuregreek{1F00 +\subsection{1F00 \ensuregreek{ \accpsili\textalpha \accdasia\textalpha \accpsili`\textalpha @@ -416,7 +439,7 @@ accents or combined diacritics characters. \~>\textAlpha \~<\textAlpha }} -\subsection{\ensuregreek{1F10 +\subsection{1F10 \ensuregreek{ \accpsili\textepsilon \accdasia\textepsilon \accpsili`\textepsilon @@ -430,7 +453,7 @@ accents or combined diacritics characters. \accpsili'\textEpsilon \accdasia'\textEpsilon }} -\subsection{\ensuregreek{1F20 +\subsection{1F20 \ensuregreek{ \accpsili\texteta \accdasia\texteta \accpsili`\texteta @@ -448,7 +471,7 @@ accents or combined diacritics characters. \~>\textEta \~<\textEta }} -\subsection{\ensuregreek{1F30 +\subsection{1F30 \ensuregreek{ \accpsili\textiota \accdasia\textiota \accpsili`\textiota @@ -466,7 +489,7 @@ accents or combined diacritics characters. \~>\textIota \~<\textIota }} -\subsection{\ensuregreek{1F40 +\subsection{1F40 \ensuregreek{ \accpsili\textomicron \accdasia\textomicron \accpsili`\textomicron @@ -480,7 +503,7 @@ accents or combined diacritics characters. \accpsili'\textOmicron \accdasia'\textOmicron }} -\subsection{\ensuregreek{1F50 +\subsection{1F50 \ensuregreek{ \accpsili\textupsilon \accdasia\textupsilon \accpsili`\textupsilon @@ -494,7 +517,7 @@ accents or combined diacritics characters. \accdasia'\textUpsilon \~<\textUpsilon }} -\subsection{\ensuregreek{1F60 +\subsection{1F60 \ensuregreek{ \accpsili\textomega \accdasia\textomega \accpsili`\textomega @@ -512,7 +535,7 @@ accents or combined diacritics characters. \~>\textOmega \~<\textOmega }} -\subsection{\ensuregreek{1F70 +\subsection{1F70 \ensuregreek{ \accvaria\textalpha \accoxia\textalpha \accvaria\textepsilon @@ -528,7 +551,7 @@ accents or combined diacritics characters. \accvaria\textomega \accoxia\textomega }} -\subsection{\ensuregreek{1F80 +\subsection{1F80 \ensuregreek{ \accpsili\textalpha\ypogegrammeni \accdasia\textalpha\ypogegrammeni \accpsili`\textalpha\ypogegrammeni @@ -546,7 +569,7 @@ accents or combined diacritics characters. \~>\textAlpha\ypogegrammeni \~<\textAlpha\ypogegrammeni }} -\subsection{\ensuregreek{1F90 +\subsection{1F90 \ensuregreek{ \accpsili\texteta\ypogegrammeni \accdasia\texteta\ypogegrammeni \accpsili`\texteta\ypogegrammeni @@ -562,9 +585,9 @@ accents or combined diacritics characters. \accpsili'\textEta\ypogegrammeni \accdasia'\textEta\ypogegrammeni \~>\textEta\ypogegrammeni - \~<\textEta\ypogegrammeni + \~<\textEta\ypogegrammeni }} -\subsection{\ensuregreek{1FA0 +\subsection{1FA0 \ensuregreek{ \accpsili\textomega\ypogegrammeni \accdasia\textomega\ypogegrammeni \accpsili`\textomega\ypogegrammeni @@ -582,7 +605,7 @@ accents or combined diacritics characters. \~>\textOmega\ypogegrammeni \~<\textOmega\ypogegrammeni }} -\subsection{\ensuregreek{1FB0 +\subsection{1FB0 \ensuregreek{ \u\textalpha \=\textalpha \accvaria\textalpha\ypogegrammeni @@ -600,7 +623,7 @@ accents or combined diacritics characters. \accpsili{ } }} -\subsection{\ensuregreek{1FC0 +\subsection{1FC0 \ensuregreek{ \accperispomeni{ } \"\~{ } \accvaria\texteta\ypogegrammeni @@ -618,7 +641,7 @@ accents or combined diacritics characters. \~>{ } }} -\subsection{\ensuregreek{1FD0 +\subsection{1FD0 \ensuregreek{ \u\textiota \=\textiota \`"\textiota @@ -633,7 +656,7 @@ accents or combined diacritics characters. \accpsili'{ } \~<{ } }} -\subsection{\ensuregreek{1FE0 +\subsection{1FE0 \ensuregreek{ \u\textupsilon \=\textupsilon \`"\textupsilon @@ -651,7 +674,7 @@ accents or combined diacritics characters. \'"{ } \accvaria{ } }} -\subsection{\ensuregreek{1FF0 +\subsection{1FF0 \ensuregreek{ \accvaria\textomega\ypogegrammeni \textomega\ypogegrammeni \accoxia\textomega\ypogegrammeni diff --git a/language/greek/greek-fontenc/test-tuenc-greek.pdf b/language/greek/greek-fontenc/test-tuenc-greek.pdf Binary files differindex d9c51eb8b6..9c46cbdb44 100644 --- a/language/greek/greek-fontenc/test-tuenc-greek.pdf +++ b/language/greek/greek-fontenc/test-tuenc-greek.pdf diff --git a/language/greek/greek-fontenc/test-tuenc-greek.tex b/language/greek/greek-fontenc/test-tuenc-greek.tex index 9d34e76ddb..edb9443c32 100644 --- a/language/greek/greek-fontenc/test-tuenc-greek.tex +++ b/language/greek/greek-fontenc/test-tuenc-greek.tex @@ -1,5 +1,4 @@ \documentclass[a4paper]{article} -% \usepackage{textcomp} \usepackage[unicode,colorlinks=true,linkcolor=blue]{hyperref} % \usepackage{bookmark} % \usepackage{parskip} @@ -16,15 +15,27 @@ % \setmainfont{DejaVu Serif} % \setsansfont{DejaVu Sans} % \usepackage{libertineotf} -\setmainfont{Linux Libertine O} +% \setmainfont{Linux Libertine O} \setsansfont{Linux Biolinum O} % \setmainfont{cmunrm.otf} % CMU Serif % many missing characters :( -% \setmainfont{FreeSerif}% +\setmainfont{FreeSerif}% % \setmainfont{Droid Sans} % Declare the font encoding and Greek LICR definitions: \usepackage[normalize-symbols]{textalpha} +% For the new \MakeUppercase, we need to set the text language to Greek +% with Babel or polyglossia: +\usepackage[greek,english]{babel} + +% select the LGR font encoding and CB fonts +\providecommand*{\lgrfont}[1]{\leavevmode{% + \fontfamily{cmr}\fontencoding{LGR}\selectfont#1}% +} + +\newcommand{\pkgref}[1]{\emph{\href{https://ctan.org/pkg/#1}{#1}}} + + \begin{document} \title{Font setup for Greek with XeTeX/LuaTeX} @@ -36,10 +47,9 @@ support for Greek \hyperref[licr]{LICR} macros and upcasing of text with XeTeX and LuaTeX. It is loaded automatically by \href{textalpha-doc.pdf}{\emph{textalpha}}, -\href{alphabeta-doc.pdf}{\emph{alphabeta}}, and -\href{http://www.ctan.org/pkg/babel-greek}{\emph{babel-greek}} when used -with Unicode fonts (LuaTeX or XeTeX with -\href{http://www.ctan.org/pkg/fontspec}{\emph{fontspec}}). +\href{alphabeta-doc.pdf}{\emph{alphabeta}}, +and \pkgref{babel-greek} when used with Unicode fonts +(LuaTeX or XeTeX with \pkgref{fontspec}). \tableofcontents @@ -48,27 +58,28 @@ with Unicode fonts (LuaTeX or XeTeX with \subsection{\emph{fontspec} and suitable Unicode fonts} LaTeX sets up the TU Unicode text font encoding if it detects the XeTeX or -LuaTeX engiges. The user must ensure that the selected font contains Greek +LuaTeX engines. The user must ensure that the selected font contains Greek glyphs (the default Latin Modern fonts have only capital Greek letters). -\textbf{There are no errors for missing glyphs, just warnings in the log +\textbf{There are no errors for missing glyphs}, just warnings in the log file (but not in the console output) and empty spaces in the output -document.} - -The \href{http://www.ctan.org/pkg/fontspec}{\emph{fontspec}} package is the -standard tool to select fonts in Xe/LuaLaTeX. Examples for suitable fonts -are given in the -\href{http://mirrors.ctan.org/language/greek/greek-fontenc/greek-fontenc.html#TU} -{greek-fontenc documentation}. +document. +The \pkgref{fontspec} package is the standard tool to select fonts in +XeTeX/LuaTeX. \pkgref{babel} provides a front-end to set +up language-specific fonts with the \verb|\babelfont| command. \section{Usage} -\texttt{tuenc-greek.def} is usually not loaded directly, but by one of +\texttt{tuenc-greek.def} is loaded automatically by \href{textalpha-doc.pdf}{\emph{textalpha}}, -\href{alphabeta-doc.pdf}{\emph{alphabeta}}, or \emph{Babel} (with the -language option \href{http://www.ctan.org/pkg/babel-greek}{greek}). If these -packages are used with Unicode-aware TeX engines (XeTeX or LuaTeX), Unicode -font setup is amended for use of the Greek script. +\href{alphabeta-doc.pdf}{\emph{alphabeta}}, or \pkgref{Babel} (with the +language option \href{https://ctan.org/pkg/babel-greek}{greek}) if these +packages are used with Unicode-aware TeX engines (XeTeX or LuaTeX). This +provides support for Greek LICR input and fixes for MakeUppercase. +The \verb|\MakeUppercase| implementation introduced in the 2022/06 LaTeX +release works uses Greek upcasing rules only for text parts with the +\pkgref{babel} language \texttt{greek} and ignores the changes to +\texttt{uccode} values done in this package. \section{LICR input% @@ -105,7 +116,10 @@ glyph if it ends a word: \textfinalsigma{} \verb|textfinalsigma| or \verb|textvarsigma| \end{quote} The \verb|\textautosigma| macro, which automatically chooses the -glyph according to the position, is not implemented for Unicode fonts. +glyph according to the position, relies on \verb|\makelowercase| +and only works correctly with LaTeX versions newer than 2022/06: +\textautosigma{}\textiota{} vs. \textiota\textautosigma. + \subsection{Diacritics} @@ -119,9 +133,10 @@ Greek diacritics can be input by named macro or symbol macro: \accdasia\textalpha \<\textalpha{} \accdasia x\<x \end{quote} % -XeTeX normalizes base letter and combining diacritics to the -corresponding pre-composed character if such a mapping is defined in the -Unicode standard. +XeTeX and LuaTeX (since 2022) normalise base letter and combining diacritics +to the corresponding pre-composed character (if such character exists in the +\emph{Greek and Coptic} or \emph{Greek Extended} Unicode Blocks). + \begin{quote} % άάὰὰϊϊᾶᾶἀἀἁἁ @@ -133,16 +148,15 @@ Unicode standard. \accdasia α \<α \end{quote} - \subsubsection{perispomeni vs. tilde} -The Greek \emph{perispomeni} has the look of a tilde but the semantic -of a circumflex accent. -The ``named'' \verb|\accperispomeni| macro uses COMBINING GREEK PERISPOMENI, -while the standard tilde-accent macro \verb|\~| uses the COMBINING TILDE -which is not normalized to GREEK LETTER ... WITH PERISPOMENI -characters. +The Greek \emph{perispomeni} has the look of a tilde but the semantic of +a circumflex accent. The Unicode standard provides distinct code points. +Only <Greek letter> + COMBINING GREEK PERISPOMENI is considered equivalent +to the pre-composed character <Greek letter> WITH PERISPOMENI. +The ``named'' \verb|\accperispomeni| macro uses COMBINING GREEK PERISPOMENI, +while the standard tilde-accent macro \verb|\~| uses the COMBINING TILDE. Composite definitions for \verb|\~| select the pre-composed character: \begin{quote} @@ -176,7 +190,7 @@ Combined accents are defined using combining diacritical characters. \accpsiliperispomeni\textiota{} \~>\textiota{} \~\>\textiota{} \accpsiliperispomeni x \~>x \~\>x \end{quote} -Composite diacritics overlap when they are not normalized to a pre-composed +Composite diacritics overlap when they are not normalised to a pre-composed character. However, this is not a major problem in normal use as pre-composed characters exist in Unicode for all letters that are used with diacritics in (ancient, polytonic or monotonic) Greek. @@ -186,12 +200,12 @@ used with diacritics in (ancient, polytonic or monotonic) Greek. The sub-iota is input after the base letter. \begin{itemize} -\item +\item \verb|\ypogegrammeni| sets a COMBINING GREEK YPOGEGRAMMENI: \textalpha\ypogegrammeni{} k\ypogegrammeni{}. A Greek capital letter followed by COMBINING GREEK YPOGEGRAMMENI is - normalized to the corresponding Greek capital letter WITH [... AND] + normalised to the corresponding Greek capital letter WITH [... AND] PROSGEGRAMMENI, if a mapping exists in the Unicode standard (by XeTeX but not by LuaTeX) @@ -203,15 +217,18 @@ The sub-iota is input after the base letter. Compare Αι (small letter iota) vs. Αι (spacing prosgegrammeni) vs. ᾼ (pre-composed). - + \end{itemize} % Test letters with ypogegrammeni and prosgegrammeni (literal/LICR): \begin{quote} -\begin{tabbing} - + % TODO: infinite recursion with new \MakeUppercase + % \ifdefined\extrasgreek + % \selectlanguage{greek} + % \fi + \begin{tabbing} unchanged \quad\= make lowercase\quad\= make uppercase. \\ ᾳαι/\textalpha\ypogegrammeni \textalpha\prosgegrammeni{} \> @@ -226,7 +243,7 @@ Test letters with ypogegrammeni and prosgegrammeni (literal/LICR): \MakeLowercase{ΛͅΛι/\textLambda\ypogegrammeni \textLambda\prosgegrammeni} \> \MakeUppercase{ΛͅΛι/\textLambda\ypogegrammeni \textLambda\prosgegrammeni} -\end{tabbing} + \end{tabbing} \end{quote} \subsection{Additional Greek symbols} @@ -234,6 +251,7 @@ Test letters with ypogegrammeni and prosgegrammeni (literal/LICR): \subsubsection{symbols for Greek numbers} \begin{quote} +\raggedright \textkoppa{} textkoppa \\ % ϟ \textKoppa{} textKoppa \\ % Ϟ \textqoppa{} textqoppa (archaic koppa) \\ % ϙ @@ -243,14 +261,14 @@ Test letters with ypogegrammeni and prosgegrammeni (literal/LICR): \textStigma{} textStigma (Sigma-Tau-Ligature in CB-fonts)% \footnote{the name “stigma” originally applied to a medieval sigma-tau ligature, whose shape was confusingly similar to the cursive - digamma} \\ % Ϛ -\textsampi{} textsampi \\ % ϡ -\textSampi{} textSampi \\ % Ϡ -\textdigamma{} textdigamma \\ % ϝ (\digamma used by amsmath!) -\textDigamma{} textDigamma \\ % Ϝ + digamma} \\ % Ϛ +\textsampi{} textsampi \\ % ϡ +\textSampi{} textSampi \\ % Ϡ +\textdigamma{} textdigamma \\ % ϝ (\digamma used by amsmath!) +\textDigamma{} textDigamma \\ % Ϝ % numeral signs: http://en.wikipedia.org/wiki/Greek_numerals -\textdexiakeraia{} textdexiakeraia \\ % ʹ -\textaristerikeraia{} textaristerikeraia \\ % ͵ +\textdexiakeraia{} textdexiakeraia \\ % ʹ +\textaristerikeraia{} textaristerikeraia \\ % ͵ \end{quote} \subsubsection{symbol variants} @@ -360,13 +378,10 @@ Deja Vu). The “FreeSerif” font works fine: \end{quote} If the LGR font encoding is loaded via «fontenc» in the document preamble, Ancient Greek Numbers (as well as any other character) from LGR encoded -8-bit TeX fonts can be used after a font-encoding switch. babel-greek -defines the \verb|\textgreek| command for this purpose. -\providecommand*{\textgreek}[1]{\leavevmode{% - \fontfamily{cmr}\fontencoding{LGR}\selectfont#1}% -} +8-bit TeX fonts can be used after a font-encoding switch. (This document +defines the \verb|\lgrfont| command for this purpose in the preamble.) \begin{quote} -\textgreek{ +\lgrfont{ \textpentedeka % GREEK ACROPHONIC ATTIC FIFTY \textpentehekaton % GREEK ACROPHONIC ATTIC FIVE HUNDRED \textpenteqilioi % GREEK ACROPHONIC ATTIC FIVE THOUSAND @@ -394,39 +409,49 @@ The SI unit prefix MICRO SIGN is not upcased with MakeUppercase: \end{quote} -\section{Latin transcription} +\section{Latin transliteration} -The Latin transcription known from LGR encoded 8-bit fonts% -\footnote{ See the \href{http://www.ctan.org/pkg/teubner}{teubner} package -or the file usage.pdf from the -\href{http://www.ctan.org/pkg/babel-greek}{\emph{babel-greek}} package for a -description.} +The Latin transliteration known from LGR encoded 8-bit fonts% +\footnote{See the \pkgref{teubner} package or the file usage.pdf from + \pkgref{babel-greek} for a description.} does not work with Unicode fonts. +For LuaTeX, there is a \texttt{transliteration.omega} \emph{transform} that +applies the transliteration system devised by Yannis Haralambous for the +Omega system (cf. the Babel documentation for the +\href{https://latex3.github.io/babel/guides/locale-greek.html}{Greek locale}). + It is possible to set up LGR encoded fonts parallel to Unicode fonts (see the preamble of the source file \url{test-tuenc-greek.tex} for an example). -The \verb|\textgreek| macro can then be used for the input of Greek letters -via the \emph{Latin transcription}, e.g. «logos» becomes «\textgreek{logos}» -and «\verb|\>aupn\'ia|» becomes «\textgreek{\>aupn\'ia}». +After switching the font encoding to LGR, Greek letters can be input +via a \emph{Latin transliteration}, e.g. «logos» becomes «\lgrfont{logos}» +and «\verb|>aupn\'ia|» becomes «\lgrfont{>aupn\'ia}». Mark that you cannot use Unicode input with LGR encoded fonts except when running in 8-bit compatibility mode. -LICR macros work in both, Unicode font encoding and LGR: compare - \>\textIota\textalpha\textnu\textomicron\textupsilon\textalpha - \textrho\acctonos\textiota\textomicron\textupsilon{} -(Unicode font set up via fontspec) vs. -\textgreek{\>\textIota\textalpha\textnu\textomicron\textupsilon\textalpha - \textrho\acctonos\textiota\textomicron\textupsilon} -(LGR-encoded 8-bit font set up via NFSS commands). +LICR macros work in both, TU and LGR: compare +\>\textIota\textalpha\textnu\textomicron\textupsilon\textalpha +\textrho\acctonos\textiota\textomicron\textupsilon{} (TU) vs. +\lgrfont{\>\textIota\textalpha\textnu\textomicron\textupsilon\textalpha + \textrho\acctonos\textiota\textomicron\textupsilon} (LGR). \section{UPPERCASE and lowercase} -Capital Greek letters have Greek diacritics (except the dialytika and -sub-iota) to the left (instead of above) and drop them if text is set in -UPPERCASE, e.g. -\ensuregreek{μαΐστρος $\mapsto$ \MakeUppercase{μαΐστρος}}. +According to Greek typesetting conventions, Greek diacritics (except the +dialytika and sub-iota) are placed to the left (instead of above) capital +letters and dropped if text is set in ALL CAPS, e.g. \ensuregreek{μαΐστρος +$\mapsto$ \MakeUppercase{μαΐστρος}}. The macron and breve accents are +handled as in Latin texts. +The new \verb|\MakeUppercase| implementation (rolled out in the +\href{https://www.latex-project.org/news/latex2e-news/ltnews35.pdf} +{June 2022 LaTeX release}) relies on Unicode data. It upcases according to +the Greek conventions \textbf{if the text language is set to Greek} with +\pkgref{babel} or \pkgref{polyglossia}. + +For the pre-2022/06 implementation, \texttt{tuenc-greek.def} contains code +to get the same effect. The uccode/lccode corrections (taken from Apostolos Syropoulos xgreek package) ensure dropping of accents with \verb|\MakeUppercase| for literal Unicode characters. @@ -435,27 +460,27 @@ Unicode characters. However, when the tonos, varia, and perispomeni accents are input using the symbol macros (\verb|\' \` \~|), this does not work, as they cannot be distinguished from Latin acute, grave, and tilde accents.% -\footnote{This might be fixed with \textbackslash accACUTE, - \textbackslash accGRAVE, and \textbackslash accTILDE definitions - with corresponding @uclclist entries and composite definitions.} If these accents should be dropped by MakeUppercase, they must be input as named macro: \begin{quote} -\acctonos\textalpha \'\textalpha{} \acctonos a\'a -\accvaria\textalpha \`\textalpha{} \accvaria a\`a -$\mapsto$ -\MakeUppercase{ -\acctonos\textalpha \'\textalpha{} \acctonos a\'a -\accvaria\textalpha \`\textalpha{} \accvaria a\`a -} + \ifdefined\extrasgreek + \selectlanguage{greek} + \fi + \acctonos\textalpha\'\textalpha{} \acctonos a\'a + \accvaria\textalpha\`\textalpha{} \accvaria a\`a + $\mapsto$ + \MakeUppercase{ + \acctonos\textalpha\'\textalpha{} \acctonos a\'a + \accvaria\textalpha\`\textalpha{} \accvaria a\`a + } \end{quote} -\subsubsection{hiatus} +\subsection{hiatus} Tonos and dasia mark a \emph{hiatus} (break-up of a diphthong) if placed on -the first vowel of a diphtong (άι, άυ, έι, ἄι, ἄυ, ἔι). A dialytika must be -placed on the second vowel if they are dropped. +the first of two consecutive vowels (άι, άυ, έι, ἀυ, ἄι, ἄυ, ἔι). +A dialytika must be placed on the second vowel if they are dropped. The «hiatus» feature works with macro input: \begin{quote} @@ -476,16 +501,33 @@ The «hiatus» feature works with macro input: \MakeUppercase{\accpsili\textalpha\textupsilon πνία}. \end{quote} -It does not work with Unicode literals: +Since the 2022/06 LaTeX release, it works with monotonic Unicode literals +(since 2023/02/10 also some polytonic) \begin{quote} - άι, άυ, έι, ἄι, ἄυ, ἔι $\mapsto$ \MakeUppercase{άι, άυ, έι, ἄι, ἄυ, ἔι} + \ifdefined\extrasgreek + \selectlanguage{greek} + \fi + \newcommand*{\hiatest}{άι, άυ, έι, ἄι, ἄυ, ἔι, ἀυ} + \hiatest{} $\mapsto$ \MakeUppercase{\hiatest} \end{quote} - -or accent-macro + Unicode literals (yet?): +but not with the named accent-macro + Unicode literals \begin{quote} - \acctonos αι, \acctonos αυ, \acctonos ει, \'>αι, \'>αυ, \'>ει - $\mapsto$ - \MakeUppercase{\acctonos αι, \acctonos αυ, \acctonos ει, \'>αι, \'>αυ, \'>ει} + \ifdefined\extrasgreek + \selectlanguage{greek} + \fi + \newcommand*{\hiatest}{ + \acctonos αι, \acctonos αυ, \acctonos ει, + \accpsilioxia αι, \accpsilioxia αυ, \accpsilioxia ει, \accpsili αυ} + \hiatest{} $\mapsto$ \MakeUppercase{\hiatest} +\end{quote} +nor with short accent-macro + Unicode literals (yet?) +\begin{quote} + \ifdefined\extrasgreek + \selectlanguage{greek} + \fi + \newcommand*{\hiatest}{ + \'αι, \'αυ, \'ει, \'>αι, \'>αυ, \'>ει, \>αυ} + \hiatest{} $\mapsto$ \MakeUppercase{\hiatest} \end{quote} \section{Character Tables} @@ -495,8 +537,8 @@ LICR macro is followed by the corresponding literal Unicode character. \subsection{Greek and Coptic Unicode block} -Seldom used characters that are not part of LGR encoded TeX fonts have no -LICR definition. +Only characters that are supported by LGR encoded TeX fonts have a LICR +definition. \newcommand{\greekandcoptic}{ % NR Unicode Name % babel name, UCS name @@ -517,7 +559,7 @@ LICR definition. \acctonos{ } ΄ \"'{ } ΅ \'\textAlpha Ά -\textanoteleia · % \anoteleia +\textanoteleia · % \anoteleia, 00B7 (middle dot) is the preferred character \'\textEpsilon Έ \'\textEta Ή \'\textIota Ί @@ -577,7 +619,7 @@ LICR definition. \textpi π \textrho ρ -\textvarsigma ς +\textfinalsigma ς \textsigma σ \texttau τ \textupsilon υ @@ -593,7 +635,7 @@ LICR definition. \textbetasymbol ϐ \textthetasymbol ϑ -ϒ ϓ ϔ +% ϒ ϓ ϔ \textphisymbol ϕ \textpisymbol ϖ %ϗ @@ -626,17 +668,29 @@ LICR definition. \greekandcoptic -\noindent MakeUppercase (note: standard accents not dropped): +\noindent MakeUppercase (TODO: standard accents not dropped, accents from +pre-composed characters dropped since 2022/06, if the text language is set +to Greek): -\MakeUppercase{\greekandcoptic} +\foreignlanguage{greek}{ + \MakeUppercase{\greekandcoptic} +} + +TODO: Alias \verb|\textvarsigma| not upcased with new MakeUppercase: +\foreignlanguage{greek}{ + \textvarsigma ς → \MakeUppercase{\textvarsigma ς} +} \noindent MakeLowercase: -\MakeLowercase{\greekandcoptic} +\foreignlanguage{greek}{ + \MakeLowercase{\greekandcoptic} +} -The lowercase of Σ is σ (GREEK SMALL LETTER SIGMA).\footnote{% -With LICRs, it is \texttt{\textbackslash textautosigma}.} -The lowercase of Ϛ (GREEK LETTER STIGMA) is ϛ (GREEK SMALL LETTER STIGMA). +\noindent +The lowercase of ΣΣ is \MakeLowercase{ΣΣ}.\footnote{% + With LaTeX versions since 2022/06, + the final sigma is used if the algorithm detects the end of a word.} \subsection{Greek Extended Unicode block} @@ -644,9 +698,6 @@ The lowercase of Ϛ (GREEK LETTER STIGMA) is ϛ (GREEK SMALL LETTER STIGMA). Note: There are no LICR definitions for spacing diacritical characters. Use the corresponding accent macro with an empty argument or a space. -% \accvaria\textalpha ὰ -% \accoxia\textalpha ά - \medskip \newcommand{\greekextended}{ @@ -828,8 +879,8 @@ Use the corresponding accent macro with an empty argument or a space. \accvaria\textalpha\ypogegrammeni ᾲ \textalpha\ypogegrammeni ᾳ \accoxia\textalpha\ypogegrammeni ᾴ -\accperispomeni\textalpha ᾶ -\accperispomeni\textalpha\ypogegrammeni ᾷ +\~\textalpha ᾶ +\~\textalpha\ypogegrammeni ᾷ \u\textAlpha Ᾰ \=\textAlpha Ᾱ \accvaria\textAlpha Ὰ @@ -844,8 +895,8 @@ Use the corresponding accent macro with an empty argument or a space. \accvaria\texteta\ypogegrammeni ῂ \texteta\ypogegrammeni ῃ \accoxia\texteta\ypogegrammeni ῄ -\accperispomeni\texteta ῆ -\accperispomeni\texteta\ypogegrammeni ῇ +\~\texteta ῆ +\~\texteta\ypogegrammeni ῇ \accvaria\textEpsilon Ὲ \accoxia\textEpsilon Έ \accvaria\textEta Ὴ @@ -859,8 +910,8 @@ Use the corresponding accent macro with an empty argument or a space. \=\textiota ῑ \`"\textiota ῒ \'"\textiota ΐ -\accperispomeni\textiota ῖ -\accperispomeni"\textiota ῗ +\~\textiota ῖ +\~"\textiota ῗ \u\textIota Ῐ \=\textIota Ῑ \accvaria\textIota Ὶ @@ -875,8 +926,8 @@ Use the corresponding accent macro with an empty argument or a space. \'"\textupsilon ΰ \>\textrho ῤ \<\textrho ῥ -\accperispomeni\textupsilon ῦ -\accperispomeni"\textupsilon ῧ +\~\textupsilon ῦ +\~"\textupsilon ῧ \u\textUpsilon Ῠ \=\textUpsilon Ῡ \accvaria\textUpsilon Ὺ @@ -889,8 +940,8 @@ Use the corresponding accent macro with an empty argument or a space. \accvaria\textomega\ypogegrammeni ῲ \textomega\ypogegrammeni ῳ \accoxia\textomega\ypogegrammeni ῴ -\accperispomeni\textomega ῶ -\accperispomeni\textomega\ypogegrammeni ῷ +\~\textomega ῶ +\~\textomega\ypogegrammeni ῷ \accvaria\textOmicron Ὸ \accoxia\textOmicron Ό \accvaria\textOmega Ὼ @@ -904,10 +955,175 @@ Use the corresponding accent macro with an empty argument or a space. \noindent MakeUppercase: +\foreignlanguage{greek}{ + \MakeUppercase{\greekextended} +} + +\noindent MakeLowercase: + +\foreignlanguage{greek}{ + \MakeLowercase{\greekextended} +} + +\subsection{Character Tables: accent + literal base character} + +With Xe/LuaTeX and Unicode fonts, diacritics may also be input using +accent macros on a literal Unicode base character. + +\subsubsection{Greek and Coptic Unicode block} + +\renewcommand{\greekandcoptic}{ + +\'ΑΆ \'ΕΈ \'ΗΉ \'ΙΊ \'ΟΌ \'ΥΎ \'ΩΏ + +\"'ιΐ \"ΙΪ \"ΥΫ \'αά \'εέ \'ηή \'ιί + +\"'υΰ + +\"ιϊ \"υϋ \'οό \'υύ \'ωώ +} + +Accented letters from the Greek and Coptic Unicode Block + +\greekandcoptic + +\noindent MakeUppercase: + +\foreignlanguage{greek}{ + \MakeUppercase{\greekandcoptic} +} + +\noindent MakeLowercase: + +\foreignlanguage{greek}{ + \MakeLowercase{\greekandcoptic} +} + +\subsubsection{Greek Extended Unicode block} + + +\renewcommand{\greekextended}{ +\>αἀ \<αἁ \>`αἂ \<`αἃ \>'αἄ \<'αἅ \~>αἆ \~<αἇ +\>ΑἈ \<ΑἉ \>`ΑἊ \<`ΑἋ \>'ΑἌ \<'ΑἍ \~>ΑἎ \~<ΑἏ + +\>εἐ \<εἑ \>`εἒ \<`εἓ \>'εἔ \<'εἕ +\>ΕἘ \<ΕἙ \>`ΕἚ \<`ΕἛ \>'ΕἜ \<'ΕἝ + +\>ηἠ \<ηἡ \>`ηἢ \<`ηἣ \>'ηἤ \<'ηἥ \~>ηἦ \~<ηἧ +\>ΗἨ \<ΗἩ \>`ΗἪ \<`ΗἫ \>'ΗἬ \<'ΗἭ \~>ΗἮ \~<ΗἯ + +\>ιἰ \<ιἱ \>`ιἲ \<`ιἳ \>'ιἴ \<'ιἵ \~>ιἶ \~<ιἷ +\>ΙἸ \<ΙἹ \>`ΙἺ \<`ΙἻ \>'ΙἼ \<'ΙἽ \~>ΙἾ \~<ΙἿ + +\>οὀ \<οὁ \>`οὂ \<`οὃ \>'οὄ \<'οὅ +\>ΟὈ \<ΟὉ \>`ΟὊ \<`ΟὋ \>'ΟὌ \<'ΟὍ + +\>υὐ \<υὑ \>`υὒ \<`υὓ \>'υὔ \<'υὕ \~>υὖ \~<υὗ +\<ΥὙ \<`ΥὛ \<'ΥὝ \~<ΥὟ + +\>ωὠ \<ωὡ \>`ωὢ \<`ωὣ \>'ωὤ \<'ωὥ \~>ωὦ \~<ωὧ +\>ΩὨ \<ΩὩ \>`ΩὪ \<`ΩὫ \>'ΩὬ \<'ΩὭ \~>ΩὮ \~<ΩὯ + +\`αὰ \'αά \`εὲ \'εέ \`ηὴ \'ηή \`ιὶ \'ιί \`οὸ \'οό \`υὺ \'υύ \`ωὼ \'ωώ + +\>α\ypogegrammeni ᾀ +\<α\ypogegrammeni ᾁ +\>`α\ypogegrammeni ᾂ +\<`α\ypogegrammeni ᾃ +\>'α\ypogegrammeni ᾄ +\<'α\ypogegrammeni ᾅ +\~>α\ypogegrammeni ᾆ +\~<α\ypogegrammeni ᾇ +\>Α\ypogegrammeni ᾈ +\<Α\ypogegrammeni ᾉ +\>`Α\ypogegrammeni ᾊ +\<`Α\ypogegrammeni ᾋ +\>'Α\ypogegrammeni ᾌ +\<'Α\ypogegrammeni ᾍ +\~>Α\ypogegrammeni ᾎ +\~<Α\ypogegrammeni ᾏ + +\>η\ypogegrammeni ᾐ +\<η\ypogegrammeni ᾑ +\>`η\ypogegrammeni ᾒ +\<`η\ypogegrammeni ᾓ +\>'η\ypogegrammeni ᾔ +\<'η\ypogegrammeni ᾕ +\~>η\ypogegrammeni ᾖ +\~<η\ypogegrammeni ᾗ +\>Η\ypogegrammeni ᾘ +\<Η\ypogegrammeni ᾙ +\>`Η\ypogegrammeni ᾚ +\<`Η\ypogegrammeni ᾛ +\>'Η\ypogegrammeni ᾜ +\<'Η\ypogegrammeni ᾝ +\~>Η\ypogegrammeni ᾞ +\~<Η\ypogegrammeni ᾟ + +\>ω\ypogegrammeni ᾠ +\<ω\ypogegrammeni ᾡ +\>`ω\ypogegrammeni ᾢ +\<`ω\ypogegrammeni ᾣ +\>'ω\ypogegrammeni ᾤ +\<'ω\ypogegrammeni ᾥ +\~>ω\ypogegrammeni ᾦ +\~<ω\ypogegrammeni ᾧ +\>Ω\ypogegrammeni ᾨ +\<Ω\ypogegrammeni ᾩ +\>`Ω\ypogegrammeni ᾪ +\<`Ω\ypogegrammeni ᾫ +\>'Ω\ypogegrammeni ᾬ +\<'Ω\ypogegrammeni ᾭ +\~>Ω\ypogegrammeni ᾮ +\~<Ω\ypogegrammeni ᾯ + +\u αᾰ \= αᾱ +\`α\ypogegrammeni ᾲ +α\ypogegrammeni ᾳ +\'α\ypogegrammeni ᾴ +\~αᾶ +\~α\ypogegrammeni ᾷ +\u ΑᾸ \= ΑᾹ \`ΑᾺ \'ΑΆ +Α\ypogegrammeni ᾼ + +\`η\ypogegrammeni ῂ +η\ypogegrammeni ῃ +\'η\ypogegrammeni ῄ +\~ηῆ +\~η\ypogegrammeni ῇ +\`ΕῈ \'ΕΈ \`ΗῊ \'ΗΉ +Η\ypogegrammeni ῌ + +\u ιῐ \=ιῑ \"`ιῒ \"'ιΐ \~ιῖ \"~ιῗ \u ΙῘ \= ΙῙ \`ΙῚ \'ΙΊ + +\u υῠ \=υῡ \"`υῢ \'"υΰ \>ρῤ \<ρῥ \~υῦ \~"υῧ +\u ΥῨ \=ΥῩ \`ΥῪ \'ΥΎ \<ΡῬ + +\`ω\ypogegrammeni ῲ +ω\ypogegrammeni ῳ +\'ω\ypogegrammeni ῴ +\~ω ῶ +\~ω\ypogegrammeni ῷ +\`ΟῸ \'ΟΌ \`ΩῺ \'ΩΏ +Ω\ypogegrammeni ῼ +} + +Accented letters from the Greek Extended Unicode block + +\greekextended + + +\medskip +\noindent MakeUppercase: + +\foreignlanguage{greek}{ \MakeUppercase{\greekextended} +} +\medskip \noindent MakeLowercase: +\foreignlanguage{greek}{ \MakeLowercase{\greekextended} - +} \end{document} diff --git a/language/greek/greek-fontenc/test-utf8-input.pdf b/language/greek/greek-fontenc/test-utf8-input.pdf Binary files differnew file mode 100644 index 0000000000..46a3139369 --- /dev/null +++ b/language/greek/greek-fontenc/test-utf8-input.pdf diff --git a/language/greek/greek-fontenc/test-utf8-input.tex b/language/greek/greek-fontenc/test-utf8-input.tex new file mode 100644 index 0000000000..6e979fba2c --- /dev/null +++ b/language/greek/greek-fontenc/test-utf8-input.tex @@ -0,0 +1,87 @@ +% Test definitions for accents and composite accents in Greek +\RequirePackage{latexbug} +\documentclass[a4paper]{article} +% \pagestyle{empty} +\usepackage{lmodern} + +% Load encoding definitions (after font package) +\usepackage[LGR,T1]{fontenc} + + +% \usepackage{textalpha} % Greek script "everywhere"! +\usepackage[greek,english,provide=*]{babel} % Babel's Greek "ini" +% \usepackage[greek,english]{babel} % babel-greek + +\begin{document} + +\section*{Test upcasing of Greek characters with 8-bit TeX} + +The Greek and Coptic Unicode Block + +\newcommand{\GreekAndCoptic}{% + ͺ ; ΄ ΅ Ά · Έ Ή Ί Ό Ύ Ώ \\ + ΐ Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο \\ + Π Ρ Σ Τ Υ Φ Χ Ψ Ω Ϊ Ϋ ά έ ή ί \\ + ΰ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο \\ + π ρ ς σ τ υ φ χ ψ ω ϊ ϋ ό ύ ώ } +\begin{quote} + \selectlanguage{greek} + % \greekscript + \GreekAndCoptic +\end{quote} +% +MakeUppercase: +\begin{quote} + \selectlanguage{greek} + % \greekscript + \MakeUppercase{\GreekAndCoptic} +\end{quote} +% +% MakeLowercase: +% \begin{quote} +% \greekscript +% \MakeLowercase{\GreekAndCoptic} +% \end{quote} + + +Greek extended Unicode block + +\newcommand{\GreekExtended}{\raggedright + ἀ ἁ ἂ ἃ ἄ ἅ ἆ ἇ Ἀ Ἁ Ἂ Ἃ Ἄ Ἅ Ἆ Ἇ \\ + ἐ ἑ ἒ ἓ ἔ ἕ \ \ \ \ Ἐ Ἑ Ἒ Ἓ Ἔ Ἕ \\ + ἠ ἡ ἢ ἣ ἤ ἥ ἦ ἧ Ἠ Ἡ Ἢ Ἣ Ἤ Ἥ Ἦ Ἧ \\ + ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ \\ + ὀ ὁ ὂ ὃ ὄ ὅ \ \ \ \ Ὀ Ὁ Ὂ Ὃ Ὄ Ὅ \\ + ὐ ὑ ὒ ὓ ὔ ὕ ὖ ὗ \ \ Ὑ \ \ Ὓ \ \ Ὕ \ \ Ὗ \\ + ὠ ὡ ὢ ὣ ὤ ὥ ὦ ὧ Ὠ Ὡ Ὢ Ὣ Ὤ Ὥ Ὦ Ὧ \\ + ὰ ά ὲ έ ὴ ή ὶ ί ὸ ό ὺ ύ ὼ ώ \\ + ᾀ ᾁ ᾂ ᾃ ᾄ ᾅ ᾆ ᾇ ᾈ ᾉ ᾊ ᾋ ᾌ ᾍ ᾎ ᾏ \\ + ᾐ ᾑ ᾒ ᾓ ᾔ ᾕ ᾖ ᾗ ᾘ ᾙ ᾚ ᾛ ᾜ ᾝ ᾞ ᾟ \\ + ᾠ ᾡ ᾢ ᾣ ᾤ ᾦ ᾧ ᾥ ᾨ ᾩ ᾪ ᾫ ᾬ ᾭ ᾮ ᾯ \\ + ᾰ ᾱ ᾲ ᾳ ᾴ \ \ ᾶ ᾷ Ᾰ Ᾱ Ὰ Ά ᾼ ᾽ ι ᾿ \\ + ῀ ῁ ῂ ῃ ῄ \ \ ῆ ῇ Ὲ Έ Ὴ Ή ῌ ῍ ῏ \\ + ῐ ῑ ῒ ΐ \ \ \ \ ῖ ῗ Ῐ Ῑ Ὶ Ί \ \ ῝ ῟ \\ + ῠ ῡ ῢ ΰ \ \ \ \ ῤ ῥ ῦ ῧ Ὺ Ύ Ῥ ῭ ` \\ + \ \ \ \ ῲ ῳ ῴ \ \ ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ´ } + +\begin{quote} + \selectlanguage{greek} + \greekscript + \GreekExtended +\end{quote} +% +MakeUppercase: +\begin{quote} + \selectlanguage{greek} + \greekscript + \MakeUppercase{\GreekExtended} +\end{quote} + +% MakeLowercase: +% \begin{quote} +% % \selectlanguage{greek} +% \greekscript +% \MakeLowercase{\GreekExtended} +% \end{quote} + +\end{document} diff --git a/language/greek/greek-fontenc/textalpha-doc-tu.pdf b/language/greek/greek-fontenc/textalpha-doc-tu.pdf Binary files differnew file mode 100644 index 0000000000..068a0005f3 --- /dev/null +++ b/language/greek/greek-fontenc/textalpha-doc-tu.pdf diff --git a/language/greek/greek-fontenc/textalpha-doc.pdf b/language/greek/greek-fontenc/textalpha-doc.pdf Binary files differindex a849c4518b..ee2aedd801 100644 --- a/language/greek/greek-fontenc/textalpha-doc.pdf +++ b/language/greek/greek-fontenc/textalpha-doc.pdf diff --git a/language/greek/greek-fontenc/textalpha-doc.tex b/language/greek/greek-fontenc/textalpha-doc.tex index 38c1d2e67e..2f37d340a4 100644 --- a/language/greek/greek-fontenc/textalpha-doc.tex +++ b/language/greek/greek-fontenc/textalpha-doc.tex @@ -1,6 +1,7 @@ \documentclass{article} \usepackage{parskip} \usepackage{booktabs} +\usepackage{cmap} \ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines % Setup for Unicode fonts (Xe-/LuaTeX) @@ -13,7 +14,6 @@ % (XeTeX in compatibility mode would require inputenc hacks and is not % reliable.) \usepackage{lmodern} - \usepackage{textcomp} \usepackage[LGR,T1]{fontenc} \newcommand*{\greekfontencoding}{LGR} \newcommand*{\latinencoding}{T1} @@ -69,7 +69,7 @@ in text independent of font encoding or TeX engine.% } Input is possible via text commands (\verb|\textalpha| \ldots \verb|\textOmega|) or Unicode literals\footnote{% -Requires \emph{\href{http://www.ctan.org/pkg/greek-inputenc}{greek-inputenc}} +Requires \emph{\href{https://ctan.org/pkg/greek-inputenc}{greek-inputenc}} or XeTeX/LuaTeX.}. } @@ -84,15 +84,15 @@ Load this package in the preamble of your document with \end{verbatim} to get a unified interface for Greek letters and symbols that works in all text font encodings, with both, Unicode fonts and the -\href{http://www.ctan.org/pkg/fontspec}{\emph{fontspec}} package or 8-bit -fonts and the \href{http://www.ctan.org/pkg/fontenc}{\emph{fontenc}} +\href{https://ctan.org/pkg/fontspec}{\emph{fontspec}} package or 8-bit +fonts and the \href{https://ctan.org/pkg/fontenc}{\emph{fontenc}} package. See the source of this document \url{textalpha-doc.tex} for a setup and usage example, the literate source of the package \href{textalpha.sty.html}{textalpha.sty} for the implementation, and -\href{test-tuenc-greek.pdf}{test-tuenc-greek.pdf} for -\emph{Font setup for Greek with XeTeX/LuaTeX}. +\href{test-tuenc-greek.pdf}{test-tuenc-greek.pdf} for Greek with +XeTeX/LuaTeX. \subsection{Options} @@ -101,27 +101,20 @@ usage example, the literate source of the package Mathematical notation uses variant shapes of some Greek letters as additional symbols. There are separate code points for the symbol variants in Unicode. TeX supports some of the variant shape symbols in mathematical -mode -\[ - \theta|\vartheta, \phi|\varphi, \pi|\varpi, \rho|\varrho, - \epsilon|\varepsilon -\] -but not in the LGR font encoding used for Greek text +mode ($\theta|\vartheta, \phi|\varphi, \pi|\varpi, \rho|\varrho, +\epsilon|\varepsilon$) but not in the LGR font encoding used for Greek text in 8-bit TeX. - The variations have no syntactic meaning in Greek text and text fonts may use the variant shapes in place of the “regular” ones as a stylistic choice. -However, some Greek texts use these GREEK ... SYMBOL Unicode literals in place of -the corresponding GREEK LETTER ... characters. The \texttt{normalize-symbols} option merges letters and symbols to Greek letters. This way, text copied from external sources can be compiled without -errors even if it contains GREEK SYMBOL characters in place of GREEK LETTERS: +errors even if it contains a GREEK SYMBOL ... in place of a GREEK LETTER ...: \begin{quote} - The source of this text uses both variants for beta (β|ϐ), theta (θ|ϑ), - phi (φ|ϕ), pi (π|ϖ), kappa (κ|ϰ), rho (ρ|ϱ), Theta (Θ|ϴ), and epsilon - (ε|ϵ) in the LaTeX source. + The source of this paragraph uses both variants for beta (β|ϐ), + theta (θ|ϑ), phi (φ|ϕ), pi (π|ϖ), kappa (κ|ϰ), rho (ρ|ϱ), Theta (Θ|ϴ), + and epsilon (ε|ϵ). \end{quote} % This option is ignored with Unicode fonts. @@ -136,10 +129,10 @@ Unicode fonts in these cases. \subsubsection{\texttt{keep-semicolon}} -LGR is no \href{http://mirrors.ctan.org/macros/latex/base/encguide.pdf}{standard text font encoding}. +LGR is no \href{https://mirrors.ctan.org/macros/latex/base/encguide.pdf}{standard text font encoding}. Latin characters and some other ASCII symbols are mapped to Greek ``equivalents'' if LGR is the active font encoding. (See -\href{http://mirrors.ctan.org/language/babel/contrib/greek/usage.pdf}{usage.pdf} +\href{https://mirrors.ctan.org/language/babel/contrib/greek/usage.pdf}{usage.pdf} for a description of this Latin-Greek transliteration.) Special care is required with the question mark characters: The LGR font @@ -179,9 +172,10 @@ always prints a semicolon character). \section{Limitations \label{sec:limitations}} -Because the internal font encoding switch interferes with other work behind -the scenes, kerning, diacritics and up/down-casing show problems if Greek -letters are used without explicit change of the font encoding. +If compiling with 8-bit TeX, the internal font encoding switches interfere +with other work behind the scenes. Kerning, diacritics and up/down-casing +show problems if Greek letters are used without explicit change of the font +encoding. These problems can be avoided by use of \emph{babel} and the correct language setting (greek), an explicit font encoding switch (e.g. @@ -194,32 +188,39 @@ wrapping the Greek text in \verb|\ensuregreek|% }, or XeTeX/LuaTeX with Unicode fonts. +\subsection{Kerning} + +With pdfTeX and 8-bit fonts, no kerning occurs between Greek characters in +non-Greek text due to the internal font encoding switch: compare +\ensuregreek{\textAlpha\textUpsilon\textAlpha} (\greekfontencoding) to +\textAlpha\textUpsilon\textAlpha{} (\latinencoding). + +Compiling with LuaTeX provides kerning also on font encoding boundaries. \subsection{Diacritics} Accent macros do not work with Unicode literals as base character -under 8-bit LaTeX engines. Use the Latin transcription or LICR commands. +under 8-bit TeX engines. Use the Latin transliteration or LICR commands. Composition of diacritics (like \verb|\accdasia\acctonos| or \verb|\<\'|) fails in other font encodings. Long names (like \verb|\accdasiaoxia|) work. With LGR and TU, pre-composed glyphs are chosen if available. In other font -encodings, accent macros do not select pre-composed characters. (The -difference is a sub-optimal placement of the accent and becomes obvious if -you drag-and-drop text from the PDF version of this document.): - +encodings, accent macros do not select pre-composed characters. +The difference is a sub-optimal placement of the accent and becomes obvious +if you drag-and-drop text from the PDF version of this document.: \begin{quote} \ensuregreek{\<'\textalpha + \'<\textalpha \accdasia\acctonos\textalpha + \acctonos\accdasia\textalpha \accdasiaoxia\textalpha - \accdasiaoxia\textalpha - } (\greekfontencoding) + } (\greekfontencoding) vs. \accdasiaoxia\textalpha{} (\latinencoding). \end{quote} -According to Greek typographical tradition, diacritics (except the -dialytika) are placed before capital letters in Titlecase and dropped in -UPPERCASE: +Greek diacritics (except the dialytika) are placed before capital letters in +Titlecase and dropped in UPPERCASE: % \begin{quote} \ensuregreek{% @@ -228,27 +229,36 @@ UPPERCASE: \quad \<{\textAlpha} \>{\textEpsilon} \"{\textIota} \`>\textEta{} \'<{\textOmicron} \~<{\textUpsilon} \~>{\textOmega} - \quad + \MakeUppercase{% \<{\textalpha} \>{\textepsilon} \"'{\textiota} \`\>\texteta{} \'<{\textomicron} \~<{\textupsilon} \~>{\textomega} + \quad + \<{\textAlpha} \>{\textEpsilon} \"{\textIota} \`>\textEta{} + \'<{\textOmicron} \~<{\textUpsilon} \~>{\textOmega} } } \end{quote} % -This fails for accent macros if the active font encoding does not support -Greek. Pre-composed literal Unicode characters are handled correctly: +With the new \verb|\MakeUppercase| implementation (since 2022/06), +Greek upcasing rules are only applied if the text language is set to Greek +with Babel (and still need some fixes for LICR input). + +With the old \verb|\MakeUppercase| implementation, the above rules are fully +applied if the active font encoding is LGR or TU. However, accents input as +macros are misplaced if the active font encoding does not support Greek. +Pre-composed literal Unicode characters are handled correctly: \begin{quote} \begin{tabular}{ccc} & LICR & Unicode \\ \hline \greekfontencoding & \ensuregreek{\'\textAlpha} & \ensuregreek{Ά} \\ - \latinencoding & \'\textAlpha & Ά \\ + \latinencoding & \'\textAlpha & Ά \end{tabular} \end{quote} The dialytika marks a \emph{hiatus} (break-up of a diphthong). It must be present in UPPERCASE even where it is redundant in lowercase (the hiatus can -also be marked by an accent on the first character of a diphthong). The +also be marked by an accent on the first of two consecutive vowels). The auto-hiatus feature works in LGR and TU font encodings only: \begin{quote} \acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{} $\mapsto$ @@ -260,34 +270,28 @@ auto-hiatus feature works in LGR and TU font encodings only: } (\latinencoding) \end{quote} -Currently, the auto-hiatus feature should works only reliably with -LICR commands, not Unicode literals: +With the old implementation of \verb|\MakeUppercase|, the auto-hiatus +feature works with LICR commands, not Unicode literals. +The new implementation works with Unicode literals but only if the text +language is Greek (i.e. not in this document that does not load Babel). \begin{quote} -\ensuregreek{ἀ\textupsilon{}πνία} $\mapsto$ +\ensuregreek{\accpsili{\textalpha}\textupsilon{}πνία} $\mapsto$ \ensuregreek{\MakeUppercase{\ensuregreek{\accpsili{\textalpha}\textupsilon{}πνία}}} (OK) \ensuregreek{ἀ\textupsilon{}πνία} $\mapsto$ -\ensuregreek{\MakeUppercase{\ensuregreek{ἀ\textupsilon{}πνία}}} (OK with LGR) +\ensuregreek{\MakeUppercase{ἀ\textupsilon{}πνία}} (OK with LGR) -\ensuregreek{ἀ\textupsilon{}πνία} $\mapsto$ -\ensuregreek{\MakeUppercase{\ensuregreek{ἀυπνία}}} (fail) +\ensuregreek{ἀυπνία} $\mapsto$ +\ensuregreek{\MakeUppercase{ἀυπνία}} (literal characters fail without Babel) \end{quote} -\subsection{Kerning} - -With 8-bit fonts, no kerning occurs between Greek characters in non-Greek -text due to the internal font encoding switch: compare -\ensuregreek{\textAlpha\textUpsilon\textAlpha} (\greekfontencoding) to -\textAlpha\textUpsilon\textAlpha{} (\latinencoding). - -Compiling with LuaTeX provides kerning also on font encoding boundaries. \section{Test and Examples} \subsection{Greek alphabet} -Greek letters via Latin transcription (works only in LGR font encoding): +Greek letters via Latin transliteration (works only in LGR font encoding): \begin{quote} \ensuregreek{a b g d e z h j i k l m n x o p r sv c t u f q y w} @@ -395,7 +399,7 @@ In LGR, the Latin letter \verb|s| and the command \verb|\textautosigma| print the ``normal'' sigma if followed by another letter and the final sigma if followed by space or punctuation. This is implemented via the font ligature mechanism and works only in LGR: -\ensuregreek{\textautosigma\textautosigma} (\greekfontencoding) and +\ensuregreek{\textautosigma\textautosigma} (\greekfontencoding) vs. \textautosigma{}\textautosigma{} (\latinencoding). The upper case of both sigma variants is \verb|\textSigma|, the lower case @@ -403,20 +407,26 @@ of Sigma is \verb|\textautosigma|. Test: (Unicode literal and \verb|\text...| commands in \greekfontencoding) -σ \textsigma{} ς \textvarsigma{} \textfinalsigma{} \textautosigma{} lowercase +original: σ\textsigma{} ς\textvarsigma \textfinalsigma \textautosigma{} + ΣΣ \textSigma\textSigma{} -\MakeUppercase{ -σ \textsigma{} ς \textvarsigma{} \textfinalsigma{} \textautosigma{}} MakeUppercase +MakeUppercase: +\MakeUppercase{σ\textsigma{} ς\textvarsigma \textfinalsigma \textautosigma{} + ΣΣ \textSigma\textSigma{}} -\ensuregreek{ΣΣ \textSigma\textSigma{}} uppercase +MakeLowercase: +\MakeLowercase{σ\textsigma{} ς\textvarsigma \textfinalsigma \textautosigma{} + \ensuregreek{ΣΣ \textSigma\textSigma{}}} -\MakeLowercase{\ensuregreek{ΣΣ \textSigma\textSigma{}}} MakeLowercase +TODO: With the new MakeLowercase, a literal Σ is converted according to its +position :) but the macro \verb|\textSigma| is converted to a final sigma +also in the middle of a word (at least with language English). \subsection{Greek Unicode characters in non-Greek text} With the \emph{textalpha} package, -\href{http://www.ctan.org/pkg/greek-inputenc}{greek-inputenc} and input +\href{https://ctan.org/pkg/greek-inputenc}{greek-inputenc} and input encoding \texttt{utf8}, Greek Unicode characters can be used in text with any font encoding. See Tables \ref{tab:greek-and-coptic} and \ref{tab:greek-extended}. @@ -436,7 +446,7 @@ Kerning is preserved if the active font encoding supports Greek: 3A0 & Π & Ρ & & Σ & Τ & Υ & Φ & Χ & Ψ & Ω & Ϊ & Ϋ & ά & έ & ή & ί\\ 3B0 & ΰ & α & β & γ & δ & ε & ζ & η & θ & ι & κ & λ & μ & ν & ξ & ο\\ 3C0 & π & ρ & ς & σ & τ & υ & φ & χ & ψ & ω & ϊ & ϋ & ό & ύ & ώ & \\ -3D0 & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & Ϙ & ϙ & Ϛ & ϛ & Ϝ & ϝ & ◦ & ϟ\\ +3D0 & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & Ϙ & ϙ & Ϛ & ϛ & Ϝ & ϝ & Ϟ & ϟ\\ 3E0 & Ϡ & ϡ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦\\ 3F0 & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦ & ◦\\ \bottomrule @@ -486,7 +496,7 @@ MakeUppercase (μαΐστρος $\mapsto$ \MakeUppercase{μαΐστρος}). \subsection{PDF strings} With \emph{textalpha} and -\emph{\href{http://www.ctan.org/pkg/greek-inputenc}{greek-inputenc}}, there +\emph{\href{https://ctan.org/pkg/greek-inputenc}{greek-inputenc}}, there are two options to get Greek letters in PDF strings: LICR macros and literal Unicode input. @@ -494,9 +504,9 @@ Unicode input. λογος and \ensuregreek{logos}} The subsection title above uses: LICR macros, Unicode input and the LGR -transcription for the Greek word \ensuregreek{logos}. Check the table of +transliteration for the Greek word \ensuregreek{logos}. Check the table of contents in the PDF viewer: LICR macros and Unicode literals work fine, the -Latin transcription remains Latin in the PDF metadata. +Latin transliteration remains Latin in the PDF metadata. \subsubsection{\greekalphabetsample} \subsubsection{\greekAlphabetsample} diff --git a/language/greek/greek-fontenc/textalpha-tu.pdf b/language/greek/greek-fontenc/textalpha-tu.pdf Binary files differindex 4f3454fac9..ac6b130fd8 100644 --- a/language/greek/greek-fontenc/textalpha-tu.pdf +++ b/language/greek/greek-fontenc/textalpha-tu.pdf diff --git a/language/greek/greek-fontenc/textalpha.sty b/language/greek/greek-fontenc/textalpha.sty index e7ac61e763..851f39dc95 100644 --- a/language/greek/greek-fontenc/textalpha.sty +++ b/language/greek/greek-fontenc/textalpha.sty @@ -16,7 +16,7 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{textalpha} -[2020/10/30 2.0 macros for Greek letters in text] +[2023/02/28 2.2 macros for Greek letters in text] % .. note:: % @@ -27,29 +27,30 @@ % Changelog: % .. class:: borderless % -% ====== ========== ========================================================= -% 0.1 2010-06-16 initial version -% 0.2 2012-06-27 support for compound Unicode definitions outside LGR -% 0.3 2013-05-03 new accent macro names with ``lgrxenc.def`` 0.7 -% 0.4 2013-05-28 use ``lgrenc.def`` from greek-fontenc. -% 0.5 2013-09-11 move to greek-fontenc_, -% .. support XeTeX/LuaTeX, add breve below accents. -% 0.11 2013-11-28 compatibility with Xe/LuaTeX in 8-bit mode. -% 0.12 2014-12-12 fix auxiliary macro names, -% define symbol macros for breathing accents. -% 0.13 2015-09-04 Option normalize-symbols_: support for symbol variants. -% .. Option keep-semicolon_: use semicolon as erotimatiko -% in LGR. -% 0.13.2 2016-02-05 Support for standard Unicode text font encoding "TU" -% (new in fontspec v2.5a). -% 0.13.4 2019-07-11 Auxiliary command for subscript iota. -% 0.14 2020-02-28 Update test for Unicode fonts. -% Rename ``greek-euenc`` to ``tuenc-greek``. -% Don't use ``\LastDeclaredEncoding``. -% 1.0 2020-09-25 Also set ``\encodingdefault`` with ``\greekscript``. -% 2.0 2020-10-30 Load ``tuenc-greek.def`` with Xe/LuaTeX by default. -% .. Load ``puenc-greek.def`` if used with `hyperref`_. -% ====== ========== ========================================================= +% ====== =========== ======================================================== +% 0.1 2010-06-16 initial version +% 0.2 2012-06-27 support for compound Unicode definitions outside LGR +% 0.3 2013-05-03 new accent macro names with ``lgrxenc.def`` 0.7 +% 0.4 2013-05-28 use ``lgrenc.def`` from greek-fontenc. +% 0.5 2013-09-11 move to greek-fontenc_, +% .. support XeTeX/LuaTeX, add breve below accents. +% 0.11 2013-11-28 compatibility with Xe/LuaTeX in 8-bit mode. +% 0.12 2014-12-12 fix auxiliary macro names, +% define symbol macros for breathing accents. +% 0.13 2015-09-04 Option normalize-symbols_: support for symbol variants. +% .. Option keep-semicolon_: use semicolon as erotimatiko +% in LGR. +% 0.13.2 2016-02-05 Support for standard Unicode text font encoding "TU" +% (new in fontspec v2.5a). +% 0.13.4 2019-07-11 Auxiliary command for subscript iota. +% 0.14 2020-02-28 Update test for Unicode fonts. +% Rename ``greek-euenc`` to ``tuenc-greek``. +% Don't use ``\LastDeclaredEncoding``. +% 1.0 2020-09-25 Also set ``\encodingdefault`` with ``\greekscript``. +% 2.0 2020-10-30 Load ``tuenc-greek.def`` with Xe/LuaTeX by default. +% .. Load ``puenc-greek.def`` if used with `hyperref`_. +% 2.2 2023-02-28 Don't use ``\makeatother`` in ``\AtBeginDocument``. +% ====== =========== ======================================================== % % .. contents:: % @@ -86,9 +87,11 @@ % + natively by XeTeX/LuaTeX for Unicode fonts. % % If 8-bit font encodings like LGR are used alongside Unicode fonts, text -% input can be done via the Latin transcription or LICR but *not via +% input can be done via the Latin transliteration or LICR but *not via % literal Unicode characters* (see test-tuenc-greek.tex_). % +% .. _limitations: +% % .. Attention:: The macros work well in any font encoding for single symbols. % However, with 8-bit TeX engines, the automatic font-encoding switches % behind the doors interfere with kerning between letters and replacement @@ -196,7 +199,7 @@ % Symbol macros for breathings % ---------------------------- % -% In the Latin transcription provided by LGR, breathing accents (Dasia and +% In the Latin transliteration provided by LGR, breathing accents (Dasia and % Psili) are input as < and >. Provide the corresponding NFSS macro accents. % (Used below for LGR, TU, and PU, if these font encodings are defined):: @@ -243,50 +246,55 @@ \ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines \input{tuenc-greek.def} \textalpha@define@breathings{\UnicodeEncodingName} + \DeclareTextCompositeCommand{\<}{\UnicodeEncodingName}{^^9f}{\LGR@hiatus} + \DeclareTextCompositeCommand{\>}{\UnicodeEncodingName}{^^9f}{\LGR@hiatus} \else - \@ifl@aded{def}{lgrenc}{}{% else - \input{lgrenc.def} + \@ifl@aded{def}{lgrenc} + {} + {\input{lgrenc.def} } - \textalpha@define@breathings{LGR} - % Hiatus feature (see greek-fontenc.def and babel-greek (greek.ldf)) - \DeclareTextCompositeCommand{\<}{LGR}{^^9f}{\LGR@hiatus} - \DeclareTextCompositeCommand{\>}{LGR}{^^9f}{\LGR@hiatus} \fi % LGR may also be used in a document compiled with Xe/LuaTeX -% (enables use of 8-bit TeX fonts and input via the Latin transcription). +% (enables use of 8-bit TeX fonts and input via the Latin transliteration). % Add setup for breathings:: -\@ifl@aded{def}{lgrenc}{ - \textalpha@define@breathings{LGR} - % Hiatus feature (see greek-fontenc.def and babel-greek (greek.ldf)) - \DeclareTextCompositeCommand{\<}{LGR}{^^9f}{\LGR@hiatus} - \DeclareTextCompositeCommand{\>}{LGR}{^^9f}{\LGR@hiatus} -}{} - -% The package hyperref_ defines the PU font encoding which also supports -% (monotonic) Greek. It currently misses polytonic greek, archaic symbols, +\@ifl@aded{def}{lgrenc} + {\textalpha@define@breathings{LGR} + % Hiatus feature (see greek-fontenc.def and babel-greek (greek.ldf)) + \DeclareTextCompositeCommand{\<}{LGR}{^^9f}{\LGR@hiatus} + \DeclareTextCompositeCommand{\>}{LGR}{^^9f}{\LGR@hiatus} + } + {} + +% The package hyperref_ defines the PU font encoding and adds some +% LICR commands for monotonic Greek (in punenc-greekbasick.def). +% Add support for polytonic Greek, archaic symbols, % and the ``\greekscript`` and ``\ensuregreek`` TextCommands:: \AtBeginDocument{ - \@ifl@aded{def}{puenc}{ - \makeatletter % required inside \AtBeginDocument - \input{puenc-greek.def} - \textalpha@define@breathings{PU} - \pdfstringdefDisableCommands{\let\TextOrMath\@firstoftwo} - \makeatother - }{} + \@ifl@aded{def}{puenc} + {\@ifl@aded{def}{puenc-greek} + {}% already loaded (e.g. by babel-greek) + {\edef\RestoreAtCatcode{\catcode`@=\the\catcode`@\relax}% + \makeatletter + \input{puenc-greek.def} + \RestoreAtCatcode + }% + \textalpha@define@breathings{PU} + \pdfstringdefDisableCommands{\let\TextOrMath\@firstoftwo} + } + {} } -% The package textcomp defines the TS1 font encoding with the MICRO SIGN -% named ``\texmu``. Provide the alias ``\textmicro``:: +% The TS1 font encoding (available by default since 2022) provides a +% MICRO SIGN under the name ``\textmu`` but we use this name for the +% GREEK SMALL LETTER MU. +% The new macro ``\textmicro`` selects the character from TS1 fonts +% and is not capitalised with ``\MakeUppercase``:: -\AtBeginDocument{ - \@ifl@aded{def}{ts1enc}{ - \DeclareTextSymbol{\textmicro}{TS1}{181} % micro sign - \DeclareTextSymbolDefault{\textmicro}{TS1} - }{} -} +\DeclareTextSymbol{\textmicro}{TS1}{181} % micro sign +\DeclareTextSymbolDefault{\textmicro}{TS1} % Default declarations % -------------------- @@ -314,7 +322,7 @@ % an alternative definition (see [fntguide_]):: \ProvideTextCommandDefault{\greekscript}{\fontencoding{LGR}\selectfont - \def\encodingdefault{\greekfontencoding}} + \def\encodingdefault{LGR}} % The ``\ensuregreek`` command can be used to ensure that its argument is set in @@ -382,6 +390,7 @@ \DeclareTextSymbolDefault{\textkappa}{LGR} \DeclareTextSymbolDefault{\textlambda}{LGR} \DeclareTextSymbolDefault{\textmu}{LGR} +\DeclareTextSymbolDefault{\textmugreek}{LGR} % (puenc.def) \DeclareTextSymbolDefault{\textnu}{LGR} \DeclareTextSymbolDefault{\textxi}{LGR} \DeclareTextSymbolDefault{\textomicron}{LGR} @@ -418,6 +427,7 @@ \DeclareTextSymbolDefault{\textkoppa}{LGR} % ϟ Greek small letter koppa \DeclareTextSymbolDefault{\textkoppagreek}{LGR} % ϟ (puenc.def) \DeclareTextSymbolDefault{\textKoppa}{LGR} % ϟ Greek letter koppa (numeral koppa) +\DeclareTextSymbolDefault{\textKoppagreek}{LGR} % ϟ (puenc.def) \DeclareTextSymbolDefault{\textqoppa}{LGR} % ϙ (archaic koppa) \DeclareTextSymbolDefault{\textQoppa}{LGR} % Ϙ (archaic Koppa) \DeclareTextSymbolDefault{\textStigma}{LGR} % Ϛ ϹΤ ligature in some fonts @@ -500,8 +510,8 @@ % Postfix accents:: -\DeclareTextSymbolDefault{\ypogegrammeni}{LGR} % "small" sub-iota -\DeclareTextSymbolDefault{\prosgegrammeni}{LGR} % "capital" sub-iota +\DeclareTextSymbolDefault{\ypogegrammeni}{LGR} % subscript mute iota (combining) +\DeclareTextSymbolDefault{\prosgegrammeni}{LGR} % adscript mute iota (spacing) % Other accents in LGR:: @@ -540,22 +550,43 @@ \fi - +% TODO +% ==== +% +% * Load ``lgrenc.def`` rsp. ``tuenc-greek.def`` after the common definitions +% and after ``puenc-greek.def``? +% +% If an encoding-specific command is defined for more than one encoding, +% then it will execute fastest in the encoding in which it was defined +% last since its top-level definition will be set up to execute in that +% encoding without any overhead. +% +% ... +% +% For the same reason default declarations should never come last since +% they are implemented as a special encoding themselves (with the name ?). +% Specifying them last would simply mean to make those encoding-specific +% commands equally inefficient in all encodings. +% +% -- source2e.pdf, chapter "ltoutenc.dtx", +% subsection "The order of declarations". +% +% % .. References % ---------- % .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt -% .. _CB fonts: http://ctan.org/pkg/cbgreek-complete -% .. _babel: http://ctan.org/pkg/babel +% .. _CB fonts: https://ctan.org/pkg/cbgreek-complete +% .. _babel: https://ctan.org/pkg/babel % .. _e-TeX: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=etex -% .. _fontenc: http://ctan.org/pkg/fontenc -% .. _fontspec: http://ctan.org/pkg/fontspec -% .. _fntguide: http://mirror.ctan.org/macros/latex/base/fntguide.pdf -% .. _greek-fontenc: http://ctan.org/pkg/greek-fontenc -% .. _greek-inputenc: http://ctan.org/pkg/greek-inputenc -% .. _hyperref: http://ctan.org/pkg/hyperref -% .. _inputenc: http://ctan.org/pkg/inputenc -% .. _polyglossia: http://ctan.org/pkg/polyglossia -% .. _textgreek: http://ctan.org/pkg/textgreek -% .. _xunicode: http://ctan.org/pkg/xunicode +% .. _fontenc: https://ctan.org/pkg/fontenc +% .. _fontspec: https://ctan.org/pkg/fontspec +% .. _fntguide: https://mirrors.ctan.org/macros/latex/base/fntguide.pdf +% .. _greek-fontenc: https://ctan.org/pkg/greek-fontenc +% .. _greek-inputenc: https://ctan.org/pkg/greek-inputenc +% .. _hyperref: https://ctan.org/pkg/hyperref +% .. _inputenc: https://ctan.org/pkg/inputenc +% .. _polyglossia: https://ctan.org/pkg/polyglossia +% .. _textgreek: https://ctan.org/pkg/textgreek +% .. _xunicode: https://ctan.org/pkg/xunicode % % .. _erotimatiko: https://en.wikipedia.org/wiki/Question_mark#Erotimatiko diff --git a/language/greek/greek-fontenc/textalpha.sty.html b/language/greek/greek-fontenc/textalpha.sty.html index 242b78f0b1..c54289ce83 100644 --- a/language/greek/greek-fontenc/textalpha.sty.html +++ b/language/greek/greek-fontenc/textalpha.sty.html @@ -1,18 +1,19 @@ <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> -<meta charset="utf-8"/> -<meta name="generator" content="Docutils 0.17b2.dev: http://docutils.sourceforge.net/" /> -<title>textalpha.sty</title> +<meta charset="utf-8" /> +<meta name="generator" content="Docutils 0.20b.dev: https://docutils.sourceforge.io/" /> +<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="dcterms.rights" content="© 2010 Günter Milde" /> +<title>textalpha.sty</title> <link rel="schema.dcterms" href="http://purl.org/dc/terms/"/> <style type="text/css"> /* Minimal style sheet for the HTML output of Docutils. */ /* */ /* :Author: Günter Milde, based on html4css1.css by David Goodger */ -/* :Id: $Id$ */ -/* :Copyright: © 2015 Günter Milde. */ +/* :Id: $Id$ */ +/* :Copyright: © 2015, 2021 Günter Milde. */ /* :License: Released under the terms of the `2-Clause BSD license`_, */ /* in short: */ /* */ @@ -24,38 +25,24 @@ /* */ /* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ -/* This CSS2.1_ stylesheet defines rules for Docutils elements without */ -/* HTML equivalent. It is required to make the document semantic visible. */ -/* */ -/* .. _CSS2.1: http://www.w3.org/TR/CSS2 */ -/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ - -/* alignment of text and inline objects inside block objects*/ -.align-left { text-align: left; } -.align-right { text-align: right; } -.align-center { clear: both; text-align: center; } -.align-top { vertical-align: top; } -.align-middle { vertical-align: middle; } -.align-bottom { vertical-align: bottom; } +/* This CSS3 stylesheet defines rules for Docutils elements without */ +/* HTML equivalent. It is required to make the document semantics visible. */ +/* */ +/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ /* titles */ -h1.title, -p.subtitle { - text-align: center; -} p.topic-title, -p.sidebar-title, -p.rubric, p.admonition-title, p.system-message-title { font-weight: bold; } -h1 + p.subtitle { - font-size: 1.6em; +p.sidebar-title, +p.rubric { + font-weight: bold; + font-size: larger; } -h2 + p.section-subtitle, -p.sidebar-title { - font-size: 1.2em; +p.rubric { + color: maroon; } p.subtitle, p.section-subtitle, @@ -63,46 +50,47 @@ p.sidebar-subtitle { font-weight: bold; margin-top: -0.5em; } -p.rubric { - font-size: larger; - color: maroon; +h1 + p.subtitle { + font-size: 1.6em; } a.toc-backref { - color: black; - text-decoration: none; } + color: inherit; + text-decoration: none; +} /* Warnings, Errors */ -div.system-messages h2, -span.problematic, -p.system-message-title { +.system-messages h2, +.system-message-title, +span.problematic { color: red; } -/* inline literals */ -span.docutils.literal { +/* Inline Literals */ +.docutils.literal { font-family: monospace; white-space: pre-wrap; } -/* do not wraph at hyphens and similar: */ +/* do not wrap at hyphens and similar: */ .literal > span.pre { white-space: nowrap; } /* Lists */ /* compact and simple lists: no margin between items */ -.simple li, .compact li, -.simple ul, .compact ul, -.simple ol, .compact ol, -.simple > li p, .compact > li p, -dl.simple > dd, dl.compact > dd { +.simple li, .simple ul, .simple ol, +.compact li, .compact ul, .compact ol, +.simple > li p, dl.simple > dd, +.compact > li p, dl.compact > dd { margin-top: 0; margin-bottom: 0; } +/* Nested Paragraphs */ +p:first-child { margin-top: 0; } +p:last-child { margin-bottom: 0; } +details > p:last-child { margin-bottom: 1em; } /* Table of Contents */ -div.topic.contents { margin: 0.5em 0; } -div.topic.contents ul { +.contents ul.auto-toc { /* section numbers present */ list-style-type: none; - padding-left: 1.5em; } /* Enumerated Lists */ @@ -112,32 +100,41 @@ ol.upperalpha { list-style: upper-alpha } ol.lowerroman { list-style: lower-roman } ol.upperroman { list-style: upper-roman } -dt span.classifier { font-style: italic } -dt span.classifier:before { +/* Definition Lists and Derivatives */ +dt .classifier { font-style: italic } +dt .classifier:before { font-style: normal; margin: 0.5em; content: ":"; } - -/* Field Lists and drivatives */ +/* Field Lists and similar */ /* bold field name, content starts on the same line */ +dl.field-list, +dl.option-list, +dl.docinfo { + display: flow-root; +} dl.field-list > dt, dl.option-list > dt, -dl.docinfo > dt, -dl.footnote > dt, -dl.citation > dt { +dl.docinfo > dt { font-weight: bold; clear: left; float: left; margin: 0; padding: 0; - padding-right: 0.5em; + padding-right: 0.2em; } /* Offset for field content (corresponds to the --field-name-limit option) */ dl.field-list > dd, dl.option-list > dd, dl.docinfo > dd { - margin-left: 9em; /* ca. 14 chars in the test examples */ + margin-left: 9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */ +} +/* start nested lists on new line */ +dd > dl:first-child, +dd > ul:first-child, +dd > ol:first-child { + clear: left; } /* start field-body on a new line after long field names */ dl.field-list > dd > *:first-child, @@ -147,108 +144,124 @@ dl.option-list > dd > *:first-child width: 100%; margin: 0; } -/* field names followed by a colon */ -dl.field-list > dt:after, -dl.docinfo > dt:after { - content: ":"; -} /* Bibliographic Fields (docinfo) */ -pre.address { - font: inherit; +dl.docinfo pre.address { + font: inherit; margin: 0.5em 0; } -dd.authors > p { margin: 0; } +dl.docinfo > dd.authors > p { margin: 0; } /* Option Lists */ -dl.option-list { margin-left: 1.5em; } dl.option-list > dt { font-weight: normal; } span.option { white-space: nowrap; } /* Footnotes and Citations */ -dl.footnote.superscript > dd {margin-left: 1em; } -dl.footnote.brackets > dd {margin-left: 2em; } -dl.footnote > dt { font-weight: normal; } -a.footnote-reference.brackets:before, -dt.label > span.brackets:before { content: "["; } -a.footnote-reference.brackets:after, -dt.label > span.brackets:after { content: "]"; } -a.footnote-reference.superscript, -dl.footnote.superscript > dt.label { + +.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */ +/* hanging indent */ +.citation { padding-left: 2em; } +.footnote { padding-left: 1.7em; } +.footnote.superscript { padding-left: 1.0em; } +.citation > .label { margin-left: -2em; } +.footnote > .label { margin-left: -1.7em; } +.footnote.superscript > .label { margin-left: -1.0em; } + +.footnote > .label + *, +.citation > .label + * { + display: inline-block; + margin-top: 0; + vertical-align: top; +} +.footnote > .backrefs + *, +.citation > .backrefs + * { + margin-top: 0; +} +.footnote > .label + p, .footnote > .backrefs + p, +.citation > .label + p, .citation > .backrefs + p { + display: inline; + vertical-align: inherit; +} + +.backrefs { user-select: none; } +.backrefs > a { font-style: italic; } + +/* superscript footnotes */ +a[role="doc-noteref"].superscript, +.footnote.superscript > .label, +.footnote.superscript > .backrefs { vertical-align: super; - font-size: small; + font-size: smaller; + line-height: 1; +} +a[role="doc-noteref"].superscript > .fn-bracket, +.footnote.superscript > .label > .fn-bracket { + /* hide brackets in display but leave for copy/paste */ + display: inline-block; + width: 0; + overflow: hidden; +} +[role="doc-noteref"].superscript + [role="doc-noteref"].superscript { + padding-left: 0.15em; /* separate consecutive footnote references */ + /* TODO: unfortunately, "+" also selects with text between the references. */ } -dt.label > span.fn-backref { margin-left: 0.2em; } -dt.label > span.fn-backref > a { font-style: italic; } -/* Figures, Images, and Tables */ -.figure.align-left, -figure.align-left, -img.align-left, -object.align-left, -table.align-left { +/* Alignment */ +.align-left { + text-align: left; margin-right: auto; } -.figure.align-center, -figure.align-center, -img.align-center, -object.align-center, -table.align-center { +.align-center { + text-align: center; margin-left: auto; margin-right: auto; } -.figure.align-right, -figure.align-right, -img.align-right, -object.align-right, -table.align-right { +.align-right { + text-align: right; margin-left: auto; } -img.align-center, img.align-right, -object.align-center, object.align-right { - display: block; -} +.align-top { vertical-align: top; } +.align-middle { vertical-align: middle; } +.align-bottom { vertical-align: bottom; } + /* reset inner alignment in figures and tables */ -.figure.align-left, .figure.align-right, figure.align-left, figure.align-right, table.align-left, table.align-center, table.align-right { text-align: inherit; } -/* Sidebar */ -aside.sidebar { - width: 30%; - max-width: 26em; - float: right; - clear: right; -} - /* Text Blocks */ -blockquote, -div.topic, -div.admonition, -div.system-message { - margin-left: 2em; - margin-right: 2em; +.topic { margin: 1em 2em; } +.sidebar, +.admonition, +.system-message { + margin: 1em 2em; + border: thin solid; + padding: 0.5em 1em; } div.line-block { display: block; } -div.line-block div.line-block { - margin: 0 0 0 2em; -} -pre { margin-left: 2em; } -pre.code .ln { color: gray; } /* line numbers */ +div.line-block div.line-block, pre { margin-left: 2em; } +/* Code line numbers: dropped when copying text from the page */ +pre.code .ln { display: none; } +pre.code code:before { + content: attr(data-lineno); /* …, none) fallback not supported by any browser */ + color: gray; +} /* Tables */ -table { border-collapse: collapse; } +table { + border-collapse: collapse; +} td, th { - border-style: solid; - border-color: silver; + border: thin solid silver; padding: 0 1ex; - border-width: thin; } -td > p:first-child, th > p:first-child { margin-top: 0; } -td > p, th > p { margin-bottom: 0; } +.borderless td, .borderless th { + border: 0; + padding: 0; + padding-right: 0.5em /* separate table cells */ +} table > caption { text-align: left; @@ -259,25 +272,24 @@ table.captionbelow { caption-side: bottom; } -table.borderless td, table.borderless th { - border: 0; - padding: 0; - padding-right: 0.5em /* separate table cells */ -} - /* Document Header and Footer */ header { border-bottom: 1px solid black; } footer { border-top: 1px solid black; } -/* new HTML5 block elements: set display for older browsers */ -header, section, footer, aside, nav, main, article, figure { +/* Images are block-level by default in Docutils */ +/* New HTML5 block elements: set display for older browsers */ +img, header, footer, main, aside, nav, section, figure, video, details { display: block; } +/* inline images */ +p img, p video, figure img, figure video { + display: inline; +} </style> <style type="text/css"> -/* CSS3_ style sheet for the output of Docutils HTML writers. */ +/* CSS3_ style sheet for the output of Docutils HTML5 writer. */ /* Generic responsive design for all screen sizes. */ /* */ /* :Author: Günter Milde */ @@ -294,119 +306,113 @@ header, section, footer, aside, nav, main, article, figure { /* This file is offered as-is, without any warranty. */ /* */ /* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ -/* .. _CSS3: http://www.w3.org/TR/CSS3 */ +/* .. _CSS3: https://www.w3.org/Style/CSS/ */ + +/* Note: */ +/* This style sheet is provisional: */ +/* the API is not settled and may change with any minor Docutils version. */ + /* General Settings */ /* ================ */ -/* Suited for all screen sizes or special to small ones (mobile first). */ -/* For adaption to larger screens see media queries below */ -@viewport { - zoom: 1.0; - width: extend-to-zoom; -} + +* { box-sizing: border-box; } body { background-color: #fafaf6; -/* background-color: #fefdfb; */ - font-size: larger; - line-height: 1.4; margin: auto; + --field-indent: 6.6em; /* indent of fields in field lists */ + --sidebar-margin-right: 0; /* adapted in media queries below */ } main { counter-reset: figure table; } -main, header, footer { - padding: 0.5em 5%; - background-color: #fefefc; - max-width: 66em; -} - -main > *, section > * { - max-width: 55em; /* ca. 90…100 characters */ +body > * { + background-color: white; + line-height: 1.6; + padding: 0.5rem calc(29% - 7.2rem); /* go from 5% to 15% (8.15em/54em) */ + margin: auto; + max-width: 100rem; } -main > section, section > section { - max-width: 100%; +sup, sub { /* avoid additional inter-line space for lines with sup/sub */ + line-height: 1; } /* Vertical Space (Parskip) */ p, ol, ul, dl, li, div.line-block, -div.topic, +.topic, +.footnote, .citation, +div > math, table { margin-top: 0.5em; margin-bottom: 0.5em; } h1, h2, h3, h4, h5, h6, -dl > dd { +dl > dd, details > p:last-child { margin-bottom: 0.5em; } -/* exceptions */ -p:first-child { - margin-top: 0; -} -p:last-child { - margin-bottom: 0; -} -blockquote > table, -div.topic > table { - margin-top: 0; - margin-bottom: 0; -} /* Indented Blocks */ -blockquote, -figure, -div.topic { - /* background-color: Honeydew; */ - margin: 0.5em 2%; +blockquote, figure, .topic { + margin: 1em 2%; padding-left: 1em; } div.line-block div.line-block, -dl.option-list, -.literal-block, -pre { - /* background-color: LightCyan; */ +pre, dd, dl.option-list { margin-left: calc(2% + 1em); } /* Object styling */ /* ============== */ -footer > *, header > *, -aside.sidebar > *, .marginal > * { - font-size: smaller; +footer, header { + font-size: small; } /* Frontmatter */ -blockquote.dedication, -div.topic.dedication { +div.dedication { padding: 0; - margin-left: 0; + margin: 1.4em 0; font-style: italic; - font-size: larger; + font-size: large; } -/* div.abstract p.topic-title, */ -div.dedication p.topic-title { +.dedication p.topic-title { display: none; } blockquote p.attribution, -div.topic p.attribution { +.topic p.attribution { text-align: right; } /* Table of Contents */ -div.topic.contents { - padding: 0; +nav.contents ul { + padding-left: 1em; } -ul.auto-toc > li > p { +ul.auto-toc > li > p { /* hanging indent */ padding-left: 1em; text-indent: -1em; } -div.topic.contents ul { - padding-left: 1em; +main > nav.contents ul:not(.auto-toc) { + list-style-type: square; +} +main > nav.contents ul ul:not(.auto-toc) { + list-style-type: disc; +} +main > nav.contents ul ul ul:not(.auto-toc) { + list-style-type: '\2B29\ '; +} +main > nav.contents ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B1D\ '; +} +main > nav.contents ul ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B2A\ '; +} +nav.contents ul > li::marker { + color: grey; } /* Transitions */ @@ -416,54 +422,51 @@ hr { /* Lists */ -/* Smaller indent on small screens */ ul, ol { - padding-left: 1.1em; -} -dd { - margin-left: 1.5em; + padding-left: 1.1em; /* indent by bullet width (Firefox, DejaVu fonts) */ } -dl.field-list > dd { - margin-left: 4em; +dl.field-list > dd, +dl.docinfo > dd { + margin-left: var(--field-indent); /* adapted in media queries or HTML */ } -dl.field-list.narrow > dd, -dl.docinfo > dd, dl.option-list > dd { - margin-left: 2.4em; + margin-left: 20%; } /* run-in: start field-body on same line after long field names */ dl.field-list.run-in > dd p { display: block; } - /* "description style" like in most dictionaries, encyclopedias etc. */ +dl.description { + display: flow-root; +} dl.description > dt { clear: left; float: left; margin: 0; padding: 0; - padding-right: 0.5em; + padding-right: 0.3em; font-weight: bold; } dl.description > dd:after { - display: block; + display: table; content: ""; - clear: both; + clear: left; /* clearfix for empty descriptions */ } /* start lists nested in description/field lists on new line */ dd > dl:first-child, dd > ul:first-child, dd > ol:first-child { - clear: left; + clear: left; } + +/* disclosures */ +details { padding-left: 1em; } +summary { margin-left: -1em; } + /* Footnotes and Citations */ -/* TODO: use <aside> */ -dl.footnote { - font-size: smaller; - padding-left: 0.5em; -/* text-indent: -0.5em; */ - border-left: solid; - border-left-width: thin; +.footnote { + font-size: small; } /* Images, Figures, and Tables */ @@ -475,39 +478,36 @@ figure > img, figure > a > img { display: inline; } -table tr { - text-align: left; -} - -/* th { vertical-align: bottom; } */ -/* "booktabs" style (no vertical lines) */ -table.booktabs { - border-top: 2px solid; - border-bottom: 2px solid; -} -table.booktabs * { - border: 0; -} -table.booktabs th { - border-bottom: thin solid; -} - figcaption, table > caption { - /* font-size: smaller; */ + /* font-size: small; */ font-style: italic; } figcaption > .legend { - font-size: smaller; + font-size: small; font-style: initial; } - figure.numbered > figcaption > p:before { counter-increment: figure; content: "Figure " counter(figure) ": "; font-weight: bold; font-style: initial; } + +table tr { + text-align: left; + vertical-align: baseline; +} +table.booktabs { /* "booktabs" style (no vertical lines) */ + border-top: 2px solid; + border-bottom: 2px solid; +} +table.booktabs * { + border: 0; +} +table.booktabs th { + border-bottom: thin solid; +} table.numbered > caption:before { counter-increment: table; content: "Table " counter(table) ": "; @@ -516,19 +516,16 @@ table.numbered > caption:before { } /* Admonitions and System Messages */ -div.admonition, +.admonition, div.system-message { - box-sizing: border-box; - border-style: solid; - border-color: silver; - border-width: thin; + border: thin solid silver; margin: 1em 2%; - padding: 0.5em; + padding: 0.5em 1em; } -div.caution p.admonition-title, -div.attention p.admonition-title, -div.danger p.admonition-title, -div.warning p.admonition-title, +.caution p.admonition-title, +.attention p.admonition-title, +.danger p.admonition-title, +.warning p.admonition-title, div.error { color: maroon; } @@ -537,17 +534,19 @@ div.system-message > p > span.literal { } /* Literal and Code */ -pre { - /* font-family: Consolas, "Liberation Mono", Menlo, monospace; */ - /* font-size: 0.9em; */ - overflow: auto; - margin-right: -5%; +pre.literal-block, pre.doctest{ + padding: 0.2em; + overflow-x: auto; +} +.literal-block, .doctest, span.literal { + background-color: #f6f9f8; +} +.system-message span.literal { + background-color: inherit; } - -pre.code .ln { color: gray; } /* line numbers */ /* basic highlighting: for a complete scheme, see */ -/* http://docutils.sourceforge.net/sandbox/stylesheets/ */ +/* https://docutils.sourceforge.io/sandbox/stylesheets/ */ pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } pre.code .literal.string, code .literal.string { color: #0C5404 } @@ -555,45 +554,57 @@ pre.code .name.builtin, code .name.builtin { color: #352B84 } pre.code .deleted, code .deleted { background-color: #DEB0A1} pre.code .inserted, code .inserted { background-color: #A3D289} - - -.sans { - font-family: "Gill Sans", "Gill Sans MT", Calibri, "Lucida Sans", "Noto Sans", sans-serif; - letter-spacing: .02em; -} - /* Hyperlink References */ -/* underline that clears descenders */ a { - text-decoration: none; - text-decoration-skip-ink: auto; /* nonstandard selector */ -} -a:link{ + text-decoration: none; /* for chromium */ + /* Wrap links at any place, if this is the only way to prevent overflow */ overflow-wrap: break-word; } -/* undecorated links */ -a[href^="#system-message"], -.contents a, a.toc-backref, a.image-reference, -a.footnote-reference, a.fn-backref, .fn-backref a, -a.citation-reference { +.contents a, a.toc-backref, a.citation-reference { + overflow-wrap: inherit; +} +/* Undecorated Links (see also minimal.css) */ +/* a.citation-reference, */ +.citation a.fn-backref { color: inherit; } -a:link:hover { +a:hover { text-decoration: underline; } - +*:hover > a.toc-backref:after { + content: " \2191"; /* ↑ UPWARDS ARROW */ + color: grey; +} +*:hover > a.self-link:after { + content: "\1F517"; /* LINK SYMBOL */ + color: grey; + font-size: smaller; + margin-left: 0.2em; +} +/* highlight the target of the current URL */ +section:target > h2, section:target > h3, section:target > h4, +section:target > h5, section:target > h6, +.contents :target, +.contents:target > .topic-title, +[role="doc-biblioentry"]:target > .label, +[role="doc-biblioref"]:target, +[role="note"]:target, /* Docutils 0.18 ... 0.19 */ +[role="doc-footnote"]:target, /* Docutils >= 0.20 */ +[role="doc-noteref"]:target { + background-color: #d2e6ec; +} /* Block Alignment */ /* Let content flow to the side of aligned images and figures */ /* no floats around this elements */ -dl.footnote, dl.citation, /* errors with internal floats */ -footer, header, hr, -h1, h2, h3, .contents > p.topic-title { +footer, header, hr, +h1, h2, h3 { clear: both; } img.align-left, +video.align-left, figure.align-left, table.align-left { margin-left: 0; @@ -603,151 +614,210 @@ table.align-left { float: left; } img.align-right, +video.align-right, figure.align-right, table.align-right { margin-left: 0.5em; + margin-right: 0; clear: right; float: right; } /* Margin Elements */ /* see below for screen size dependent rules */ -aside.sidebar { -/* overwrite minimal.css */ - width: auto; - max-width: 100%; -/* float: none; */ -} -aside.sidebar, +.sidebar, .marginal, -.admonition.marginal, -.topic.marginal { +.admonition.marginal { + max-width: 40%; + border: none; background-color: #efefea; - box-sizing: border-box; - margin: 0.5em 0; + margin: 0.5em var(--sidebar-margin-right) 0.5em 1em; padding: 0.5em; + padding-left: 0.7em; clear: right; + float: right; + font-size: small; +} +.sidebar { + width: 40%; } -/* Adaptive page layout */ +/* Math */ +/* for math-output=MathML (for math-output=HTML, see math.css) */ +math .boldsymbol { + font-weight: bold; +} +mstyle.mathscr, mi.mathscr { + font-family: STIX; +} -/* larger margins and floating elements moderately small screens */ -/* main text more than around 40 characters/line */ -@media (min-width: 35em) { - /* wider margins */ - main, header, footer { - padding: 0.5em calc(20% - 5rem); - line-height: 1.6 - } - pre { - margin-right: calc(5rem - 20%); +/* Adaptive page layout */ +/* ==================== */ + +@media (max-width: 30em) { + /* Smaller margins and no floating elements for small screens */ + /* (main text less than 40 characters/line) */ + body > * { + padding: 0.5rem 5%; + line-height: 1.4 } - /* floating margin elements */ - aside.sidebar, + .sidebar, .marginal, - .admonition.marginal, - .topic.marginal { - max-width: min(45%, 18em); - margin-left: 1em; - clear: right; - float: right; + .admonition.marginal { + width: auto; + max-width: 100%; + float: none; } - /* more indent for field-list values */ - dl.field-list > dd, - dl.docinfo > dd { - margin-left: 6.4em; + dl.option-list, + pre { + margin-left: 0; } - dl.option-list > dd { - margin-left: 5em; + body { + --field-indent: 4em; } -} - -@media (min-width: 65em) { - /* 2 column layout with wide margin */ - main, header, footer { - padding: 0.5em 15%; + dl.field-list.narrow, dl.docinfo, dl.option-list { + --field-indent: 2.4em; } - aside.sidebar, - .marginal, - .admonition.marginal, - .topic.marginal { - background-color: inherit; - /* background-color: lavender; */ - margin-right: -18%; - padding: 0; + pre, pre * { + font-size: 0.9em; + /* overflow: auto; */ } - .admonition.marginal { padding: 0.5em; } } -/* Move ToC to the left */ -@media (min-width: 100em) { - main, header, footer { - padding-left: min(30%, 36em); +@media (min-width: 54em) { + /* Move ToC to the left */ + /* Main text width before: 70% ≙ 35em ≙ 75…95 chrs (Dejavu/Times) */ + /* after: ≳ 30em ≙ 54…70 chrs (Dejavu/Times) */ + body.with-toc { + padding-left: 8%; + } + body.with-toc > * { + margin-left: 0; + padding-left: 22rem; /* fallback for webkit */ + padding-left: min(22%, 22rem); + padding-right: 7%; } - main > div.topic.contents { + main > nav.contents { /* global ToC */ position: fixed; top: 0; left: 0; - box-sizing: border-box; - width: min(25%, 28em); + width: min(25%, 25em); height: 100vh; margin: 0; background-color: #fafaf6; - padding: 5.5em 2%; + padding: 1em 2% 0 2%; overflow: auto; } - main > div.topic.contents > * { + main > nav.contents > * { padding-left: 0; + line-height: 1.4; + } + main > nav.contents a { + color: inherit; + } +} + +@media (min-width: 70em) { + body { + --field-indent: 9em; + } +} + +@media (min-width: 77em) { + /* Move marginalia to 6rem from right border */ + /* .sidebar, */ + /* .marginal, */ + /* .admonition.marginal { */ + /* margin-right: calc(6rem - 15%); */ + /* } */ + /* BUG: margin is calculated for break point width */ + /* workaround: variable + many breakpoints */ + body > * { + padding-left: 18%; + padding-right: 28%; /* fallback for webkit */ + padding-right: min(28%, 28rem); + --sidebar-margin-right: -20rem; + } + /* limit main text to ~ 50em ≙ 85…100 characters DejaVu rsp. …120 Times */ + body.with-toc > * { + padding-left: min(22%, 22rem); + padding-right: calc(78% - 50rem); /* fallback for webkit */ + padding-right: min(78% - 50rem, 28rem); + --sidebar-margin-right: 0; + } +} + +@media (min-width: 85em) { + body.with-toc > * { + --sidebar-margin-right: -9rem; + } +} + +@media (min-width: 90em) { + /* move marginalia into the margin */ + body > * { + padding-left: min(22%, 22rem); + --sidebar-margin-right: -23rem; + } + body.with-toc > * { + --sidebar-margin-right: -14rem; + } +} + +@media (min-width: 99em) { + /* move marginalia out of main text area */ + body.with-toc > * { + --sidebar-margin-right: -20rem; + } + body > *, body.with-toc > * { /* for webkit */ + padding-left: 22rem; + padding-right: 28rem; + } + .admonition.marginal, + .marginal { + width: 40%; /* make marginal figures, ... "full width" */ + } +} + +@media (min-width: 104em) { + body.with-toc > * { + --sidebar-margin-right: -23rem; } - -/* marginal elements outside of main text */ -@media (min-width: 126em) { - aside.sidebar, - figure.marginal, - .topic.marginal, - p.marginal { - width: min(45%, 18em); - } } </style> </head> -<body> +<body class="with-toc"> <main id="textalpha-sty"> <h1 class="title">textalpha.sty</h1> <p class="subtitle" id="greek-symbols-in-text">Greek symbols in text</p> <dl class="docinfo"> -<dt class="copyright">Copyright</dt> +<dt class="copyright">Copyright<span class="colon">:</span></dt> <dd class="copyright">© 2010 Günter Milde</dd> -<dt class="licence">Licence</dt> +<dt class="licence">Licence<span class="colon">:</span></dt> <dd class="licence"><p>This work may be distributed and/or modified under the conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either version 1.3 of this license or any later version.</p> </dd> -<dt class="identification">Identification</dt> +<dt class="identification">Identification<span class="colon">:</span></dt> <dd class="identification"><pre class="literal-block">\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{textalpha} -[2020/10/30 2.0 macros for Greek letters in text]</pre> +[2023/02/28 2.2 macros for Greek letters in text]</pre> </dd> </dl> -<div class="abstract topic"> +<div class="topic abstract" role="doc-abstract"> <p class="topic-title">Abstract</p> <p>Provide a set of <span class="docutils literal">\text*</span> macros for Greek characters in text mode.</p> </div> -<div class="admonition note"> +<aside class="admonition note"> <p class="admonition-title">Note</p> <p>The package was renamed from <cite>textgreek</cite> to <cite>textalpha</cite> to prevent -confusion with the <a class="reference external" href="http://ctan.org/pkg/textgreek">textgreek</a> package by Leonard Michlmayr.</p> -</div> +confusion with the <a class="reference external" href="https://ctan.org/pkg/textgreek">textgreek</a> package by Leonard Michlmayr.</p> +</aside> <dl> <dt>Changelog:</dt> <dd><table class="borderless"> -<colgroup> -<col style="width: 8%" /> -<col style="width: 14%" /> -<col style="width: 78%" /> -</colgroup> <tbody> <tr><td><p>0.1</p></td> <td><p>2010-06-16</p></td> @@ -766,10 +836,13 @@ confusion with the <a class="reference external" href="http://ctan.org/pkg/textg <td><p>use <span class="docutils literal">lgrenc.def</span> from greek-fontenc.</p></td> </tr> <tr><td><p>0.5</p></td> -<td><p>2013-09-11 -..</p></td> -<td><p>move to <a class="reference external" href="http://ctan.org/pkg/greek-fontenc">greek-fontenc</a>, -support XeTeX/LuaTeX, add breve below accents.</p></td> +<td><p>2013-09-11</p></td> +<td><p>move to <a class="reference external" href="https://ctan.org/pkg/greek-fontenc">greek-fontenc</a>,</p></td> +</tr> +<tr><td><!-- --> +</td> +<td></td> +<td><p>support XeTeX/LuaTeX, add breve below accents.</p></td> </tr> <tr><td><p>0.11</p></td> <td><p>2013-11-28</p></td> @@ -781,10 +854,13 @@ support XeTeX/LuaTeX, add breve below accents.</p></td> define symbol macros for breathing accents.</p></td> </tr> <tr><td><p>0.13</p></td> -<td><p>2015-09-04 -..</p></td> -<td><p>Option <a class="reference internal" href="#normalize-symbols">normalize-symbols</a>: support for symbol variants. -Option <a class="reference internal" href="#keep-semicolon">keep-semicolon</a>: use semicolon as erotimatiko +<td><p>2015-09-04</p></td> +<td><p>Option <a class="reference internal" href="#normalize-symbols">normalize-symbols</a>: support for symbol variants.</p></td> +</tr> +<tr><td><!-- --> +</td> +<td></td> +<td><p>Option <a class="reference internal" href="#keep-semicolon">keep-semicolon</a>: use semicolon as erotimatiko in LGR.</p></td> </tr> <tr><td><p>0.13.2</p></td> @@ -807,50 +883,58 @@ Don’t use <span class="docutils literal">\LastDeclaredEncoding</span>.</p></td <td><p>Also set <span class="docutils literal">\encodingdefault</span> with <span class="docutils literal">\greekscript</span>.</p></td> </tr> <tr><td><p>2.0</p></td> -<td><p>2020-10-30 -..</p></td> -<td><p>Load <span class="docutils literal"><span class="pre">tuenc-greek.def</span></span> with Xe/LuaTeX by default. -Load <span class="docutils literal"><span class="pre">puenc-greek.def</span></span> if used with <a class="reference external" href="http://ctan.org/pkg/hyperref">hyperref</a>.</p></td> +<td><p>2020-10-30</p></td> +<td><p>Load <span class="docutils literal"><span class="pre">tuenc-greek.def</span></span> with Xe/LuaTeX by default.</p></td> +</tr> +<tr><td><!-- --> +</td> +<td></td> +<td><p>Load <span class="docutils literal"><span class="pre">puenc-greek.def</span></span> if used with <a class="reference external" href="https://ctan.org/pkg/hyperref">hyperref</a>.</p></td> +</tr> +<tr><td><p>2.2</p></td> +<td><p>2023-02-28</p></td> +<td><p>Don’t use <span class="docutils literal">\makeatother</span> in <span class="docutils literal">\AtBeginDocument</span>.</p></td> </tr> </tbody> </table> </dd> </dl> -<div class="contents topic" id="contents"> +<nav class="contents" id="contents" role="doc-toc"> <p class="topic-title">Contents</p> <ul class="simple"> -<li><p><a class="reference internal" href="#motivation" id="id1">Motivation</a></p></li> -<li><p><a class="reference internal" href="#usage" id="id2">Usage</a></p></li> -<li><p><a class="reference internal" href="#implementation" id="id3">Implementation</a></p> +<li><p><a class="reference internal" href="#motivation" id="toc-entry-1">Motivation</a></p></li> +<li><p><a class="reference internal" href="#usage" id="toc-entry-2">Usage</a></p></li> +<li><p><a class="reference internal" href="#implementation" id="toc-entry-3">Implementation</a></p> <ul> -<li><p><a class="reference internal" href="#options" id="id4">Options</a></p> +<li><p><a class="reference internal" href="#options" id="toc-entry-4">Options</a></p> <ul> -<li><p><a class="reference internal" href="#normalize-symbols" id="id5">normalize-symbols</a></p></li> -<li><p><a class="reference internal" href="#keep-semicolon" id="id6">keep-semicolon</a></p></li> +<li><p><a class="reference internal" href="#normalize-symbols" id="toc-entry-5">normalize-symbols</a></p></li> +<li><p><a class="reference internal" href="#keep-semicolon" id="toc-entry-6">keep-semicolon</a></p></li> </ul> </li> -<li><p><a class="reference internal" href="#symbol-macros-for-breathings" id="id7">Symbol macros for breathings</a></p></li> -<li><p><a class="reference internal" href="#font-encodings" id="id8">Font encodings</a></p></li> -<li><p><a class="reference internal" href="#default-declarations" id="id9">Default declarations</a></p> +<li><p><a class="reference internal" href="#symbol-macros-for-breathings" id="toc-entry-7">Symbol macros for breathings</a></p></li> +<li><p><a class="reference internal" href="#font-encodings" id="toc-entry-8">Font encodings</a></p></li> +<li><p><a class="reference internal" href="#default-declarations" id="toc-entry-9">Default declarations</a></p> <ul> -<li><p><a class="reference internal" href="#greekscript-ensuregreek" id="id10">greekscript, ensuregreek</a></p></li> -<li><p><a class="reference internal" href="#greek-alphabet" id="id11">Greek Alphabet</a></p></li> -<li><p><a class="reference internal" href="#additional-greek-symbols" id="id12">Additional Greek symbols</a></p> +<li><p><a class="reference internal" href="#greekscript-ensuregreek" id="toc-entry-10">greekscript, ensuregreek</a></p></li> +<li><p><a class="reference internal" href="#greek-alphabet" id="toc-entry-11">Greek Alphabet</a></p></li> +<li><p><a class="reference internal" href="#additional-greek-symbols" id="toc-entry-12">Additional Greek symbols</a></p> <ul> -<li><p><a class="reference internal" href="#variant-shape-symbols" id="id13">variant shape symbols</a></p></li> +<li><p><a class="reference internal" href="#variant-shape-symbols" id="toc-entry-13">variant shape symbols</a></p></li> </ul> </li> -<li><p><a class="reference internal" href="#diacritics" id="id14">Diacritics</a></p></li> -<li><p><a class="reference internal" href="#auxiliary-macros" id="id15">Auxiliary macros</a></p></li> -<li><p><a class="reference internal" href="#semicolon-as-erotimatiko" id="id16">semicolon as erotimatiko</a></p></li> +<li><p><a class="reference internal" href="#diacritics" id="toc-entry-14">Diacritics</a></p></li> +<li><p><a class="reference internal" href="#auxiliary-macros" id="toc-entry-15">Auxiliary macros</a></p></li> +<li><p><a class="reference internal" href="#semicolon-as-erotimatiko" id="toc-entry-16">semicolon as erotimatiko</a></p></li> </ul> </li> </ul> </li> +<li><p><a class="reference internal" href="#todo" id="toc-entry-17">TODO</a></p></li> </ul> -</div> +</nav> <section id="motivation"> -<h2><a class="toc-backref" href="#id1">Motivation</a></h2> +<h2><a class="toc-backref" href="#toc-entry-1" role="doc-backlink">Motivation</a></h2> <p>By default, TeX macros for Greek letters are only valid in mathematical mode. This package sets up a suitable <a class="reference internal" href="#font-encoding">font encoding</a> and <cite>LaTeX internal character representations</cite> (LICR) definitions for Greek (<span class="docutils literal">\textalpha</span> – @@ -862,40 +946,40 @@ and does “the right thing” to set up Greek text font support:</p> <li><p>If an Unicode font encoding is declared by <span class="docutils literal">fontspec</span>, add Greek LICR definitions.</p></li> <li><p>Otherwise, the <a class="reference external" href="README.html#lgr">LGR font encoding</a> is set as <cite>default font encoding</cite> -(cf. <a class="reference external" href="http://mirror.ctan.org/macros/latex/base/fntguide.pdf">fntguide</a> section 5.3) for Greek.</p></li> +(cf. <a class="reference external" href="https://mirrors.ctan.org/macros/latex/base/fntguide.pdf">fntguide</a> section 5.3) for Greek.</p></li> </ul> <p>Advantages:</p> <ul> -<li><p>Symbols from a Greek text font (e.g. the <a class="reference external" href="http://ctan.org/pkg/cbgreek-complete">CB fonts</a>) can be accessed +<li><p>Symbols from a Greek text font (e.g. the <a class="reference external" href="https://ctan.org/pkg/cbgreek-complete">CB fonts</a>) can be accessed without the need for an explicite font-encoding switch anywhere in the text.</p></li> <li><p>Unicode input of Greek characters is supported</p> <ul> <li><p>via <span class="docutils literal"><span class="pre">\usepackage[utf8]{inputenc}</span></span> and <span class="docutils literal">lgrenc.dfu</span> from -<a class="reference external" href="http://ctan.org/pkg/greek-inputenc">greek-inputenc</a> for 8-bit TeX or XeTeX/LuaTeX in 8-bit compatibility +<a class="reference external" href="https://ctan.org/pkg/greek-inputenc">greek-inputenc</a> for 8-bit TeX or XeTeX/LuaTeX in 8-bit compatibility mode in any font encoding (see <a class="reference external" href="textalpha-doc.tex">textalpha-doc.tex</a>).</p></li> <li><p>natively by XeTeX/LuaTeX for Unicode fonts.</p> <p>If 8-bit font encodings like LGR are used alongside Unicode fonts, text -input can be done via the Latin transcription or LICR but <em>not via +input can be done via the Latin transliteration or LICR but <em>not via literal Unicode characters</em> (see <a class="reference external" href="test-tuenc-greek.tex">test-tuenc-greek.tex</a>).</p> </li> </ul> </li> </ul> -<div class="admonition attention"> +<aside class="admonition attention" id="limitations"> <p class="admonition-title">Attention!</p> <p>The macros work well in any font encoding for single symbols. However, with 8-bit TeX engines, the automatic font-encoding switches behind the doors interfere with kerning between letters and replacement of accent+character with a pre-composed character.</p> -<p>Therefore, Greek text should be written with the help of <a class="reference external" href="http://ctan.org/pkg/babel">babel</a> or -<a class="reference external" href="http://ctan.org/pkg/polyglossia">polyglossia</a> (setting the language to <span class="docutils literal">greek</span>) or wrapped in the -provided <span class="docutils literal">ensuregreek</span> macro. Using <a class="reference external" href="http://ctan.org/pkg/babel">babel</a> or <a class="reference external" href="http://ctan.org/pkg/polyglossia">polyglossia</a> also helps +<p>Therefore, Greek text should be written with the help of <a class="reference external" href="https://ctan.org/pkg/babel">babel</a> or +<a class="reference external" href="https://ctan.org/pkg/polyglossia">polyglossia</a> (setting the language to <span class="docutils literal">greek</span>) or wrapped in the +provided <span class="docutils literal">ensuregreek</span> macro. Using <a class="reference external" href="https://ctan.org/pkg/babel">babel</a> or <a class="reference external" href="https://ctan.org/pkg/polyglossia">polyglossia</a> also helps to ensure correct hyphenation of Greek text.</p> -</div> +</aside> </section> <section id="usage"> -<h2><a class="toc-backref" href="#id2">Usage</a></h2> +<h2><a class="toc-backref" href="#toc-entry-2" role="doc-backlink">Usage</a></h2> <p>Ensure support for Greek characters in text mode with</p> <pre class="code latex literal-block"><code><span class="keyword">\usepackage</span><span class="name builtin">{</span>textalpha<span class="name builtin">}</span></code></pre> <p>eventually with the <a class="reference internal" href="#options">options</a> to normalize symbols variants</p> @@ -903,7 +987,7 @@ to ensure correct hyphenation of Greek text.</p> <p>and/or to use the semicolon as <a class="reference external" href="https://en.wikipedia.org/wiki/Question_mark#Erotimatiko">erotimatiko</a> also in 8-bit TeX</p> <pre class="code latex literal-block"><code><span class="keyword">\usepackage</span><span class="name attribute">[normalize-symbols,keep-semicolon]</span><span class="name builtin">{</span>textalpha<span class="name builtin">}</span></code></pre> <p>To give <span class="docutils literal">textalpha.sty</span> a chance of finding out which <a class="reference internal" href="#font-encodings">font encodings</a> -are used, load it after <a class="reference external" href="http://ctan.org/pkg/fontspec">fontspec</a> and/or <a class="reference external" href="http://ctan.org/pkg/fontenc">fontenc</a>.</p> +are used, load it after <a class="reference external" href="https://ctan.org/pkg/fontspec">fontspec</a> and/or <a class="reference external" href="https://ctan.org/pkg/fontenc">fontenc</a>.</p> <p>For detailled examples see <a class="reference external" href="textalpha-doc.tex">textalpha-doc.tex</a> and <a class="reference external" href="textalpha-doc.pdf">textalpha-doc.pdf</a> (8-bit TeX and XeTeX/LuaTeX in 8-bit compatibility mode) as well as <a class="reference external" href="test-tuenc-greek.tex">test-tuenc-greek.tex</a> and <a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a> (XeTeX/LuaTeX with @@ -912,11 +996,11 @@ Unicode fonts).</p> in the same document (see <a class="reference external" href="test-tuenc-greek.tex">test-tuenc-greek.tex</a>).</p> </section> <section id="implementation"> -<h2><a class="toc-backref" href="#id3">Implementation</a></h2> +<h2><a class="toc-backref" href="#toc-entry-3" role="doc-backlink">Implementation</a></h2> <section id="options"> -<h3><a class="toc-backref" href="#id4">Options</a></h3> +<h3><a class="toc-backref" href="#toc-entry-4" role="doc-backlink">Options</a></h3> <section id="normalize-symbols"> -<h4><a class="toc-backref" href="#id5">normalize-symbols</a></h4> +<h4><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">normalize-symbols</a></h4> <p>The “variant shape” symbol characters like <span class="docutils literal">03D1 GREEK THETA SYMBOL</span> are mathematical charcters for mathematical use (similar to <span class="docutils literal">1D440 MATHEMATICAL ITALIC CAPITAL M</span>). @@ -937,7 +1021,7 @@ errors to prevent information loss in cases where the distinction between \DeclareOption{normalize-symbols}{\textalpha@normalizeSymbolstrue}</pre> </section> <section id="keep-semicolon"> -<h4><a class="toc-backref" href="#id6">keep-semicolon</a></h4> +<h4><a class="toc-backref" href="#toc-entry-6" role="doc-backlink">keep-semicolon</a></h4> <p>The <a class="reference external" href="https://en.wikipedia.org/wiki/Question_mark#Erotimatiko">erotimatiko</a> looks like a semicolon but is a <strong>Greek question mark</strong>:</p> <ul class="simple"> @@ -958,8 +1042,8 @@ With XeTeX/LuaTeX and Unicode fonts, this option is ignored.</p> </section> </section> <section id="symbol-macros-for-breathings"> -<span id="font-encoding"></span><h3><a class="toc-backref" href="#id7">Symbol macros for breathings</a></h3> -<p>In the Latin transcription provided by LGR, breathing accents (Dasia and +<span id="font-encoding"></span><h3><a class="toc-backref" href="#toc-entry-7" role="doc-backlink">Symbol macros for breathings</a></h3> +<p>In the Latin transliteration provided by LGR, breathing accents (Dasia and Psili) are input as < and >. Provide the corresponding NFSS macro accents. (Used below for LGR, TU, and PU, if these font encodings are defined):</p> <pre class="literal-block">\newcommand{\textalpha@define@breathings}[1]{ @@ -975,14 +1059,14 @@ Psili) are input as < and >. Provide the corresponding NFSS macro accents. }</pre> </section> <section id="font-encodings"> -<h3><a class="toc-backref" href="#id8">Font encodings</a></h3> +<h3><a class="toc-backref" href="#toc-entry-8" role="doc-backlink">Font encodings</a></h3> <p>With 8-bit LaTeX, the <a class="reference external" href="README.html#lgr">LGR font encoding</a> is used for Greek characters. If no Greek-supporting font encoding (TU or LGR) is declared, LGR is loaded and set up as default Greek font encoding by this package.</p> <p>With XeTeX or LuaTeX, there is one common input and font encoding – Unicode. 8-bit TeX font encodings are only used in compatibility mode or for fonts not available otherwise. For compatibility with the LaTeX font -selection system, <a class="reference external" href="http://ctan.org/pkg/fontspec">fontspec</a> defines the TU font encoding. However +selection system, <a class="reference external" href="https://ctan.org/pkg/fontspec">fontspec</a> defines the TU font encoding. However <cite>fontspec</cite> does not define Greek LICR macros. We therefore explicitely load Greek LICR definitions for XeTeX/LuaTeX from <a class="reference external" href="tuenc-greek.def.html">tuenc-greek.def</a> which in turn includes <a class="reference external" href="greek-fontenc.def.html">greek-fontenc.def</a>.</p> <p>Ensure a Greek-supporting font encoding exists and supports Greek LICR @@ -996,47 +1080,52 @@ Xe/LuaTeX and <span class="docutils literal">lgrenc.def</span> else.</p></li> <pre class="literal-block">\ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines \input{tuenc-greek.def} \textalpha@define@breathings{\UnicodeEncodingName} + \DeclareTextCompositeCommand{\<}{\UnicodeEncodingName}{^^9f}{\LGR@hiatus} + \DeclareTextCompositeCommand{\>}{\UnicodeEncodingName}{^^9f}{\LGR@hiatus} \else - \@ifl@aded{def}{lgrenc}{}{% else - \input{lgrenc.def} + \@ifl@aded{def}{lgrenc} + {} + {\input{lgrenc.def} } - \textalpha@define@breathings{LGR} - % Hiatus feature (see greek-fontenc.def and babel-greek (greek.ldf)) - \DeclareTextCompositeCommand{\<}{LGR}{^^9f}{\LGR@hiatus} - \DeclareTextCompositeCommand{\>}{LGR}{^^9f}{\LGR@hiatus} \fi</pre> <p>LGR may also be used in a document compiled with Xe/LuaTeX -(enables use of 8-bit TeX fonts and input via the Latin transcription). +(enables use of 8-bit TeX fonts and input via the Latin transliteration). Add setup for breathings:</p> -<pre class="literal-block">\@ifl@aded{def}{lgrenc}{ - \textalpha@define@breathings{LGR} - % Hiatus feature (see greek-fontenc.def and babel-greek (greek.ldf)) - \DeclareTextCompositeCommand{\<}{LGR}{^^9f}{\LGR@hiatus} - \DeclareTextCompositeCommand{\>}{LGR}{^^9f}{\LGR@hiatus} -}{}</pre> -<p>The package <a class="reference external" href="http://ctan.org/pkg/hyperref">hyperref</a> defines the PU font encoding which also supports -(monotonic) Greek. It currently misses polytonic greek, archaic symbols, +<pre class="literal-block">\@ifl@aded{def}{lgrenc} + {\textalpha@define@breathings{LGR} + % Hiatus feature (see greek-fontenc.def and babel-greek (greek.ldf)) + \DeclareTextCompositeCommand{\<}{LGR}{^^9f}{\LGR@hiatus} + \DeclareTextCompositeCommand{\>}{LGR}{^^9f}{\LGR@hiatus} + } + {}</pre> +<p>The package <a class="reference external" href="https://ctan.org/pkg/hyperref">hyperref</a> defines the PU font encoding and adds some +LICR commands for monotonic Greek (in punenc-greekbasick.def). +Add support for polytonic Greek, archaic symbols, and the <span class="docutils literal">\greekscript</span> and <span class="docutils literal">\ensuregreek</span> TextCommands:</p> <pre class="literal-block">\AtBeginDocument{ - \@ifl@aded{def}{puenc}{ - \makeatletter % required inside \AtBeginDocument - \input{puenc-greek.def} - \textalpha@define@breathings{PU} - \pdfstringdefDisableCommands{\let\TextOrMath\@firstoftwo} - \makeatother - }{} -}</pre> -<p>The package textcomp defines the TS1 font encoding with the MICRO SIGN -named <span class="docutils literal">\texmu</span>. Provide the alias <span class="docutils literal">\textmicro</span>:</p> -<pre class="literal-block">\AtBeginDocument{ - \@ifl@aded{def}{ts1enc}{ - \DeclareTextSymbol{\textmicro}{TS1}{181} % micro sign - \DeclareTextSymbolDefault{\textmicro}{TS1} - }{} + \@ifl@aded{def}{puenc} + {\@ifl@aded{def}{puenc-greek} + {}% already loaded (e.g. by babel-greek) + {\edef\RestoreAtCatcode{\catcode`@=\the\catcode`@\relax}% + \makeatletter + \input{puenc-greek.def} + \RestoreAtCatcode + }% + \textalpha@define@breathings{PU} + \pdfstringdefDisableCommands{\let\TextOrMath\@firstoftwo} + } + {} }</pre> +<p>The TS1 font encoding (available by default since 2022) provides a +MICRO SIGN under the name <span class="docutils literal">\textmu</span> but we use this name for the +GREEK SMALL LETTER MU. +The new macro <span class="docutils literal">\textmicro</span> selects the character from TS1 fonts +and is not capitalised with <span class="docutils literal">\MakeUppercase</span>:</p> +<pre class="literal-block">\DeclareTextSymbol{\textmicro}{TS1}{181} % micro sign +\DeclareTextSymbolDefault{\textmicro}{TS1}</pre> </section> <section id="default-declarations"> -<h3><a class="toc-backref" href="#id9">Default declarations</a></h3> +<h3><a class="toc-backref" href="#toc-entry-9" role="doc-backlink">Default declarations</a></h3> <p>The following definitions ensure that the Greek LICR macros can be used anywhere in the document also with 8-bit TeX by declaring LGR as their default font encoding. Abort here, if the LGR font encoding is not defined:</p> @@ -1044,16 +1133,16 @@ default font encoding. Abort here, if the LGR font encoding is not defined:</p> \expandafter\endinput }</pre> <section id="greekscript-ensuregreek"> -<h4><a class="toc-backref" href="#id10">greekscript, ensuregreek</a></h4> +<h4><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">greekscript, ensuregreek</a></h4> <p>The <span class="docutils literal">\greekscript</span> declaration ensures the current font encoding supports the Greek script. <span class="docutils literal"><span class="pre">greek-fontenc.def</span></span> sets this to the empty declaration for font encodings that do so. This is currently used by <span class="docutils literal">lgrenc.def</span> (LGR) and <span class="docutils literal"><span class="pre">tuenc-greek.def</span></span> (Greek LICR macros for TU, EU1, or EU2).</p> <p>We define LGR as default encoding for Greek text. We use <span class="docutils literal">\ProvideTextCommandDefault</span> to enable the author or other packages to use -an alternative definition (see [<a class="reference external" href="http://mirror.ctan.org/macros/latex/base/fntguide.pdf">fntguide</a>]):</p> +an alternative definition (see [<a class="reference external" href="https://mirrors.ctan.org/macros/latex/base/fntguide.pdf">fntguide</a>]):</p> <pre class="literal-block">\ProvideTextCommandDefault{\greekscript}{\fontencoding{LGR}\selectfont - \def\encodingdefault{\greekfontencoding}}</pre> + \def\encodingdefault{LGR}}</pre> <p>The <span class="docutils literal">\ensuregreek</span> command can be used to ensure that its argument is set in a font encoding with support for Greek. Again the default is LGR:</p> <pre class="literal-block">\ProvideTextCommandDefault{\ensuregreek}[1]{\leavevmode{\greekscript #1}}</pre> @@ -1074,7 +1163,7 @@ argument unchanged. This way, kerning and selection of precomposed glyphs would work also for cases like <span class="docutils literal"><span class="pre">\ensuregreek{\'A}U</span></span>.</p> </section> <section id="greek-alphabet"> -<h4><a class="toc-backref" href="#id11">Greek Alphabet</a></h4> +<h4><a class="toc-backref" href="#toc-entry-11" role="doc-backlink">Greek Alphabet</a></h4> <p>Define the <span class="docutils literal">text*</span> marcos as default for all font encodings:</p> <pre class="literal-block">\DeclareTextSymbolDefault{\textAlpha}{LGR} \DeclareTextSymbolDefault{\textBeta}{LGR} @@ -1113,6 +1202,7 @@ would work also for cases like <span class="docutils literal"><span class="pre"> \DeclareTextSymbolDefault{\textkappa}{LGR} \DeclareTextSymbolDefault{\textlambda}{LGR} \DeclareTextSymbolDefault{\textmu}{LGR} +\DeclareTextSymbolDefault{\textmugreek}{LGR} % (puenc.def) \DeclareTextSymbolDefault{\textnu}{LGR} \DeclareTextSymbolDefault{\textxi}{LGR} \DeclareTextSymbolDefault{\textomicron}{LGR} @@ -1130,7 +1220,7 @@ would work also for cases like <span class="docutils literal"><span class="pre"> \DeclareTextSymbolDefault{\textomega}{LGR}</pre> </section> <section id="additional-greek-symbols"> -<h4><a class="toc-backref" href="#id12">Additional Greek symbols</a></h4> +<h4><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">Additional Greek symbols</a></h4> <p>Including alias names for compatibility with hyperref’s puenc.def.</p> <p>Ancient Greek Numbers (Athenian Numerals):</p> <pre class="literal-block">\DeclareTextSymbolDefault{\textpentedeka}{LGR} % GREEK ACROPHONIC ATTIC FIFTY @@ -1144,6 +1234,7 @@ would work also for cases like <span class="docutils literal"><span class="pre"> \DeclareTextSymbolDefault{\textkoppa}{LGR} % ϟ Greek small letter koppa \DeclareTextSymbolDefault{\textkoppagreek}{LGR} % ϟ (puenc.def) \DeclareTextSymbolDefault{\textKoppa}{LGR} % ϟ Greek letter koppa (numeral koppa) +\DeclareTextSymbolDefault{\textKoppagreek}{LGR} % ϟ (puenc.def) \DeclareTextSymbolDefault{\textqoppa}{LGR} % ϙ (archaic koppa) \DeclareTextSymbolDefault{\textQoppa}{LGR} % Ϙ (archaic Koppa) \DeclareTextSymbolDefault{\textStigma}{LGR} % Ϛ ϹΤ ligature in some fonts @@ -1164,7 +1255,7 @@ would work also for cases like <span class="docutils literal"><span class="pre"> \DeclareTextSymbolDefault{\textaristerikeraia}{LGR} % ͵ (Aristeri keraia) \DeclareTextSymbolDefault{\textnumeralsignlowergreek}{LGR} % (puenc.def)</pre> <section id="variant-shape-symbols"> -<h5><a class="toc-backref" href="#id13">variant shape symbols</a></h5> +<h5><a class="toc-backref" href="#toc-entry-13" role="doc-backlink">variant shape symbols</a></h5> <p>Mathematical notation uses variant shapes of some Greek letters as additional symbols. There are separate code points for the symbol variants in Unicode but not in the LGR font encoding used for Greek in 8-bit TeX. @@ -1191,7 +1282,7 @@ The variations have no syntactic meaning in Greek text.</p> </section> </section> <section id="diacritics"> -<h4><a class="toc-backref" href="#id14">Diacritics</a></h4> +<h4><a class="toc-backref" href="#toc-entry-14" role="doc-backlink">Diacritics</a></h4> <p>Greek diacritics via “named” macros:</p> <pre class="literal-block">\DeclareTextAccentDefault{\accdasia}{LGR} \DeclareTextAccentDefault{\accpsili}{LGR} @@ -1213,15 +1304,15 @@ The variations have no syntactic meaning in Greek text.</p> <pre class="literal-block">\DeclareTextAccentDefault{\<}{LGR} \DeclareTextAccentDefault{\>}{LGR}</pre> <p>Postfix accents:</p> -<pre class="literal-block">\DeclareTextSymbolDefault{\ypogegrammeni}{LGR} % "small" sub-iota -\DeclareTextSymbolDefault{\prosgegrammeni}{LGR} % "capital" sub-iota</pre> +<pre class="literal-block">\DeclareTextSymbolDefault{\ypogegrammeni}{LGR} % subscript mute iota (combining) +\DeclareTextSymbolDefault{\prosgegrammeni}{LGR} % adscript mute iota (spacing)</pre> <p>Other accents in LGR:</p> <pre class="literal-block">\DeclareTextAccentDefault{\accinvertedbrevebelow}{LGR} % INVERTED BREVE BELOW \DeclareTextAccentDefault{\textsubarch}{LGR} % tipa, Teubner name: ut \DeclareTextAccentDefault{\accbrevebelow}{LGR} % BREVE BELOW</pre> </section> <section id="auxiliary-macros"> -<h4><a class="toc-backref" href="#id15">Auxiliary macros</a></h4> +<h4><a class="toc-backref" href="#toc-entry-15" role="doc-backlink">Auxiliary macros</a></h4> <p><span class="docutils literal">\MakeUppercase</span> requires four internal commands:</p> <pre class="literal-block">\DeclareTextAccentDefault{\LGR@accdropped}{LGR} \DeclareTextAccentDefault{\LGR@accDialytika}{LGR} @@ -1229,7 +1320,7 @@ The variations have no syntactic meaning in Greek text.</p> \DeclareTextSymbolDefault{\LGR@ypogegrammeni}{LGR}</pre> </section> <section id="semicolon-as-erotimatiko"> -<h4><a class="toc-backref" href="#id16">semicolon as erotimatiko</a></h4> +<h4><a class="toc-backref" href="#toc-entry-16" role="doc-backlink">semicolon as erotimatiko</a></h4> <p>The text command <span class="docutils literal">\textsemicolon</span> inserts <span class="docutils literal">\texterotimatiko</span> in LGR font encoding and a “normal” semicolon else:</p> <pre class="literal-block">\ProvideTextCommandDefault{\textsemicolon}{;} @@ -1241,11 +1332,32 @@ in LGR font encoding and a “normal” semicolon else:</p> \catcode`;=\active \newcommand{;}{\textsemicolon} \fi</pre> -<!-- References -- - - - - - - - - - --> </section> </section> </section> +<section id="todo"> +<h2><a class="toc-backref" href="#toc-entry-17" role="doc-backlink">TODO</a></h2> +<ul> +<li><p>Load <span class="docutils literal">lgrenc.def</span> rsp. <span class="docutils literal"><span class="pre">tuenc-greek.def</span></span> after the common definitions +and after <span class="docutils literal"><span class="pre">puenc-greek.def</span></span>?</p> +<blockquote> +<p>If an encoding-specific command is defined for more than one encoding, +then it will execute fastest in the encoding in which it was defined +last since its top-level definition will be set up to execute in that +encoding without any overhead.</p> +<p>…</p> +<p>For the same reason default declarations should never come last since +they are implemented as a special encoding themselves (with the name ?). +Specifying them last would simply mean to make those encoding-specific +commands equally inefficient in all encodings.</p> +<p class="attribution">—source2e.pdf, chapter “ltoutenc.dtx”, +subsection “The order of declarations”.</p> +</blockquote> +</li> +</ul> +<!-- References +- - - - - - - - - - --> +</section> </main> </body> </html> diff --git a/language/greek/greek-fontenc/tuenc-greek.def b/language/greek/greek-fontenc/tuenc-greek.def index 5e2967c2d7..156f9892ff 100644 --- a/language/greek/greek-fontenc/tuenc-greek.def +++ b/language/greek/greek-fontenc/tuenc-greek.def @@ -11,7 +11,7 @@ % :: \ProvidesFile{tuenc-greek.def} -[2020/10/13 2.0 Greek LICRs for XeTeX and LuaTeX] +[2023/02/28 2.2 Greek LICRs for XeTeX and LuaTeX] % :abstract: % Support for Greek LICR macros and upcasing of text @@ -21,7 +21,7 @@ % **History**: % .. class:: borderless % -% ====== ========== ======================================================== +% ====== =========== ======================================================== % 0.1 2013-07-16 initial version % 0.1.1 2013-07-18 bugfix: wrong breathings psilioxia -> dasiaoxia % 0.1.2 2013-07-19 bugfix: Disable composite defs starting with char macro, @@ -43,15 +43,21 @@ % .. Use ``\UnicodeEncodingName`` instead of ``\UTFencname``. % .. Make the file encoding-independent (required for input % in other encodings with `luainputenc`). -% ====== ========== ======================================================== +% 2.2 2023-02-28 Add composite definitions for ``\~`` + literal char. +% .. Fix order in expansion of combined accent macros. +% .. Let ``\textautosigma`` select sigma/finalsigma +% depending on context (with LaTeX >= 2022/06/01). +% .. Skip `uccode` fixes when ignored by ``\MakeUppercase``. +% .. Add ``\textbackepsilon`` (defined by hyperref for PU). +% ====== =========== ======================================================== % % .. contents:: % % Motivation % ========== % -% LICR macro definitions for the Greek script are missing in tuenc.def_ (as well -% as the predecessors xunicode_, euenc_). +% LICR macro definitions for the Greek script are missing in tuenc.def_ +% (as well as the predecessors xunicode_ and euenc_). % % This file defines `LaTeX Internal Character Representaction` (LICR) macros % for Greek letters and symbols. It works independed of xunicode_ using the @@ -95,13 +101,15 @@ % ``\accpsili = \acckoronis`` but the COMBINING GREEK KORONIS is a legacy % character, discarded in favour of COMBINING COMMA ABOVE. :: -\DeclareUnicodeAccent{\accpsili}\UnicodeEncodingName{"0313} % ψιλή spiritus lenis (smooth breathing) +\DeclareUnicodeAccent{\accpsili}\UnicodeEncodingName{"0313} % ψιλή spiritus lenis (smooth breathing) COMBINING COMMA ABOVE \DeclareUnicodeAccent{\accdasia}\UnicodeEncodingName{"0314} % δασεῖα spiritus asper (rough breathing) -% Sub-iotas: +% Mute iota: % -% ``\prosgegrammeni`` is a standard character (see below). -% ``\ypogegrammeni`` is a postfix accent (ligature in LGR) :: +% The following two macros are both used **after** the base character: +% ``\prosgegrammeni`` (adscript iota) is a spacing character (see below), +% ``\ypogegrammeni`` (subscript iota) is a combining character +% (ligature in LGR). :: \DeclareTextSymbol{\ypogegrammeni}{\UnicodeEncodingName}{0837} % COMBINING GREEK YPOGEGRAMMENI @@ -112,15 +120,15 @@ % The COMBINING DIALYTIKA TONOS is discarded and not well supported by fonts: \DeclareTextCommand{\accdialytikatonos}{\UnicodeEncodingName}[1]{#1\char"0308\char"0301} \DeclareTextCommand{\accdialytikavaria}{\UnicodeEncodingName}[1]{#1\char"0308\char"0300} -\DeclareTextCommand{\accdialytikaperispomeni}{\UnicodeEncodingName}[1]{#1\char"0342\char"0308} +\DeclareTextCommand{\accdialytikaperispomeni}{\UnicodeEncodingName}[1]{#1\char"0308\char"0342} \DeclareTextCommand{\accdasiaoxia}{\UnicodeEncodingName}[1]{#1\char"0314\char"0301} \DeclareTextCommand{\accdasiavaria}{\UnicodeEncodingName}[1]{#1\char"0314\char"0300} \DeclareTextCommand{\accdasiaperispomeni}{\UnicodeEncodingName}[1]{#1\char"0314\char"0342} -\DeclareTextCommand{\accpsilioxia}{\UnicodeEncodingName}[1]{#1\char"0301\char"0313} -\DeclareTextCommand{\accpsilivaria}{\UnicodeEncodingName}[1]{#1\char"0300\char"0313} -\DeclareTextCommand{\accpsiliperispomeni}{\UnicodeEncodingName}[1]{#1\char"0342\char"0313} +\DeclareTextCommand{\accpsilioxia}{\UnicodeEncodingName}[1]{#1\char"0313\char"0301} +\DeclareTextCommand{\accpsilivaria}{\UnicodeEncodingName}[1]{#1\char"0313\char"0300} +\DeclareTextCommand{\accpsiliperispomeni}{\UnicodeEncodingName}[1]{#1\char"0313\char"0342} % Common Definitions @@ -179,8 +187,8 @@ \DeclareUnicodeComposite{\acctonos} {} {"0384} % ΄ GREEK TONOS \DeclareUnicodeComposite{\accdialytikatonos}{} {"0385} % ΅ GREEK DIALYTIKA TONOS -\DeclareUnicodeComposite{\'} {\textAlpha} {"0386} % Ά -\DeclareTextSymbol{\textanoteleia} \UnicodeEncodingName{"00B7} % use MIDDLE DOT, not 0387 GREEK ANO TELEIA +\DeclareUnicodeComposite{\'} {\textAlpha} {"0386} % Ά +\DeclareTextSymbol{\textanoteleia} \UnicodeEncodingName{"00B7} % use MIDDLE DOT, not 0387 GREEK ANO TELEIA \DeclareUnicodeComposite{\'} {\textEpsilon}{"0388} % Έ \DeclareUnicodeComposite{\'} {\textEta} {"0389} % Ή \DeclareUnicodeComposite{\'} {\textIota} {"038A} % Ί @@ -223,20 +231,20 @@ \DeclareTextSymbol{\textOmega }\UnicodeEncodingName{"03A9} % Ω \DeclareUnicodeComposite{\"} {\textIota} {"03AA} % Ϊ -\DeclareUnicodeComposite{\"} {\textIota} {"03AA} % Ϊ +\DeclareUnicodeComposite{\"} {\textIota} {"03AA} % Ϊ \DeclareUnicodeComposite{\"} {\textUpsilon}{"03AB} % Ϋ \DeclareUnicodeComposite{\'} {\textalpha} {"03AC} % ά \DeclareUnicodeComposite{\'} {\textepsilon}{"03AD} % έ \DeclareUnicodeComposite{\'} {\texteta} {"03AE} % ή -\DeclareUnicodeComposite{\'} {\textiota} {"03AF} % ί +\DeclareUnicodeComposite{\'} {\textiota} {"03AF} % ί % repeat with named accents (LuaTeX does not normalize to pre-composed chars): \DeclareUnicodeComposite{\accdialytika} {\textIota} {"03AA} % Ϊ -\DeclareUnicodeComposite{\accdialytika} {\textIota} {"03AA} % Ϊ +\DeclareUnicodeComposite{\accdialytika} {\textIota} {"03AA} % Ϊ \DeclareUnicodeComposite{\accdialytika} {\textUpsilon}{"03AB} % Ϋ \DeclareUnicodeComposite{\acctonos} {\textalpha} {"03AC} % ά \DeclareUnicodeComposite{\acctonos} {\textepsilon}{"03AD} % έ \DeclareUnicodeComposite{\acctonos} {\texteta} {"03AE} % ή -\DeclareUnicodeComposite{\acctonos} {\textiota} {"03AF} % ί +\DeclareUnicodeComposite{\acctonos} {\textiota} {"03AF} % ί \DeclareUnicodeComposite{\accdialytikatonos}{\textupsilon}{"03B0} % ΰ \DeclareTextSymbol{\textalpha }\UnicodeEncodingName{"03B1} % α @@ -299,11 +307,12 @@ \DeclareTextSymbol{\textpisymbol }\UnicodeEncodingName{"03D6} % ϖ \DeclareTextSymbol{\textrhosymbol }\UnicodeEncodingName{"03F1} % ϱ \DeclareTextSymbol{\textepsilonsymbol}\UnicodeEncodingName{"03F5} % ϵ +\DeclareTextSymbol{\textbackepsilon }\UnicodeEncodingName{"03F6} % ϶ not in LGR % Dummy definition (\textautosigma is lowercase of \textSigma) % TODO: implement autosigma for TU:: -\ProvideTextCommand{\textautosigma }\UnicodeEncodingName{\textsigma} +\ProvideTextCommand{\textautosigma}{\UnicodeEncodingName}{\MakeLowercase{Σ}} % Greek Extended @@ -438,28 +447,29 @@ \DeclareUnicodeComposite{\accvaria} {\textupsilon}{"1F7A} % ὺ \DeclareUnicodeComposite{\accvaria} {\textomega} {"1F7C} % ὼ +% Skipping pre-composed characters with mute iota (misleadingly named +% … WITH PROSGEGRAMMENI): letter + ``\ypogegrammeni`` is normalized +% to the pre-composed character. :: -% Skipping pre-composed characters with sub-iota (ypogegrammeni/prosgegrammeni). - -\DeclareUnicodeComposite{\u} {\textalpha}{"1FB0} % ᾰ -\DeclareUnicodeComposite{\=} {\textalpha}{"1FB1} % ᾱ +\DeclareUnicodeComposite{\u} {\textalpha} {"1FB0} % ᾰ +\DeclareUnicodeComposite{\=} {\textalpha} {"1FB1} % ᾱ % ᾲ % ᾳ % ᾴ -\DeclareUnicodeComposite{\accperispomeni} {\textalpha}{"1FB6} % ᾶ -\DeclareUnicodeComposite{\~} {\textalpha}{"1FB6} % ᾶ +\DeclareUnicodeComposite{\accperispomeni} {\textalpha} {"1FB6} % ᾶ +\DeclareUnicodeComposite{\~} {\textalpha} {"1FB6} % ᾶ % ᾷ -\DeclareUnicodeComposite{\u} {\textAlpha}{"1FB8} % Ᾰ -\DeclareUnicodeComposite{\=} {\textAlpha}{"1FB9} % Ᾱ -\DeclareUnicodeComposite{\`} {\textAlpha}{"1FBA} % Ὰ -\DeclareUnicodeComposite{\accvaria} {\textAlpha}{"1FBA} % Ὰ +\DeclareUnicodeComposite{\u} {\textAlpha} {"1FB8} % Ᾰ +\DeclareUnicodeComposite{\=} {\textAlpha} {"1FB9} % Ᾱ +\DeclareUnicodeComposite{\`} {\textAlpha} {"1FBA} % Ὰ +\DeclareUnicodeComposite{\accvaria} {\textAlpha} {"1FBA} % Ὰ % ᾼ -\DeclareUnicodeComposite{\accpsili} {} {"1FBD} % ᾽ -\DeclareTextSymbol{\prosgegrammeni}\UnicodeEncodingName {"1FBE} % ι -\DeclareUnicodeComposite{\accpsili} {} {"1FBF} % ᾿ +\DeclareUnicodeComposite{\accpsili} {} {"1FBD} % ᾽ +\DeclareTextSymbol{\prosgegrammeni}\UnicodeEncodingName {"1FBE} % ι +\DeclareUnicodeComposite{\accpsili} {} {"1FBF} % ᾿ -\DeclareUnicodeComposite{\accperispomeni} {} {"1FC0} % ῀ -\DeclareUnicodeComposite{\accdialytikaperispomeni}{} {"1FC1} % ῁ +\DeclareUnicodeComposite{\accperispomeni} {} {"1FC0} % ῀ +\DeclareUnicodeComposite{\accdialytikaperispomeni}{} {"1FC1} % ῁ % ῂ % ῃ % ῄ @@ -524,13 +534,41 @@ \DeclareUnicodeComposite{\accoxia} {} {"1FFD} % ´ \DeclareUnicodeComposite{\accdasia} {} {"1FFE} % ῾ - -% Diacritics on literal Unicode characters:: - -% \DeclareUnicodeComposite{\~}{α}{"1FB6} % ᾶ -% \DeclareUnicodeComposite{\~}{η}{"1FC6} % ῆ -% \DeclareUnicodeComposite{\~}{υ}{"1FE6} % ῦ -% \DeclareUnicodeComposite{\~}{ω}{"1FF6} % ῶ +% Perispomeni and tilde accent +% """""""""""""""""""""""""""" +% +% XeTeX and LuaTeX (since 2022) convert letters followed by combining +% characters to a pre-composed character, if there is an equivalent +% pre-composed character. +% +% The ``\accperispomeni`` macro expands to COMBINING GREEK PERISPOMENI +% while the standard short accent macro ``\~`` uses the COMBINING TILDE. +% Only <Greek letter> + COMBINING GREEK PERISPOMENI is considered +% equivalent to the pre-composed <Greek letter> WITH PERISPOMENI. +% Composite definitions for ``\~`` select the pre-composed character:: + +\DeclareUnicodeComposite{\~}{α}{"1FB6} % ᾶ +\DeclareUnicodeComposite{\~}{η}{"1FC6} % ῆ +\DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ +\DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ +\DeclareUnicodeComposite{\~}{υ}{"1FE6} % ῦ +\DeclareUnicodeComposite{\~}{ω}{"1FF6} % ῶ + +% If there is no pre-composed Capital letter with perispomeni, +% we want no perispomeni with ``\MakeUppercase``. +% (These definitions may be redundant with the new (2022/06) +% implementation of ``\MakeUppercase``.) :: + +\DeclareUnicodeComposite{\~}{\textAlpha} {"0391} % Α +\DeclareUnicodeComposite{\~}{Α} {"0391} % Α +\DeclareUnicodeComposite{\~}{\textEta} {"0397} % Η +\DeclareUnicodeComposite{\~}{Η} {"0397} % Η +\DeclareUnicodeComposite{\~}{\textIota} {"0399} % Ι +\DeclareUnicodeComposite{\~}{Ι} {"0399} % Ι +\DeclareUnicodeComposite{\~}{\textUpsilon}{"03A5} % Υ +\DeclareUnicodeComposite{\~}{Υ} {"03A5} % Υ +\DeclareUnicodeComposite{\~}{\textOmega} {"03A9} % Ω +\DeclareUnicodeComposite{\~}{Ω} {"03A9} % Ω % Letterlike Symbols @@ -544,9 +582,6 @@ % TODO: map other chars to corresponding Greek letters. % See also the grnumalt_ package. % -% Definition with literal Unicode characters, because the code-point has 5 -% hexadecimal digits: -% % :: \DeclareTextSymbol{\textpentedeka }\UnicodeEncodingName{"10144} % GREEK ACROPHONIC ATTIC FIFTY @@ -563,327 +598,331 @@ % uc/lc values % ~~~~~~~~~~~~ % -% ``\lccode`` and ``\uccode`` corrections from the xgreek_ package by Apostolos Syropoulos:: - -\global\lccode"0370="0371 \global\uccode"0370="0370 -\global\lccode"0371="0371 \global\uccode"0371="0370 -\global\lccode"0372="0373 \global\uccode"0372="0372 -\global\lccode"0373="0373 \global\uccode"0373="0372 -\global\lccode"0376="0377 \global\uccode"0376="0376 -\global\lccode"0377="0377 \global\uccode"0377="0376 -\global\lccode"03FD="037B \global\uccode"03FD="03FD -\global\lccode"037B="037B \global\uccode"037B="03FD -\global\lccode"03FE="037C \global\uccode"03FE="03FE -\global\lccode"037C="037C \global\uccode"037C="03FE -\global\lccode"03FF="037D \global\uccode"03FF="03FF -\global\lccode"037D="037D \global\uccode"037D="03FF -\global\lccode"0386="03AC \global\uccode"0386="0391 -\global\lccode"0388="03AD \global\uccode"0388="0395 -\global\lccode"0389="03AC \global\uccode"0389="0397 -\global\lccode"038A="03AF \global\uccode"038A="0399 -\global\lccode"038C="03CC \global\uccode"038C="039F -\global\lccode"038E="03CD \global\uccode"038E="03A5 -\global\lccode"038F="03CE \global\uccode"038F="03A9 -\global\lccode"0390="0390 \global\uccode"0390="03AA -\global\lccode"0391="03B1 \global\uccode"0391="0391 -\global\lccode"0392="03B2 \global\uccode"0392="0392 -\global\lccode"0393="03B3 \global\uccode"0393="0393 -\global\lccode"0394="03B4 \global\uccode"0394="0394 -\global\lccode"0395="03B5 \global\uccode"0395="0395 -\global\lccode"0396="03B6 \global\uccode"0396="0396 -\global\lccode"0397="03B7 \global\uccode"0397="0397 -\global\lccode"0398="03B8 \global\uccode"0398="0398 -\global\lccode"0399="03B9 \global\uccode"0399="0399 -\global\lccode"039A="03BA \global\uccode"039A="039A -\global\lccode"039B="03BB \global\uccode"039B="039B -\global\lccode"039C="03BC \global\uccode"039C="039C -\global\lccode"039D="03BD \global\uccode"039D="039D -\global\lccode"039E="03BE \global\uccode"039E="039E -\global\lccode"039F="03BF \global\uccode"039F="039F -\global\lccode"03A0="03C0 \global\uccode"03A0="03A0 -\global\lccode"03A1="03C1 \global\uccode"03A1="03A1 -\global\lccode"03A3="03C3 \global\uccode"03A3="03A3 -\global\lccode"03A4="03C4 \global\uccode"03A4="03A4 -\global\lccode"03A5="03C5 \global\uccode"03A5="03A5 -\global\lccode"03A6="03C6 \global\uccode"03A6="03A6 -\global\lccode"03A7="03C7 \global\uccode"03A7="03A7 -\global\lccode"03A8="03C8 \global\uccode"03A8="03A8 -\global\lccode"03A9="03C9 \global\uccode"03A9="03A9 -\global\lccode"03AA="03CA \global\uccode"03AA="03AA -\global\lccode"03AB="03CB \global\uccode"03AB="03AB -\global\lccode"03AC="03AC \global\uccode"03AC="0391 -\global\lccode"03AD="03AD \global\uccode"03AD="0395 -\global\lccode"03AE="03AE \global\uccode"03AE="0397 -\global\lccode"03AF="03AF \global\uccode"03AF="0399 -\global\lccode"03B0="03B0 \global\uccode"03B0="03AB -\global\lccode"03B1="03B1 \global\uccode"03B1="0391 -\global\lccode"03B2="03B2 \global\uccode"03B2="0392 -\global\lccode"03B3="03B3 \global\uccode"03B3="0393 -\global\lccode"03B4="03B4 \global\uccode"03B4="0394 -\global\lccode"03B5="03B5 \global\uccode"03B5="0395 -\global\lccode"03B6="03B6 \global\uccode"03B6="0396 -\global\lccode"03B7="03B7 \global\uccode"03B7="0397 -\global\lccode"03B8="03B8 \global\uccode"03B8="0398 -\global\lccode"03B9="03B9 \global\uccode"03B9="0399 -\global\lccode"03BA="03BA \global\uccode"03BA="039A -\global\lccode"03BB="03BB \global\uccode"03BB="039B -\global\lccode"03BC="03BC \global\uccode"03BC="039C -\global\lccode"03BD="03BD \global\uccode"03BD="039D -\global\lccode"03BE="03BE \global\uccode"03BE="039E -\global\lccode"03BF="03BF \global\uccode"03BF="039F -\global\lccode"03C0="03C0 \global\uccode"03C0="03A0 -\global\lccode"03C1="03C1 \global\uccode"03C1="03A1 -\global\lccode"03C2="03C2 \global\uccode"03C2="03A3 -\global\lccode"03C3="03C3 \global\uccode"03C3="03A3 -\global\lccode"03C4="03C4 \global\uccode"03C4="03A4 -\global\lccode"03C5="03C5 \global\uccode"03C5="03A5 -\global\lccode"03C6="03C6 \global\uccode"03C6="03A6 -\global\lccode"03C7="03C7 \global\uccode"03C7="03A7 -\global\lccode"03C8="03C8 \global\uccode"03C8="03A8 -\global\lccode"03C9="03C9 \global\uccode"03C9="03A9 -\global\lccode"03CA="03CA \global\uccode"03CA="03AA -\global\lccode"03CB="03CB \global\uccode"03CB="03AB -\global\lccode"03CC="03CC \global\uccode"03CC="039F -\global\lccode"03CD="03CD \global\uccode"03CD="03A5 -\global\lccode"03CE="03CE \global\uccode"03CE="03A9 -\global\lccode"03D0="03D0 \global\uccode"03D0="0392 -\global\lccode"03D1="03D1 \global\uccode"03D1="0398 -\global\lccode"03D2="03C5 \global\uccode"03D2="03A5 -\global\lccode"03D3="03CD \global\uccode"03D3="03A5 -\global\lccode"03D4="03CB \global\uccode"03D4="03AB -\global\lccode"03D5="03C6 \global\uccode"03D5="03A6 -\global\lccode"03D6="03C0 \global\uccode"03D6="03A0 -\global\lccode"03DA="03DB \global\uccode"03DA="03DA -\global\lccode"03DB="03DB \global\uccode"03DB="03DA -\global\lccode"03DC="03DD \global\uccode"03DC="03DC -\global\lccode"03DD="03DD \global\uccode"03DD="03DC -\global\lccode"03DE="03DF \global\uccode"03DE="03DE -\global\lccode"03DF="03DF \global\uccode"03DF="03DE -\global\lccode"03E0="03E1 \global\uccode"03E0="03E0 -\global\lccode"03E1="03E1 \global\uccode"03E1="03E0 -\global\lccode"03F0="03BA \global\uccode"03F0="039A -\global\lccode"03F1="03C1 \global\uccode"03F1="03A1 -\global\lccode"03F2="03F2 \global\uccode"03F2="03F9 -\global\lccode"03F9="03F2 \global\uccode"03F9="03F9 -\global\lccode"1F00="1F00 \global\uccode"1F00="0391 -\global\lccode"1F01="1F01 \global\uccode"1F01="0391 -\global\lccode"1F02="1F02 \global\uccode"1F02="0391 -\global\lccode"1F03="1F03 \global\uccode"1F03="0391 -\global\lccode"1F04="1F04 \global\uccode"1F04="0391 -\global\lccode"1F05="1F05 \global\uccode"1F05="0391 -\global\lccode"1F06="1F06 \global\uccode"1F06="0391 -\global\lccode"1F07="1F07 \global\uccode"1F07="0391 -\global\lccode"1F08="1F00 \global\uccode"1F08="0391 -\global\lccode"1F09="1F01 \global\uccode"1F09="0391 -\global\lccode"1F0A="1F02 \global\uccode"1F0A="0391 -\global\lccode"1F0B="1F03 \global\uccode"1F0B="0391 -\global\lccode"1F0C="1F04 \global\uccode"1F0C="0391 -\global\lccode"1F0D="1F05 \global\uccode"1F0D="0391 -\global\lccode"1F0E="1F06 \global\uccode"1F0E="0391 -\global\lccode"1F0F="1F07 \global\uccode"1F0F="0391 -\global\lccode"1F10="1F10 \global\uccode"1F10="0395 -\global\lccode"1F11="1F11 \global\uccode"1F11="0395 -\global\lccode"1F12="1F12 \global\uccode"1F12="0395 -\global\lccode"1F13="1F13 \global\uccode"1F13="0395 -\global\lccode"1F14="1F14 \global\uccode"1F14="0395 -\global\lccode"1F15="1F15 \global\uccode"1F15="0395 -\global\lccode"1F18="1F10 \global\uccode"1F18="0395 -\global\lccode"1F19="1F11 \global\uccode"1F19="0395 -\global\lccode"1F1A="1F12 \global\uccode"1F1A="0395 -\global\lccode"1F1B="1F13 \global\uccode"1F1B="0395 -\global\lccode"1F1C="1F14 \global\uccode"1F1C="0395 -\global\lccode"1F1D="1F15 \global\uccode"1F1D="0395 -\global\lccode"1F20="1F20 \global\uccode"1F20="0397 -\global\lccode"1F21="1F21 \global\uccode"1F21="0397 -\global\lccode"1F22="1F22 \global\uccode"1F22="0397 -\global\lccode"1F23="1F23 \global\uccode"1F23="0397 -\global\lccode"1F24="1F24 \global\uccode"1F24="0397 -\global\lccode"1F25="1F25 \global\uccode"1F25="0397 -\global\lccode"1F26="1F26 \global\uccode"1F26="0397 -\global\lccode"1F27="1F27 \global\uccode"1F27="0397 -\global\lccode"1F28="1F20 \global\uccode"1F28="0397 -\global\lccode"1F29="1F21 \global\uccode"1F29="0397 -\global\lccode"1F2A="1F22 \global\uccode"1F2A="0397 -\global\lccode"1F2B="1F23 \global\uccode"1F2B="0397 -\global\lccode"1F2C="1F24 \global\uccode"1F2C="0397 -\global\lccode"1F2D="1F25 \global\uccode"1F2D="0397 -\global\lccode"1F2E="1F26 \global\uccode"1F2E="0397 -\global\lccode"1F2F="1F27 \global\uccode"1F2F="0397 -\global\lccode"1F30="1F30 \global\uccode"1F30="0399 -\global\lccode"1F31="1F31 \global\uccode"1F31="0399 -\global\lccode"1F32="1F32 \global\uccode"1F32="0399 -\global\lccode"1F33="1F33 \global\uccode"1F33="0399 -\global\lccode"1F34="1F34 \global\uccode"1F34="0399 -\global\lccode"1F35="1F35 \global\uccode"1F35="0399 -\global\lccode"1F36="1F36 \global\uccode"1F36="0399 -\global\lccode"1F37="1F37 \global\uccode"1F37="0399 -\global\lccode"1F38="1F30 \global\uccode"1F38="0399 -\global\lccode"1F39="1F31 \global\uccode"1F39="0399 -\global\lccode"1F3A="1F32 \global\uccode"1F3A="0399 -\global\lccode"1F3B="1F33 \global\uccode"1F3B="0399 -\global\lccode"1F3C="1F34 \global\uccode"1F3C="0399 -\global\lccode"1F3D="1F35 \global\uccode"1F3D="0399 -\global\lccode"1F3E="1F36 \global\uccode"1F3E="0399 -\global\lccode"1F3F="1F37 \global\uccode"1F3F="0399 -\global\lccode"1F40="1F40 \global\uccode"1F40="039F -\global\lccode"1F41="1F41 \global\uccode"1F41="039F -\global\lccode"1F42="1F42 \global\uccode"1F42="039F -\global\lccode"1F43="1F43 \global\uccode"1F43="039F -\global\lccode"1F44="1F44 \global\uccode"1F44="039F -\global\lccode"1F45="1F45 \global\uccode"1F45="039F -\global\lccode"1F48="1F40 \global\uccode"1F48="039F -\global\lccode"1F49="1F41 \global\uccode"1F49="039F -\global\lccode"1F4A="1F42 \global\uccode"1F4A="039F -\global\lccode"1F4B="1F43 \global\uccode"1F4B="039F -\global\lccode"1F4C="1F44 \global\uccode"1F4C="039F -\global\lccode"1F4D="1F45 \global\uccode"1F4D="039F -\global\lccode"1F50="1F50 \global\uccode"1F50="03A5 -\global\lccode"1F51="1F51 \global\uccode"1F51="03A5 -\global\lccode"1F52="1F52 \global\uccode"1F52="03A5 -\global\lccode"1F53="1F53 \global\uccode"1F53="03A5 -\global\lccode"1F54="1F54 \global\uccode"1F54="03A5 -\global\lccode"1F55="1F55 \global\uccode"1F55="03A5 -\global\lccode"1F56="1F56 \global\uccode"1F56="03A5 -\global\lccode"1F57="1F57 \global\uccode"1F57="03A5 -\global\lccode"1F59="1F51 \global\uccode"1F59="03A5 -\global\lccode"1F5B="1F53 \global\uccode"1F5B="03A5 -\global\lccode"1F5D="1F55 \global\uccode"1F5D="03A5 -\global\lccode"1F5F="1F57 \global\uccode"1F5F="03A5 -\global\lccode"1F60="1F60 \global\uccode"1F60="03A9 -\global\lccode"1F61="1F61 \global\uccode"1F61="03A9 -\global\lccode"1F62="1F62 \global\uccode"1F62="03A9 -\global\lccode"1F63="1F63 \global\uccode"1F63="03A9 -\global\lccode"1F64="1F64 \global\uccode"1F64="03A9 -\global\lccode"1F65="1F65 \global\uccode"1F65="03A9 -\global\lccode"1F66="1F66 \global\uccode"1F66="03A9 -\global\lccode"1F67="1F67 \global\uccode"1F67="03A9 -\global\lccode"1F68="1F60 \global\uccode"1F68="03A9 -\global\lccode"1F69="1F61 \global\uccode"1F69="03A9 -\global\lccode"1F6A="1F62 \global\uccode"1F6A="03A9 -\global\lccode"1F6B="1F63 \global\uccode"1F6B="03A9 -\global\lccode"1F6C="1F64 \global\uccode"1F6C="03A9 -\global\lccode"1F6D="1F65 \global\uccode"1F6D="03A9 -\global\lccode"1F6E="1F66 \global\uccode"1F6E="03A9 -\global\lccode"1F6F="1F67 \global\uccode"1F6F="03A9 -\global\lccode"1F70="1F70 \global\uccode"1F70="0391 -\global\lccode"1F71="1F71 \global\uccode"1F71="0391 -\global\lccode"1F72="1F72 \global\uccode"1F72="0395 -\global\lccode"1F73="1F73 \global\uccode"1F73="0395 -\global\lccode"1F74="1F74 \global\uccode"1F74="0397 -\global\lccode"1F75="1F75 \global\uccode"1F75="0397 -\global\lccode"1F76="1F76 \global\uccode"1F76="0399 -\global\lccode"1F77="1F77 \global\uccode"1F77="0399 -\global\lccode"1F78="1F78 \global\uccode"1F78="039F -\global\lccode"1F79="1F79 \global\uccode"1F79="039F -\global\lccode"1F7A="1F7A \global\uccode"1F7A="03A5 -\global\lccode"1F7B="1F7B \global\uccode"1F7B="03A5 -\global\lccode"1F7C="1F7C \global\uccode"1F7C="03A9 -\global\lccode"1F7D="1F7D \global\uccode"1F7D="03A9 -\global\lccode"1F80="1F80 \global\uccode"1F80="1FBC -\global\lccode"1F81="1F81 \global\uccode"1F81="1FBC -\global\lccode"1F82="1F82 \global\uccode"1F82="1FBC -\global\lccode"1F83="1F83 \global\uccode"1F83="1FBC -\global\lccode"1F84="1F84 \global\uccode"1F84="1FBC -\global\lccode"1F85="1F85 \global\uccode"1F85="1FBC -\global\lccode"1F86="1F86 \global\uccode"1F86="1FBC -\global\lccode"1F87="1F87 \global\uccode"1F87="1FBC -\global\lccode"1F88="1F80 \global\uccode"1F88="1FBC -\global\lccode"1F89="1F81 \global\uccode"1F89="1FBC -\global\lccode"1F8A="1F82 \global\uccode"1F8A="1FBC -\global\lccode"1F8B="1F83 \global\uccode"1F8B="1FBC -\global\lccode"1F8C="1F84 \global\uccode"1F8C="1FBC -\global\lccode"1F8D="1F85 \global\uccode"1F8D="1FBC -\global\lccode"1F8E="1F86 \global\uccode"1F8E="1FBC -\global\lccode"1F8F="1F87 \global\uccode"1F8F="1FBC -\global\lccode"1F90="1F90 \global\uccode"1F90="1FCC -\global\lccode"1F91="1F91 \global\uccode"1F91="1FCC -\global\lccode"1F92="1F92 \global\uccode"1F92="1FCC -\global\lccode"1F93="1F93 \global\uccode"1F93="1FCC -\global\lccode"1F94="1F94 \global\uccode"1F94="1FCC -\global\lccode"1F95="1F95 \global\uccode"1F95="1FCC -\global\lccode"1F96="1F96 \global\uccode"1F96="1FCC -\global\lccode"1F97="1F97 \global\uccode"1F97="1FCC -\global\lccode"1F98="1F90 \global\uccode"1F98="1FCC -\global\lccode"1F99="1F91 \global\uccode"1F99="1FCC -\global\lccode"1F9A="1F92 \global\uccode"1F9A="1FCC -\global\lccode"1F9B="1F93 \global\uccode"1F9B="1FCC -\global\lccode"1F9C="1F94 \global\uccode"1F9C="1FCC -\global\lccode"1F9D="1F95 \global\uccode"1F9D="1FCC -\global\lccode"1F9E="1F96 \global\uccode"1F9E="1FCC -\global\lccode"1F9F="1F97 \global\uccode"1F9F="1FCC -\global\lccode"1FA0="1FA0 \global\uccode"1FA0="1FFC -\global\lccode"1FA1="1FA1 \global\uccode"1FA1="1FFC -\global\lccode"1FA2="1FA2 \global\uccode"1FA2="1FFC -\global\lccode"1FA3="1FA3 \global\uccode"1FA3="1FFC -\global\lccode"1FA4="1FA4 \global\uccode"1FA4="1FFC -\global\lccode"1FA5="1FA5 \global\uccode"1FA5="1FFC -\global\lccode"1FA6="1FA6 \global\uccode"1FA6="1FFC -\global\lccode"1FA7="1FA7 \global\uccode"1FA7="1FFC -\global\lccode"1FA8="1FA0 \global\uccode"1FA8="1FFC -\global\lccode"1FA9="1FA1 \global\uccode"1FA9="1FFC -\global\lccode"1FAA="1FA2 \global\uccode"1FAA="1FFC -\global\lccode"1FAB="1FA3 \global\uccode"1FAB="1FFC -\global\lccode"1FAC="1FA4 \global\uccode"1FAC="1FFC -\global\lccode"1FAD="1FA5 \global\uccode"1FAD="1FFC -\global\lccode"1FAE="1FA6 \global\uccode"1FAE="1FFC -\global\lccode"1FAF="1FA7 \global\uccode"1FAF="1FFC -\global\lccode"1FB0="1FB0 \global\uccode"1FB0="1FB8 -\global\lccode"1FB1="1FB1 \global\uccode"1FB1="1FB9 -\global\lccode"1FB2="1FB2 \global\uccode"1FB2="1FBC -\global\lccode"1FB3="1FB3 \global\uccode"1FB3="1FBC -\global\lccode"1FB4="1FB4 \global\uccode"1FB4="1FBC -\global\lccode"1FB6="1FB6 \global\uccode"1FB6="0391 -\global\lccode"1FB7="1FB7 \global\uccode"1FB7="1FBC -\global\lccode"1FB8="1FB0 \global\uccode"1FB8="1FB8 -\global\lccode"1FB9="1FB1 \global\uccode"1FB9="1FB9 -\global\lccode"1FBA="1F70 \global\uccode"1FBA="0391 -\global\lccode"1FBB="1F71 \global\uccode"1FBB="0391 -\global\lccode"1FBC="1FB3 \global\uccode"1FBC="1FBC -\global\lccode"1FBD="1FBD \global\uccode"1FBD="1FBD -\global\lccode"1FC2="1FC2 \global\uccode"1FC2="1FCC -\global\lccode"1FC3="1FC3 \global\uccode"1FC3="1FCC -\global\lccode"1FC4="1FC4 \global\uccode"1FC4="1FCC -\global\lccode"1FC6="1FC6 \global\uccode"1FC6="0397 -\global\lccode"1FC7="1FC7 \global\uccode"1FC7="1FCC -\global\lccode"1FC8="1F72 \global\uccode"1FC8="0395 -\global\lccode"1FC9="1F73 \global\uccode"1FC9="0395 -\global\lccode"1FCA="1F74 \global\uccode"1FCA="0397 -\global\lccode"1FCB="1F75 \global\uccode"1FCB="0397 -\global\lccode"1FCC="1FC3 \global\uccode"1FCC="1FCC -\global\lccode"1FD0="1FD0 \global\uccode"1FD0="1FD8 -\global\lccode"1FD1="1FD1 \global\uccode"1FD1="1FD9 -\global\lccode"1FD2="1FD2 \global\uccode"1FD2="03AA -\global\lccode"1FD3="1FD3 \global\uccode"1FD3="03AA -\global\lccode"1FD6="1FD6 \global\uccode"1FD6="0399 -\global\lccode"1FD7="1FD7 \global\uccode"1FD7="03AA -\global\lccode"1FD8="1FD0 \global\uccode"1FD8="1FD8 -\global\lccode"1FD9="1FD1 \global\uccode"1FD9="1FD9 -\global\lccode"1FDA="1F76 \global\uccode"1FDA="0399 -\global\lccode"1FDB="1F77 \global\uccode"1FDB="0399 -\global\lccode"1FE0="1FE0 \global\uccode"1FE0="1FE8 -\global\lccode"1FE1="1FE1 \global\uccode"1FE1="1FE9 -\global\lccode"1FE2="1FE2 \global\uccode"1FE2="03AB -\global\lccode"1FE3="1FE3 \global\uccode"1FE3="03AB -\global\lccode"1FE4="1FE4 \global\uccode"1FE4="03A1 -\global\lccode"1FE5="1FE5 \global\uccode"1FE5="03A1 -\global\lccode"1FE6="1FE6 \global\uccode"1FE6="03A5 -\global\lccode"1FE7="1FE7 \global\uccode"1FE7="03AB -\global\lccode"1FE8="1FE0 \global\uccode"1FE8="1FE8 -\global\lccode"1FE9="1FE1 \global\uccode"1FE9="1FE9 -\global\lccode"1FEA="1F7A \global\uccode"1FEA="03A5 -\global\lccode"1FEB="1F7B \global\uccode"1FEB="03A5 -\global\lccode"1FEC="1FE5 \global\uccode"1FEC="03A1 -\global\lccode"1FF2="1FF2 \global\uccode"1FF2="1FFC -\global\lccode"1FF3="1FF3 \global\uccode"1FF3="1FFC -\global\lccode"1FF4="1FF4 \global\uccode"1FF4="1FFC -\global\lccode"1FF6="1FF6 \global\uccode"1FF6="03A9 -\global\lccode"1FF7="1FF7 \global\uccode"1FF7="1FFC -\global\lccode"1FF8="1F78 \global\uccode"1FF8="039F -\global\lccode"1FF9="1F79 \global\uccode"1FF9="039F -\global\lccode"1FFA="1F7C \global\uccode"1FFA="03A9 -\global\lccode"1FFB="1F7D \global\uccode"1FFB="03A9 -\global\lccode"1FFC="1FF3 \global\uccode"1FFC="1FFC - +% With the old ``\MakeUppercase`` implementation, we can fix this using +% ``\lccode`` and ``\uccode`` corrections from the xgreek_ package by +% Apostolos Syropoulos:: + +\IfFormatAtLeastTF{2022/06/01}{ +}{% else + \global\lccode"0370="0371 \global\uccode"0370="0370 + \global\lccode"0371="0371 \global\uccode"0371="0370 + \global\lccode"0372="0373 \global\uccode"0372="0372 + \global\lccode"0373="0373 \global\uccode"0373="0372 + \global\lccode"0376="0377 \global\uccode"0376="0376 + \global\lccode"0377="0377 \global\uccode"0377="0376 + \global\lccode"03FD="037B \global\uccode"03FD="03FD + \global\lccode"037B="037B \global\uccode"037B="03FD + \global\lccode"03FE="037C \global\uccode"03FE="03FE + \global\lccode"037C="037C \global\uccode"037C="03FE + \global\lccode"03FF="037D \global\uccode"03FF="03FF + \global\lccode"037D="037D \global\uccode"037D="03FF + \global\lccode"0386="03AC \global\uccode"0386="0391 + \global\lccode"0388="03AD \global\uccode"0388="0395 + \global\lccode"0389="03AC \global\uccode"0389="0397 + \global\lccode"038A="03AF \global\uccode"038A="0399 + \global\lccode"038C="03CC \global\uccode"038C="039F + \global\lccode"038E="03CD \global\uccode"038E="03A5 + \global\lccode"038F="03CE \global\uccode"038F="03A9 + \global\lccode"0390="0390 \global\uccode"0390="03AA + \global\lccode"0391="03B1 \global\uccode"0391="0391 + \global\lccode"0392="03B2 \global\uccode"0392="0392 + \global\lccode"0393="03B3 \global\uccode"0393="0393 + \global\lccode"0394="03B4 \global\uccode"0394="0394 + \global\lccode"0395="03B5 \global\uccode"0395="0395 + \global\lccode"0396="03B6 \global\uccode"0396="0396 + \global\lccode"0397="03B7 \global\uccode"0397="0397 + \global\lccode"0398="03B8 \global\uccode"0398="0398 + \global\lccode"0399="03B9 \global\uccode"0399="0399 + \global\lccode"039A="03BA \global\uccode"039A="039A + \global\lccode"039B="03BB \global\uccode"039B="039B + \global\lccode"039C="03BC \global\uccode"039C="039C + \global\lccode"039D="03BD \global\uccode"039D="039D + \global\lccode"039E="03BE \global\uccode"039E="039E + \global\lccode"039F="03BF \global\uccode"039F="039F + \global\lccode"03A0="03C0 \global\uccode"03A0="03A0 + \global\lccode"03A1="03C1 \global\uccode"03A1="03A1 + \global\lccode"03A3="03C3 \global\uccode"03A3="03A3 + \global\lccode"03A4="03C4 \global\uccode"03A4="03A4 + \global\lccode"03A5="03C5 \global\uccode"03A5="03A5 + \global\lccode"03A6="03C6 \global\uccode"03A6="03A6 + \global\lccode"03A7="03C7 \global\uccode"03A7="03A7 + \global\lccode"03A8="03C8 \global\uccode"03A8="03A8 + \global\lccode"03A9="03C9 \global\uccode"03A9="03A9 + \global\lccode"03AA="03CA \global\uccode"03AA="03AA + \global\lccode"03AB="03CB \global\uccode"03AB="03AB + \global\lccode"03AC="03AC \global\uccode"03AC="0391 + \global\lccode"03AD="03AD \global\uccode"03AD="0395 + \global\lccode"03AE="03AE \global\uccode"03AE="0397 + \global\lccode"03AF="03AF \global\uccode"03AF="0399 + \global\lccode"03B0="03B0 \global\uccode"03B0="03AB + \global\lccode"03B1="03B1 \global\uccode"03B1="0391 + \global\lccode"03B2="03B2 \global\uccode"03B2="0392 + \global\lccode"03B3="03B3 \global\uccode"03B3="0393 + \global\lccode"03B4="03B4 \global\uccode"03B4="0394 + \global\lccode"03B5="03B5 \global\uccode"03B5="0395 + \global\lccode"03B6="03B6 \global\uccode"03B6="0396 + \global\lccode"03B7="03B7 \global\uccode"03B7="0397 + \global\lccode"03B8="03B8 \global\uccode"03B8="0398 + \global\lccode"03B9="03B9 \global\uccode"03B9="0399 + \global\lccode"03BA="03BA \global\uccode"03BA="039A + \global\lccode"03BB="03BB \global\uccode"03BB="039B + \global\lccode"03BC="03BC \global\uccode"03BC="039C + \global\lccode"03BD="03BD \global\uccode"03BD="039D + \global\lccode"03BE="03BE \global\uccode"03BE="039E + \global\lccode"03BF="03BF \global\uccode"03BF="039F + \global\lccode"03C0="03C0 \global\uccode"03C0="03A0 + \global\lccode"03C1="03C1 \global\uccode"03C1="03A1 + \global\lccode"03C2="03C2 \global\uccode"03C2="03A3 + \global\lccode"03C3="03C3 \global\uccode"03C3="03A3 + \global\lccode"03C4="03C4 \global\uccode"03C4="03A4 + \global\lccode"03C5="03C5 \global\uccode"03C5="03A5 + \global\lccode"03C6="03C6 \global\uccode"03C6="03A6 + \global\lccode"03C7="03C7 \global\uccode"03C7="03A7 + \global\lccode"03C8="03C8 \global\uccode"03C8="03A8 + \global\lccode"03C9="03C9 \global\uccode"03C9="03A9 + \global\lccode"03CA="03CA \global\uccode"03CA="03AA + \global\lccode"03CB="03CB \global\uccode"03CB="03AB + \global\lccode"03CC="03CC \global\uccode"03CC="039F + \global\lccode"03CD="03CD \global\uccode"03CD="03A5 + \global\lccode"03CE="03CE \global\uccode"03CE="03A9 + \global\lccode"03D0="03D0 \global\uccode"03D0="0392 + \global\lccode"03D1="03D1 \global\uccode"03D1="0398 + \global\lccode"03D2="03C5 \global\uccode"03D2="03A5 + \global\lccode"03D3="03CD \global\uccode"03D3="03A5 + \global\lccode"03D4="03CB \global\uccode"03D4="03AB + \global\lccode"03D5="03C6 \global\uccode"03D5="03A6 + \global\lccode"03D6="03C0 \global\uccode"03D6="03A0 + \global\lccode"03DA="03DB \global\uccode"03DA="03DA + \global\lccode"03DB="03DB \global\uccode"03DB="03DA + \global\lccode"03DC="03DD \global\uccode"03DC="03DC + \global\lccode"03DD="03DD \global\uccode"03DD="03DC + \global\lccode"03DE="03DF \global\uccode"03DE="03DE + \global\lccode"03DF="03DF \global\uccode"03DF="03DE + \global\lccode"03E0="03E1 \global\uccode"03E0="03E0 + \global\lccode"03E1="03E1 \global\uccode"03E1="03E0 + \global\lccode"03F0="03BA \global\uccode"03F0="039A + \global\lccode"03F1="03C1 \global\uccode"03F1="03A1 + \global\lccode"03F2="03F2 \global\uccode"03F2="03F9 + \global\lccode"03F9="03F2 \global\uccode"03F9="03F9 + \global\lccode"1F00="1F00 \global\uccode"1F00="0391 + \global\lccode"1F01="1F01 \global\uccode"1F01="0391 + \global\lccode"1F02="1F02 \global\uccode"1F02="0391 + \global\lccode"1F03="1F03 \global\uccode"1F03="0391 + \global\lccode"1F04="1F04 \global\uccode"1F04="0391 + \global\lccode"1F05="1F05 \global\uccode"1F05="0391 + \global\lccode"1F06="1F06 \global\uccode"1F06="0391 + \global\lccode"1F07="1F07 \global\uccode"1F07="0391 + \global\lccode"1F08="1F00 \global\uccode"1F08="0391 + \global\lccode"1F09="1F01 \global\uccode"1F09="0391 + \global\lccode"1F0A="1F02 \global\uccode"1F0A="0391 + \global\lccode"1F0B="1F03 \global\uccode"1F0B="0391 + \global\lccode"1F0C="1F04 \global\uccode"1F0C="0391 + \global\lccode"1F0D="1F05 \global\uccode"1F0D="0391 + \global\lccode"1F0E="1F06 \global\uccode"1F0E="0391 + \global\lccode"1F0F="1F07 \global\uccode"1F0F="0391 + \global\lccode"1F10="1F10 \global\uccode"1F10="0395 + \global\lccode"1F11="1F11 \global\uccode"1F11="0395 + \global\lccode"1F12="1F12 \global\uccode"1F12="0395 + \global\lccode"1F13="1F13 \global\uccode"1F13="0395 + \global\lccode"1F14="1F14 \global\uccode"1F14="0395 + \global\lccode"1F15="1F15 \global\uccode"1F15="0395 + \global\lccode"1F18="1F10 \global\uccode"1F18="0395 + \global\lccode"1F19="1F11 \global\uccode"1F19="0395 + \global\lccode"1F1A="1F12 \global\uccode"1F1A="0395 + \global\lccode"1F1B="1F13 \global\uccode"1F1B="0395 + \global\lccode"1F1C="1F14 \global\uccode"1F1C="0395 + \global\lccode"1F1D="1F15 \global\uccode"1F1D="0395 + \global\lccode"1F20="1F20 \global\uccode"1F20="0397 + \global\lccode"1F21="1F21 \global\uccode"1F21="0397 + \global\lccode"1F22="1F22 \global\uccode"1F22="0397 + \global\lccode"1F23="1F23 \global\uccode"1F23="0397 + \global\lccode"1F24="1F24 \global\uccode"1F24="0397 + \global\lccode"1F25="1F25 \global\uccode"1F25="0397 + \global\lccode"1F26="1F26 \global\uccode"1F26="0397 + \global\lccode"1F27="1F27 \global\uccode"1F27="0397 + \global\lccode"1F28="1F20 \global\uccode"1F28="0397 + \global\lccode"1F29="1F21 \global\uccode"1F29="0397 + \global\lccode"1F2A="1F22 \global\uccode"1F2A="0397 + \global\lccode"1F2B="1F23 \global\uccode"1F2B="0397 + \global\lccode"1F2C="1F24 \global\uccode"1F2C="0397 + \global\lccode"1F2D="1F25 \global\uccode"1F2D="0397 + \global\lccode"1F2E="1F26 \global\uccode"1F2E="0397 + \global\lccode"1F2F="1F27 \global\uccode"1F2F="0397 + \global\lccode"1F30="1F30 \global\uccode"1F30="0399 + \global\lccode"1F31="1F31 \global\uccode"1F31="0399 + \global\lccode"1F32="1F32 \global\uccode"1F32="0399 + \global\lccode"1F33="1F33 \global\uccode"1F33="0399 + \global\lccode"1F34="1F34 \global\uccode"1F34="0399 + \global\lccode"1F35="1F35 \global\uccode"1F35="0399 + \global\lccode"1F36="1F36 \global\uccode"1F36="0399 + \global\lccode"1F37="1F37 \global\uccode"1F37="0399 + \global\lccode"1F38="1F30 \global\uccode"1F38="0399 + \global\lccode"1F39="1F31 \global\uccode"1F39="0399 + \global\lccode"1F3A="1F32 \global\uccode"1F3A="0399 + \global\lccode"1F3B="1F33 \global\uccode"1F3B="0399 + \global\lccode"1F3C="1F34 \global\uccode"1F3C="0399 + \global\lccode"1F3D="1F35 \global\uccode"1F3D="0399 + \global\lccode"1F3E="1F36 \global\uccode"1F3E="0399 + \global\lccode"1F3F="1F37 \global\uccode"1F3F="0399 + \global\lccode"1F40="1F40 \global\uccode"1F40="039F + \global\lccode"1F41="1F41 \global\uccode"1F41="039F + \global\lccode"1F42="1F42 \global\uccode"1F42="039F + \global\lccode"1F43="1F43 \global\uccode"1F43="039F + \global\lccode"1F44="1F44 \global\uccode"1F44="039F + \global\lccode"1F45="1F45 \global\uccode"1F45="039F + \global\lccode"1F48="1F40 \global\uccode"1F48="039F + \global\lccode"1F49="1F41 \global\uccode"1F49="039F + \global\lccode"1F4A="1F42 \global\uccode"1F4A="039F + \global\lccode"1F4B="1F43 \global\uccode"1F4B="039F + \global\lccode"1F4C="1F44 \global\uccode"1F4C="039F + \global\lccode"1F4D="1F45 \global\uccode"1F4D="039F + \global\lccode"1F50="1F50 \global\uccode"1F50="03A5 + \global\lccode"1F51="1F51 \global\uccode"1F51="03A5 + \global\lccode"1F52="1F52 \global\uccode"1F52="03A5 + \global\lccode"1F53="1F53 \global\uccode"1F53="03A5 + \global\lccode"1F54="1F54 \global\uccode"1F54="03A5 + \global\lccode"1F55="1F55 \global\uccode"1F55="03A5 + \global\lccode"1F56="1F56 \global\uccode"1F56="03A5 + \global\lccode"1F57="1F57 \global\uccode"1F57="03A5 + \global\lccode"1F59="1F51 \global\uccode"1F59="03A5 + \global\lccode"1F5B="1F53 \global\uccode"1F5B="03A5 + \global\lccode"1F5D="1F55 \global\uccode"1F5D="03A5 + \global\lccode"1F5F="1F57 \global\uccode"1F5F="03A5 + \global\lccode"1F60="1F60 \global\uccode"1F60="03A9 + \global\lccode"1F61="1F61 \global\uccode"1F61="03A9 + \global\lccode"1F62="1F62 \global\uccode"1F62="03A9 + \global\lccode"1F63="1F63 \global\uccode"1F63="03A9 + \global\lccode"1F64="1F64 \global\uccode"1F64="03A9 + \global\lccode"1F65="1F65 \global\uccode"1F65="03A9 + \global\lccode"1F66="1F66 \global\uccode"1F66="03A9 + \global\lccode"1F67="1F67 \global\uccode"1F67="03A9 + \global\lccode"1F68="1F60 \global\uccode"1F68="03A9 + \global\lccode"1F69="1F61 \global\uccode"1F69="03A9 + \global\lccode"1F6A="1F62 \global\uccode"1F6A="03A9 + \global\lccode"1F6B="1F63 \global\uccode"1F6B="03A9 + \global\lccode"1F6C="1F64 \global\uccode"1F6C="03A9 + \global\lccode"1F6D="1F65 \global\uccode"1F6D="03A9 + \global\lccode"1F6E="1F66 \global\uccode"1F6E="03A9 + \global\lccode"1F6F="1F67 \global\uccode"1F6F="03A9 + \global\lccode"1F70="1F70 \global\uccode"1F70="0391 + \global\lccode"1F71="1F71 \global\uccode"1F71="0391 + \global\lccode"1F72="1F72 \global\uccode"1F72="0395 + \global\lccode"1F73="1F73 \global\uccode"1F73="0395 + \global\lccode"1F74="1F74 \global\uccode"1F74="0397 + \global\lccode"1F75="1F75 \global\uccode"1F75="0397 + \global\lccode"1F76="1F76 \global\uccode"1F76="0399 + \global\lccode"1F77="1F77 \global\uccode"1F77="0399 + \global\lccode"1F78="1F78 \global\uccode"1F78="039F + \global\lccode"1F79="1F79 \global\uccode"1F79="039F + \global\lccode"1F7A="1F7A \global\uccode"1F7A="03A5 + \global\lccode"1F7B="1F7B \global\uccode"1F7B="03A5 + \global\lccode"1F7C="1F7C \global\uccode"1F7C="03A9 + \global\lccode"1F7D="1F7D \global\uccode"1F7D="03A9 + \global\lccode"1F80="1F80 \global\uccode"1F80="1FBC + \global\lccode"1F81="1F81 \global\uccode"1F81="1FBC + \global\lccode"1F82="1F82 \global\uccode"1F82="1FBC + \global\lccode"1F83="1F83 \global\uccode"1F83="1FBC + \global\lccode"1F84="1F84 \global\uccode"1F84="1FBC + \global\lccode"1F85="1F85 \global\uccode"1F85="1FBC + \global\lccode"1F86="1F86 \global\uccode"1F86="1FBC + \global\lccode"1F87="1F87 \global\uccode"1F87="1FBC + \global\lccode"1F88="1F80 \global\uccode"1F88="1FBC + \global\lccode"1F89="1F81 \global\uccode"1F89="1FBC + \global\lccode"1F8A="1F82 \global\uccode"1F8A="1FBC + \global\lccode"1F8B="1F83 \global\uccode"1F8B="1FBC + \global\lccode"1F8C="1F84 \global\uccode"1F8C="1FBC + \global\lccode"1F8D="1F85 \global\uccode"1F8D="1FBC + \global\lccode"1F8E="1F86 \global\uccode"1F8E="1FBC + \global\lccode"1F8F="1F87 \global\uccode"1F8F="1FBC + \global\lccode"1F90="1F90 \global\uccode"1F90="1FCC + \global\lccode"1F91="1F91 \global\uccode"1F91="1FCC + \global\lccode"1F92="1F92 \global\uccode"1F92="1FCC + \global\lccode"1F93="1F93 \global\uccode"1F93="1FCC + \global\lccode"1F94="1F94 \global\uccode"1F94="1FCC + \global\lccode"1F95="1F95 \global\uccode"1F95="1FCC + \global\lccode"1F96="1F96 \global\uccode"1F96="1FCC + \global\lccode"1F97="1F97 \global\uccode"1F97="1FCC + \global\lccode"1F98="1F90 \global\uccode"1F98="1FCC + \global\lccode"1F99="1F91 \global\uccode"1F99="1FCC + \global\lccode"1F9A="1F92 \global\uccode"1F9A="1FCC + \global\lccode"1F9B="1F93 \global\uccode"1F9B="1FCC + \global\lccode"1F9C="1F94 \global\uccode"1F9C="1FCC + \global\lccode"1F9D="1F95 \global\uccode"1F9D="1FCC + \global\lccode"1F9E="1F96 \global\uccode"1F9E="1FCC + \global\lccode"1F9F="1F97 \global\uccode"1F9F="1FCC + \global\lccode"1FA0="1FA0 \global\uccode"1FA0="1FFC + \global\lccode"1FA1="1FA1 \global\uccode"1FA1="1FFC + \global\lccode"1FA2="1FA2 \global\uccode"1FA2="1FFC + \global\lccode"1FA3="1FA3 \global\uccode"1FA3="1FFC + \global\lccode"1FA4="1FA4 \global\uccode"1FA4="1FFC + \global\lccode"1FA5="1FA5 \global\uccode"1FA5="1FFC + \global\lccode"1FA6="1FA6 \global\uccode"1FA6="1FFC + \global\lccode"1FA7="1FA7 \global\uccode"1FA7="1FFC + \global\lccode"1FA8="1FA0 \global\uccode"1FA8="1FFC + \global\lccode"1FA9="1FA1 \global\uccode"1FA9="1FFC + \global\lccode"1FAA="1FA2 \global\uccode"1FAA="1FFC + \global\lccode"1FAB="1FA3 \global\uccode"1FAB="1FFC + \global\lccode"1FAC="1FA4 \global\uccode"1FAC="1FFC + \global\lccode"1FAD="1FA5 \global\uccode"1FAD="1FFC + \global\lccode"1FAE="1FA6 \global\uccode"1FAE="1FFC + \global\lccode"1FAF="1FA7 \global\uccode"1FAF="1FFC + \global\lccode"1FB0="1FB0 \global\uccode"1FB0="1FB8 + \global\lccode"1FB1="1FB1 \global\uccode"1FB1="1FB9 + \global\lccode"1FB2="1FB2 \global\uccode"1FB2="1FBC + \global\lccode"1FB3="1FB3 \global\uccode"1FB3="1FBC + \global\lccode"1FB4="1FB4 \global\uccode"1FB4="1FBC + \global\lccode"1FB6="1FB6 \global\uccode"1FB6="0391 + \global\lccode"1FB7="1FB7 \global\uccode"1FB7="1FBC + \global\lccode"1FB8="1FB0 \global\uccode"1FB8="1FB8 + \global\lccode"1FB9="1FB1 \global\uccode"1FB9="1FB9 + \global\lccode"1FBA="1F70 \global\uccode"1FBA="0391 + \global\lccode"1FBB="1F71 \global\uccode"1FBB="0391 + \global\lccode"1FBC="1FB3 \global\uccode"1FBC="1FBC + \global\lccode"1FBD="1FBD \global\uccode"1FBD="1FBD + \global\lccode"1FC2="1FC2 \global\uccode"1FC2="1FCC + \global\lccode"1FC3="1FC3 \global\uccode"1FC3="1FCC + \global\lccode"1FC4="1FC4 \global\uccode"1FC4="1FCC + \global\lccode"1FC6="1FC6 \global\uccode"1FC6="0397 + \global\lccode"1FC7="1FC7 \global\uccode"1FC7="1FCC + \global\lccode"1FC8="1F72 \global\uccode"1FC8="0395 + \global\lccode"1FC9="1F73 \global\uccode"1FC9="0395 + \global\lccode"1FCA="1F74 \global\uccode"1FCA="0397 + \global\lccode"1FCB="1F75 \global\uccode"1FCB="0397 + \global\lccode"1FCC="1FC3 \global\uccode"1FCC="1FCC + \global\lccode"1FD0="1FD0 \global\uccode"1FD0="1FD8 + \global\lccode"1FD1="1FD1 \global\uccode"1FD1="1FD9 + \global\lccode"1FD2="1FD2 \global\uccode"1FD2="03AA + \global\lccode"1FD3="1FD3 \global\uccode"1FD3="03AA + \global\lccode"1FD6="1FD6 \global\uccode"1FD6="0399 + \global\lccode"1FD7="1FD7 \global\uccode"1FD7="03AA + \global\lccode"1FD8="1FD0 \global\uccode"1FD8="1FD8 + \global\lccode"1FD9="1FD1 \global\uccode"1FD9="1FD9 + \global\lccode"1FDA="1F76 \global\uccode"1FDA="0399 + \global\lccode"1FDB="1F77 \global\uccode"1FDB="0399 + \global\lccode"1FE0="1FE0 \global\uccode"1FE0="1FE8 + \global\lccode"1FE1="1FE1 \global\uccode"1FE1="1FE9 + \global\lccode"1FE2="1FE2 \global\uccode"1FE2="03AB + \global\lccode"1FE3="1FE3 \global\uccode"1FE3="03AB + \global\lccode"1FE4="1FE4 \global\uccode"1FE4="03A1 + \global\lccode"1FE5="1FE5 \global\uccode"1FE5="03A1 + \global\lccode"1FE6="1FE6 \global\uccode"1FE6="03A5 + \global\lccode"1FE7="1FE7 \global\uccode"1FE7="03AB + \global\lccode"1FE8="1FE0 \global\uccode"1FE8="1FE8 + \global\lccode"1FE9="1FE1 \global\uccode"1FE9="1FE9 + \global\lccode"1FEA="1F7A \global\uccode"1FEA="03A5 + \global\lccode"1FEB="1F7B \global\uccode"1FEB="03A5 + \global\lccode"1FEC="1FE5 \global\uccode"1FEC="03A1 + \global\lccode"1FF2="1FF2 \global\uccode"1FF2="1FFC + \global\lccode"1FF3="1FF3 \global\uccode"1FF3="1FFC + \global\lccode"1FF4="1FF4 \global\uccode"1FF4="1FFC + \global\lccode"1FF6="1FF6 \global\uccode"1FF6="03A9 + \global\lccode"1FF7="1FF7 \global\uccode"1FF7="1FFC + \global\lccode"1FF8="1F78 \global\uccode"1FF8="039F + \global\lccode"1FF9="1F79 \global\uccode"1FF9="039F + \global\lccode"1FFA="1F7C \global\uccode"1FFA="03A9 + \global\lccode"1FFB="1F7D \global\uccode"1FFB="03A9 + \global\lccode"1FFC="1FF3 \global\uccode"1FFC="1FFC +} % uclclist % ~~~~~~~~ @@ -891,7 +930,7 @@ % The common Greek font encoding definitions in greek-fontenc.def_ extend the % `uclclist` with Greek LICR macros. Here, we add Unicode-specific "hiatus_" % handling (copied from lgrenc.def_ and changed -% Latin transcription to Unicode literals). +% Latin transliteration to Unicode literals). % % The hiatus definition modifications:: @@ -917,20 +956,20 @@ % .. References % % .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt -% .. _babel-greek: http://ctan.org/pkg/babel-greek -% .. _euenc: http://ctan.org/pkg/euenc -% .. _fontspec: http://ctan.org/pkg/fontspec -% .. _greek-fontenc: http://ctan.org/pkg/greek-fontenc -% .. _grnumalt: http://ctan.org/pkg/grnumalt -% .. _inputenc: http://ctan.org/pkg/inputenc +% .. _babel-greek: https://ctan.org/pkg/babel-greek +% .. _euenc: https://ctan.org/pkg/euenc +% .. _fontspec: https://ctan.org/pkg/fontspec +% .. _greek-fontenc: https://ctan.org/pkg/greek-fontenc +% .. _grnumalt: https://ctan.org/pkg/grnumalt +% .. _inputenc: https://ctan.org/pkg/inputenc % .. _textalpha: textalpha.sty.html -% .. _xgreek: http://ctan.org/pkg/xgreek -% .. _xunicode: http://ctan.org/pkg/xunicode +% .. _xgreek: https://ctan.org/pkg/xgreek +% .. _xunicode: https://ctan.org/pkg/xunicode % -% .. _latex base: http://ctan.org/pkg/latex-base -% .. _font encoding: http://ctan.org/pkg/encguide +% .. _latex base: https://ctan.org/pkg/latex-base +% .. _font encoding: https://ctan.org/pkg/encguide % .. _LaTeX2e font selection: -% http://mirror.ctan.org/macros/latex/base/fntguide.pdf +% https://mirrors.ctan.org/macros/latex/base/fntguide.pdf % .. _common Greek font encoding definitions: % .. _greek-fontenc.def: greek-fontenc.def.html % .. _lgrenc.def: lgrenc.def.html diff --git a/language/greek/greek-fontenc/tuenc-greek.def.html b/language/greek/greek-fontenc/tuenc-greek.def.html index d25a97d1ad..3ae33811f5 100644 --- a/language/greek/greek-fontenc/tuenc-greek.def.html +++ b/language/greek/greek-fontenc/tuenc-greek.def.html @@ -1,18 +1,19 @@ <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> -<meta charset="utf-8"/> -<meta name="generator" content="Docutils 0.17b2.dev: http://docutils.sourceforge.net/" /> -<title>tuenc-greek.def</title> +<meta charset="utf-8" /> +<meta name="generator" content="Docutils 0.20b.dev: https://docutils.sourceforge.io/" /> +<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="dcterms.rights" content="© 2013 Günter Milde" /> +<title>tuenc-greek.def</title> <link rel="schema.dcterms" href="http://purl.org/dc/terms/"/> <style type="text/css"> /* Minimal style sheet for the HTML output of Docutils. */ /* */ /* :Author: Günter Milde, based on html4css1.css by David Goodger */ -/* :Id: $Id$ */ -/* :Copyright: © 2015 Günter Milde. */ +/* :Id: $Id$ */ +/* :Copyright: © 2015, 2021 Günter Milde. */ /* :License: Released under the terms of the `2-Clause BSD license`_, */ /* in short: */ /* */ @@ -24,38 +25,24 @@ /* */ /* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ -/* This CSS2.1_ stylesheet defines rules for Docutils elements without */ -/* HTML equivalent. It is required to make the document semantic visible. */ -/* */ -/* .. _CSS2.1: http://www.w3.org/TR/CSS2 */ -/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ - -/* alignment of text and inline objects inside block objects*/ -.align-left { text-align: left; } -.align-right { text-align: right; } -.align-center { clear: both; text-align: center; } -.align-top { vertical-align: top; } -.align-middle { vertical-align: middle; } -.align-bottom { vertical-align: bottom; } +/* This CSS3 stylesheet defines rules for Docutils elements without */ +/* HTML equivalent. It is required to make the document semantics visible. */ +/* */ +/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */ /* titles */ -h1.title, -p.subtitle { - text-align: center; -} p.topic-title, -p.sidebar-title, -p.rubric, p.admonition-title, p.system-message-title { font-weight: bold; } -h1 + p.subtitle { - font-size: 1.6em; +p.sidebar-title, +p.rubric { + font-weight: bold; + font-size: larger; } -h2 + p.section-subtitle, -p.sidebar-title { - font-size: 1.2em; +p.rubric { + color: maroon; } p.subtitle, p.section-subtitle, @@ -63,46 +50,47 @@ p.sidebar-subtitle { font-weight: bold; margin-top: -0.5em; } -p.rubric { - font-size: larger; - color: maroon; +h1 + p.subtitle { + font-size: 1.6em; } a.toc-backref { - color: black; - text-decoration: none; } + color: inherit; + text-decoration: none; +} /* Warnings, Errors */ -div.system-messages h2, -span.problematic, -p.system-message-title { +.system-messages h2, +.system-message-title, +span.problematic { color: red; } -/* inline literals */ -span.docutils.literal { +/* Inline Literals */ +.docutils.literal { font-family: monospace; white-space: pre-wrap; } -/* do not wraph at hyphens and similar: */ +/* do not wrap at hyphens and similar: */ .literal > span.pre { white-space: nowrap; } /* Lists */ /* compact and simple lists: no margin between items */ -.simple li, .compact li, -.simple ul, .compact ul, -.simple ol, .compact ol, -.simple > li p, .compact > li p, -dl.simple > dd, dl.compact > dd { +.simple li, .simple ul, .simple ol, +.compact li, .compact ul, .compact ol, +.simple > li p, dl.simple > dd, +.compact > li p, dl.compact > dd { margin-top: 0; margin-bottom: 0; } +/* Nested Paragraphs */ +p:first-child { margin-top: 0; } +p:last-child { margin-bottom: 0; } +details > p:last-child { margin-bottom: 1em; } /* Table of Contents */ -div.topic.contents { margin: 0.5em 0; } -div.topic.contents ul { +.contents ul.auto-toc { /* section numbers present */ list-style-type: none; - padding-left: 1.5em; } /* Enumerated Lists */ @@ -112,32 +100,41 @@ ol.upperalpha { list-style: upper-alpha } ol.lowerroman { list-style: lower-roman } ol.upperroman { list-style: upper-roman } -dt span.classifier { font-style: italic } -dt span.classifier:before { +/* Definition Lists and Derivatives */ +dt .classifier { font-style: italic } +dt .classifier:before { font-style: normal; margin: 0.5em; content: ":"; } - -/* Field Lists and drivatives */ +/* Field Lists and similar */ /* bold field name, content starts on the same line */ +dl.field-list, +dl.option-list, +dl.docinfo { + display: flow-root; +} dl.field-list > dt, dl.option-list > dt, -dl.docinfo > dt, -dl.footnote > dt, -dl.citation > dt { +dl.docinfo > dt { font-weight: bold; clear: left; float: left; margin: 0; padding: 0; - padding-right: 0.5em; + padding-right: 0.2em; } /* Offset for field content (corresponds to the --field-name-limit option) */ dl.field-list > dd, dl.option-list > dd, dl.docinfo > dd { - margin-left: 9em; /* ca. 14 chars in the test examples */ + margin-left: 9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */ +} +/* start nested lists on new line */ +dd > dl:first-child, +dd > ul:first-child, +dd > ol:first-child { + clear: left; } /* start field-body on a new line after long field names */ dl.field-list > dd > *:first-child, @@ -147,108 +144,124 @@ dl.option-list > dd > *:first-child width: 100%; margin: 0; } -/* field names followed by a colon */ -dl.field-list > dt:after, -dl.docinfo > dt:after { - content: ":"; -} /* Bibliographic Fields (docinfo) */ -pre.address { - font: inherit; +dl.docinfo pre.address { + font: inherit; margin: 0.5em 0; } -dd.authors > p { margin: 0; } +dl.docinfo > dd.authors > p { margin: 0; } /* Option Lists */ -dl.option-list { margin-left: 1.5em; } dl.option-list > dt { font-weight: normal; } span.option { white-space: nowrap; } /* Footnotes and Citations */ -dl.footnote.superscript > dd {margin-left: 1em; } -dl.footnote.brackets > dd {margin-left: 2em; } -dl.footnote > dt { font-weight: normal; } -a.footnote-reference.brackets:before, -dt.label > span.brackets:before { content: "["; } -a.footnote-reference.brackets:after, -dt.label > span.brackets:after { content: "]"; } -a.footnote-reference.superscript, -dl.footnote.superscript > dt.label { + +.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */ +/* hanging indent */ +.citation { padding-left: 2em; } +.footnote { padding-left: 1.7em; } +.footnote.superscript { padding-left: 1.0em; } +.citation > .label { margin-left: -2em; } +.footnote > .label { margin-left: -1.7em; } +.footnote.superscript > .label { margin-left: -1.0em; } + +.footnote > .label + *, +.citation > .label + * { + display: inline-block; + margin-top: 0; + vertical-align: top; +} +.footnote > .backrefs + *, +.citation > .backrefs + * { + margin-top: 0; +} +.footnote > .label + p, .footnote > .backrefs + p, +.citation > .label + p, .citation > .backrefs + p { + display: inline; + vertical-align: inherit; +} + +.backrefs { user-select: none; } +.backrefs > a { font-style: italic; } + +/* superscript footnotes */ +a[role="doc-noteref"].superscript, +.footnote.superscript > .label, +.footnote.superscript > .backrefs { vertical-align: super; - font-size: small; + font-size: smaller; + line-height: 1; +} +a[role="doc-noteref"].superscript > .fn-bracket, +.footnote.superscript > .label > .fn-bracket { + /* hide brackets in display but leave for copy/paste */ + display: inline-block; + width: 0; + overflow: hidden; +} +[role="doc-noteref"].superscript + [role="doc-noteref"].superscript { + padding-left: 0.15em; /* separate consecutive footnote references */ + /* TODO: unfortunately, "+" also selects with text between the references. */ } -dt.label > span.fn-backref { margin-left: 0.2em; } -dt.label > span.fn-backref > a { font-style: italic; } -/* Figures, Images, and Tables */ -.figure.align-left, -figure.align-left, -img.align-left, -object.align-left, -table.align-left { +/* Alignment */ +.align-left { + text-align: left; margin-right: auto; } -.figure.align-center, -figure.align-center, -img.align-center, -object.align-center, -table.align-center { +.align-center { + text-align: center; margin-left: auto; margin-right: auto; } -.figure.align-right, -figure.align-right, -img.align-right, -object.align-right, -table.align-right { +.align-right { + text-align: right; margin-left: auto; } -img.align-center, img.align-right, -object.align-center, object.align-right { - display: block; -} +.align-top { vertical-align: top; } +.align-middle { vertical-align: middle; } +.align-bottom { vertical-align: bottom; } + /* reset inner alignment in figures and tables */ -.figure.align-left, .figure.align-right, figure.align-left, figure.align-right, table.align-left, table.align-center, table.align-right { text-align: inherit; } -/* Sidebar */ -aside.sidebar { - width: 30%; - max-width: 26em; - float: right; - clear: right; -} - /* Text Blocks */ -blockquote, -div.topic, -div.admonition, -div.system-message { - margin-left: 2em; - margin-right: 2em; +.topic { margin: 1em 2em; } +.sidebar, +.admonition, +.system-message { + margin: 1em 2em; + border: thin solid; + padding: 0.5em 1em; } div.line-block { display: block; } -div.line-block div.line-block { - margin: 0 0 0 2em; -} -pre { margin-left: 2em; } -pre.code .ln { color: gray; } /* line numbers */ +div.line-block div.line-block, pre { margin-left: 2em; } +/* Code line numbers: dropped when copying text from the page */ +pre.code .ln { display: none; } +pre.code code:before { + content: attr(data-lineno); /* …, none) fallback not supported by any browser */ + color: gray; +} /* Tables */ -table { border-collapse: collapse; } +table { + border-collapse: collapse; +} td, th { - border-style: solid; - border-color: silver; + border: thin solid silver; padding: 0 1ex; - border-width: thin; } -td > p:first-child, th > p:first-child { margin-top: 0; } -td > p, th > p { margin-bottom: 0; } +.borderless td, .borderless th { + border: 0; + padding: 0; + padding-right: 0.5em /* separate table cells */ +} table > caption { text-align: left; @@ -259,25 +272,24 @@ table.captionbelow { caption-side: bottom; } -table.borderless td, table.borderless th { - border: 0; - padding: 0; - padding-right: 0.5em /* separate table cells */ -} - /* Document Header and Footer */ header { border-bottom: 1px solid black; } footer { border-top: 1px solid black; } -/* new HTML5 block elements: set display for older browsers */ -header, section, footer, aside, nav, main, article, figure { +/* Images are block-level by default in Docutils */ +/* New HTML5 block elements: set display for older browsers */ +img, header, footer, main, aside, nav, section, figure, video, details { display: block; } +/* inline images */ +p img, p video, figure img, figure video { + display: inline; +} </style> <style type="text/css"> -/* CSS3_ style sheet for the output of Docutils HTML writers. */ +/* CSS3_ style sheet for the output of Docutils HTML5 writer. */ /* Generic responsive design for all screen sizes. */ /* */ /* :Author: Günter Milde */ @@ -294,119 +306,113 @@ header, section, footer, aside, nav, main, article, figure { /* This file is offered as-is, without any warranty. */ /* */ /* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */ -/* .. _CSS3: http://www.w3.org/TR/CSS3 */ +/* .. _CSS3: https://www.w3.org/Style/CSS/ */ + +/* Note: */ +/* This style sheet is provisional: */ +/* the API is not settled and may change with any minor Docutils version. */ + /* General Settings */ /* ================ */ -/* Suited for all screen sizes or special to small ones (mobile first). */ -/* For adaption to larger screens see media queries below */ -@viewport { - zoom: 1.0; - width: extend-to-zoom; -} + +* { box-sizing: border-box; } body { background-color: #fafaf6; -/* background-color: #fefdfb; */ - font-size: larger; - line-height: 1.4; margin: auto; + --field-indent: 6.6em; /* indent of fields in field lists */ + --sidebar-margin-right: 0; /* adapted in media queries below */ } main { counter-reset: figure table; } -main, header, footer { - padding: 0.5em 5%; - background-color: #fefefc; - max-width: 66em; -} - -main > *, section > * { - max-width: 55em; /* ca. 90…100 characters */ +body > * { + background-color: white; + line-height: 1.6; + padding: 0.5rem calc(29% - 7.2rem); /* go from 5% to 15% (8.15em/54em) */ + margin: auto; + max-width: 100rem; } -main > section, section > section { - max-width: 100%; +sup, sub { /* avoid additional inter-line space for lines with sup/sub */ + line-height: 1; } /* Vertical Space (Parskip) */ p, ol, ul, dl, li, div.line-block, -div.topic, +.topic, +.footnote, .citation, +div > math, table { margin-top: 0.5em; margin-bottom: 0.5em; } h1, h2, h3, h4, h5, h6, -dl > dd { +dl > dd, details > p:last-child { margin-bottom: 0.5em; } -/* exceptions */ -p:first-child { - margin-top: 0; -} -p:last-child { - margin-bottom: 0; -} -blockquote > table, -div.topic > table { - margin-top: 0; - margin-bottom: 0; -} /* Indented Blocks */ -blockquote, -figure, -div.topic { - /* background-color: Honeydew; */ - margin: 0.5em 2%; +blockquote, figure, .topic { + margin: 1em 2%; padding-left: 1em; } div.line-block div.line-block, -dl.option-list, -.literal-block, -pre { - /* background-color: LightCyan; */ +pre, dd, dl.option-list { margin-left: calc(2% + 1em); } /* Object styling */ /* ============== */ -footer > *, header > *, -aside.sidebar > *, .marginal > * { - font-size: smaller; +footer, header { + font-size: small; } /* Frontmatter */ -blockquote.dedication, -div.topic.dedication { +div.dedication { padding: 0; - margin-left: 0; + margin: 1.4em 0; font-style: italic; - font-size: larger; + font-size: large; } -/* div.abstract p.topic-title, */ -div.dedication p.topic-title { +.dedication p.topic-title { display: none; } blockquote p.attribution, -div.topic p.attribution { +.topic p.attribution { text-align: right; } /* Table of Contents */ -div.topic.contents { - padding: 0; +nav.contents ul { + padding-left: 1em; } -ul.auto-toc > li > p { +ul.auto-toc > li > p { /* hanging indent */ padding-left: 1em; text-indent: -1em; } -div.topic.contents ul { - padding-left: 1em; +main > nav.contents ul:not(.auto-toc) { + list-style-type: square; +} +main > nav.contents ul ul:not(.auto-toc) { + list-style-type: disc; +} +main > nav.contents ul ul ul:not(.auto-toc) { + list-style-type: '\2B29\ '; +} +main > nav.contents ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B1D\ '; +} +main > nav.contents ul ul ul ul ul:not(.auto-toc) { + list-style-type: '\2B2A\ '; +} +nav.contents ul > li::marker { + color: grey; } /* Transitions */ @@ -416,54 +422,51 @@ hr { /* Lists */ -/* Smaller indent on small screens */ ul, ol { - padding-left: 1.1em; -} -dd { - margin-left: 1.5em; + padding-left: 1.1em; /* indent by bullet width (Firefox, DejaVu fonts) */ } -dl.field-list > dd { - margin-left: 4em; +dl.field-list > dd, +dl.docinfo > dd { + margin-left: var(--field-indent); /* adapted in media queries or HTML */ } -dl.field-list.narrow > dd, -dl.docinfo > dd, dl.option-list > dd { - margin-left: 2.4em; + margin-left: 20%; } /* run-in: start field-body on same line after long field names */ dl.field-list.run-in > dd p { display: block; } - /* "description style" like in most dictionaries, encyclopedias etc. */ +dl.description { + display: flow-root; +} dl.description > dt { clear: left; float: left; margin: 0; padding: 0; - padding-right: 0.5em; + padding-right: 0.3em; font-weight: bold; } dl.description > dd:after { - display: block; + display: table; content: ""; - clear: both; + clear: left; /* clearfix for empty descriptions */ } /* start lists nested in description/field lists on new line */ dd > dl:first-child, dd > ul:first-child, dd > ol:first-child { - clear: left; + clear: left; } + +/* disclosures */ +details { padding-left: 1em; } +summary { margin-left: -1em; } + /* Footnotes and Citations */ -/* TODO: use <aside> */ -dl.footnote { - font-size: smaller; - padding-left: 0.5em; -/* text-indent: -0.5em; */ - border-left: solid; - border-left-width: thin; +.footnote { + font-size: small; } /* Images, Figures, and Tables */ @@ -475,39 +478,36 @@ figure > img, figure > a > img { display: inline; } -table tr { - text-align: left; -} - -/* th { vertical-align: bottom; } */ -/* "booktabs" style (no vertical lines) */ -table.booktabs { - border-top: 2px solid; - border-bottom: 2px solid; -} -table.booktabs * { - border: 0; -} -table.booktabs th { - border-bottom: thin solid; -} - figcaption, table > caption { - /* font-size: smaller; */ + /* font-size: small; */ font-style: italic; } figcaption > .legend { - font-size: smaller; + font-size: small; font-style: initial; } - figure.numbered > figcaption > p:before { counter-increment: figure; content: "Figure " counter(figure) ": "; font-weight: bold; font-style: initial; } + +table tr { + text-align: left; + vertical-align: baseline; +} +table.booktabs { /* "booktabs" style (no vertical lines) */ + border-top: 2px solid; + border-bottom: 2px solid; +} +table.booktabs * { + border: 0; +} +table.booktabs th { + border-bottom: thin solid; +} table.numbered > caption:before { counter-increment: table; content: "Table " counter(table) ": "; @@ -516,19 +516,16 @@ table.numbered > caption:before { } /* Admonitions and System Messages */ -div.admonition, +.admonition, div.system-message { - box-sizing: border-box; - border-style: solid; - border-color: silver; - border-width: thin; + border: thin solid silver; margin: 1em 2%; - padding: 0.5em; + padding: 0.5em 1em; } -div.caution p.admonition-title, -div.attention p.admonition-title, -div.danger p.admonition-title, -div.warning p.admonition-title, +.caution p.admonition-title, +.attention p.admonition-title, +.danger p.admonition-title, +.warning p.admonition-title, div.error { color: maroon; } @@ -537,17 +534,19 @@ div.system-message > p > span.literal { } /* Literal and Code */ -pre { - /* font-family: Consolas, "Liberation Mono", Menlo, monospace; */ - /* font-size: 0.9em; */ - overflow: auto; - margin-right: -5%; +pre.literal-block, pre.doctest{ + padding: 0.2em; + overflow-x: auto; +} +.literal-block, .doctest, span.literal { + background-color: #f6f9f8; +} +.system-message span.literal { + background-color: inherit; } - -pre.code .ln { color: gray; } /* line numbers */ /* basic highlighting: for a complete scheme, see */ -/* http://docutils.sourceforge.net/sandbox/stylesheets/ */ +/* https://docutils.sourceforge.io/sandbox/stylesheets/ */ pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } pre.code .literal.string, code .literal.string { color: #0C5404 } @@ -555,45 +554,57 @@ pre.code .name.builtin, code .name.builtin { color: #352B84 } pre.code .deleted, code .deleted { background-color: #DEB0A1} pre.code .inserted, code .inserted { background-color: #A3D289} - - -.sans { - font-family: "Gill Sans", "Gill Sans MT", Calibri, "Lucida Sans", "Noto Sans", sans-serif; - letter-spacing: .02em; -} - /* Hyperlink References */ -/* underline that clears descenders */ a { - text-decoration: none; - text-decoration-skip-ink: auto; /* nonstandard selector */ -} -a:link{ + text-decoration: none; /* for chromium */ + /* Wrap links at any place, if this is the only way to prevent overflow */ overflow-wrap: break-word; } -/* undecorated links */ -a[href^="#system-message"], -.contents a, a.toc-backref, a.image-reference, -a.footnote-reference, a.fn-backref, .fn-backref a, -a.citation-reference { +.contents a, a.toc-backref, a.citation-reference { + overflow-wrap: inherit; +} +/* Undecorated Links (see also minimal.css) */ +/* a.citation-reference, */ +.citation a.fn-backref { color: inherit; } -a:link:hover { +a:hover { text-decoration: underline; } - +*:hover > a.toc-backref:after { + content: " \2191"; /* ↑ UPWARDS ARROW */ + color: grey; +} +*:hover > a.self-link:after { + content: "\1F517"; /* LINK SYMBOL */ + color: grey; + font-size: smaller; + margin-left: 0.2em; +} +/* highlight the target of the current URL */ +section:target > h2, section:target > h3, section:target > h4, +section:target > h5, section:target > h6, +.contents :target, +.contents:target > .topic-title, +[role="doc-biblioentry"]:target > .label, +[role="doc-biblioref"]:target, +[role="note"]:target, /* Docutils 0.18 ... 0.19 */ +[role="doc-footnote"]:target, /* Docutils >= 0.20 */ +[role="doc-noteref"]:target { + background-color: #d2e6ec; +} /* Block Alignment */ /* Let content flow to the side of aligned images and figures */ /* no floats around this elements */ -dl.footnote, dl.citation, /* errors with internal floats */ -footer, header, hr, -h1, h2, h3, .contents > p.topic-title { +footer, header, hr, +h1, h2, h3 { clear: both; } img.align-left, +video.align-left, figure.align-left, table.align-left { margin-left: 0; @@ -603,146 +614,205 @@ table.align-left { float: left; } img.align-right, +video.align-right, figure.align-right, table.align-right { margin-left: 0.5em; + margin-right: 0; clear: right; float: right; } /* Margin Elements */ /* see below for screen size dependent rules */ -aside.sidebar { -/* overwrite minimal.css */ - width: auto; - max-width: 100%; -/* float: none; */ -} -aside.sidebar, +.sidebar, .marginal, -.admonition.marginal, -.topic.marginal { +.admonition.marginal { + max-width: 40%; + border: none; background-color: #efefea; - box-sizing: border-box; - margin: 0.5em 0; + margin: 0.5em var(--sidebar-margin-right) 0.5em 1em; padding: 0.5em; + padding-left: 0.7em; clear: right; + float: right; + font-size: small; +} +.sidebar { + width: 40%; } -/* Adaptive page layout */ +/* Math */ +/* for math-output=MathML (for math-output=HTML, see math.css) */ +math .boldsymbol { + font-weight: bold; +} +mstyle.mathscr, mi.mathscr { + font-family: STIX; +} -/* larger margins and floating elements moderately small screens */ -/* main text more than around 40 characters/line */ -@media (min-width: 35em) { - /* wider margins */ - main, header, footer { - padding: 0.5em calc(20% - 5rem); - line-height: 1.6 - } - pre { - margin-right: calc(5rem - 20%); +/* Adaptive page layout */ +/* ==================== */ + +@media (max-width: 30em) { + /* Smaller margins and no floating elements for small screens */ + /* (main text less than 40 characters/line) */ + body > * { + padding: 0.5rem 5%; + line-height: 1.4 } - /* floating margin elements */ - aside.sidebar, + .sidebar, .marginal, - .admonition.marginal, - .topic.marginal { - max-width: min(45%, 18em); - margin-left: 1em; - clear: right; - float: right; + .admonition.marginal { + width: auto; + max-width: 100%; + float: none; } - /* more indent for field-list values */ - dl.field-list > dd, - dl.docinfo > dd { - margin-left: 6.4em; + dl.option-list, + pre { + margin-left: 0; } - dl.option-list > dd { - margin-left: 5em; + body { + --field-indent: 4em; } -} - -@media (min-width: 65em) { - /* 2 column layout with wide margin */ - main, header, footer { - padding: 0.5em 15%; + dl.field-list.narrow, dl.docinfo, dl.option-list { + --field-indent: 2.4em; } - aside.sidebar, - .marginal, - .admonition.marginal, - .topic.marginal { - background-color: inherit; - /* background-color: lavender; */ - margin-right: -18%; - padding: 0; + pre, pre * { + font-size: 0.9em; + /* overflow: auto; */ } - .admonition.marginal { padding: 0.5em; } } -/* Move ToC to the left */ -@media (min-width: 100em) { - main, header, footer { - padding-left: min(30%, 36em); +@media (min-width: 54em) { + /* Move ToC to the left */ + /* Main text width before: 70% ≙ 35em ≙ 75…95 chrs (Dejavu/Times) */ + /* after: ≳ 30em ≙ 54…70 chrs (Dejavu/Times) */ + body.with-toc { + padding-left: 8%; + } + body.with-toc > * { + margin-left: 0; + padding-left: 22rem; /* fallback for webkit */ + padding-left: min(22%, 22rem); + padding-right: 7%; } - main > div.topic.contents { + main > nav.contents { /* global ToC */ position: fixed; top: 0; left: 0; - box-sizing: border-box; - width: min(25%, 28em); + width: min(25%, 25em); height: 100vh; margin: 0; background-color: #fafaf6; - padding: 5.5em 2%; + padding: 1em 2% 0 2%; overflow: auto; } - main > div.topic.contents > * { + main > nav.contents > * { padding-left: 0; + line-height: 1.4; + } + main > nav.contents a { + color: inherit; + } +} + +@media (min-width: 70em) { + body { + --field-indent: 9em; + } +} + +@media (min-width: 77em) { + /* Move marginalia to 6rem from right border */ + /* .sidebar, */ + /* .marginal, */ + /* .admonition.marginal { */ + /* margin-right: calc(6rem - 15%); */ + /* } */ + /* BUG: margin is calculated for break point width */ + /* workaround: variable + many breakpoints */ + body > * { + padding-left: 18%; + padding-right: 28%; /* fallback for webkit */ + padding-right: min(28%, 28rem); + --sidebar-margin-right: -20rem; + } + /* limit main text to ~ 50em ≙ 85…100 characters DejaVu rsp. …120 Times */ + body.with-toc > * { + padding-left: min(22%, 22rem); + padding-right: calc(78% - 50rem); /* fallback for webkit */ + padding-right: min(78% - 50rem, 28rem); + --sidebar-margin-right: 0; + } +} + +@media (min-width: 85em) { + body.with-toc > * { + --sidebar-margin-right: -9rem; + } +} + +@media (min-width: 90em) { + /* move marginalia into the margin */ + body > * { + padding-left: min(22%, 22rem); + --sidebar-margin-right: -23rem; + } + body.with-toc > * { + --sidebar-margin-right: -14rem; + } +} + +@media (min-width: 99em) { + /* move marginalia out of main text area */ + body.with-toc > * { + --sidebar-margin-right: -20rem; + } + body > *, body.with-toc > * { /* for webkit */ + padding-left: 22rem; + padding-right: 28rem; + } + .admonition.marginal, + .marginal { + width: 40%; /* make marginal figures, ... "full width" */ + } +} + +@media (min-width: 104em) { + body.with-toc > * { + --sidebar-margin-right: -23rem; } - -/* marginal elements outside of main text */ -@media (min-width: 126em) { - aside.sidebar, - figure.marginal, - .topic.marginal, - p.marginal { - width: min(45%, 18em); - } } </style> </head> -<body> +<body class="with-toc"> <main id="tuenc-greek-def"> <h1 class="title">tuenc-greek.def</h1> <p class="subtitle" id="greek-licr-definitions-for-xetex-and-luatex">Greek LICR definitions for XeTeX and LuaTeX</p> <dl class="docinfo"> -<dt class="copyright">Copyright</dt> +<dt class="copyright">Copyright<span class="colon">:</span></dt> <dd class="copyright">© 2013 Günter Milde</dd> -<dt class="licence">Licence</dt> +<dt class="licence">Licence<span class="colon">:</span></dt> <dd class="licence"><p>This work may be distributed and/or modified under the conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either version 1.3 of this license or any later version.</p> </dd> -<dt class="identification">Identification</dt> +<dt class="identification">Identification<span class="colon">:</span></dt> <dd class="identification"><pre class="literal-block">\ProvidesFile{tuenc-greek.def} -[2020/10/13 2.0 Greek LICRs for XeTeX and LuaTeX]</pre> +[2023/02/28 2.2 Greek LICRs for XeTeX and LuaTeX]</pre> </dd> </dl> -<div class="abstract topic"> +<div class="topic abstract" role="doc-abstract"> <p class="topic-title">Abstract</p> <p>Support for Greek LICR macros and upcasing of text with XeTeX and LuaTeX. Extends <a class="reference internal" href="#tuenc-def">tuenc.def</a>. -Used by <a class="reference external" href="http://ctan.org/pkg/babel-greek">babel-greek</a> and <a class="reference external" href="textalpha.sty.html">textalpha</a>.</p> +Used by <a class="reference external" href="https://ctan.org/pkg/babel-greek">babel-greek</a> and <a class="reference external" href="textalpha.sty.html">textalpha</a>.</p> </div> <dl> <dt><strong>History</strong>:</dt> <dd><table class="borderless"> -<colgroup> -<col style="width: 8%" /> -<col style="width: 14%" /> -<col style="width: 78%" /> -</colgroup> <tbody> <tr><td><p>0.1</p></td> <td><p>2013-07-16</p></td> @@ -787,7 +857,7 @@ fix upcasing of <span class="docutils literal">\finalsigma</span>.</p></td> </tr> <tr><td><p>0.13</p></td> <td><p>2015-08-07</p></td> -<td><p><span class="docutils literal">\lccode</span>/<span class="docutils literal">\uccode</span> corrections from <a class="reference external" href="http://ctan.org/pkg/xgreek">xgreek</a>.</p></td> +<td><p><span class="docutils literal">\lccode</span>/<span class="docutils literal">\uccode</span> corrections from <a class="reference external" href="https://ctan.org/pkg/xgreek">xgreek</a>.</p></td> </tr> <tr><td><!-- --> </td> @@ -826,54 +896,83 @@ fix upcasing of <span class="docutils literal">\finalsigma</span>.</p></td> <td><p>Make the file encoding-independent (required for input in other encodings with <cite>luainputenc</cite>).</p></td> </tr> +<tr><td><p>2.2</p></td> +<td><p>2023-02-28</p></td> +<td><p>Add composite definitions for <span class="docutils literal">\~</span> + literal char.</p></td> +</tr> +<tr><td><!-- --> +</td> +<td></td> +<td><p>Fix order in expansion of combined accent macros.</p></td> +</tr> +<tr><td><!-- --> +</td> +<td></td> +<td><p>Let <span class="docutils literal">\textautosigma</span> select sigma/finalsigma +depending on context (with LaTeX >= 2022/06/01).</p></td> +</tr> +<tr><td><!-- --> +</td> +<td></td> +<td><p>Skip <cite>uccode</cite> fixes when ignored by <span class="docutils literal">\MakeUppercase</span>.</p></td> +</tr> +<tr><td><!-- --> +</td> +<td></td> +<td><p>Add <span class="docutils literal">\textbackepsilon</span> (defined by hyperref for PU).</p></td> +</tr> </tbody> </table> </dd> </dl> -<div class="contents topic" id="contents"> +<nav class="contents" id="contents" role="doc-toc"> <p class="topic-title">Contents</p> <ul class="simple"> -<li><p><a class="reference internal" href="#motivation" id="id1">Motivation</a></p></li> -<li><p><a class="reference internal" href="#requirements" id="id2">Requirements</a></p></li> -<li><p><a class="reference internal" href="#greek-diacritics" id="id3">Greek Diacritics</a></p></li> -<li><p><a class="reference internal" href="#common-definitions" id="id4">Common Definitions</a></p></li> -<li><p><a class="reference internal" href="#character-definitions" id="id5">Character Definitions</a></p> +<li><p><a class="reference internal" href="#motivation" id="toc-entry-1">Motivation</a></p></li> +<li><p><a class="reference internal" href="#requirements" id="toc-entry-2">Requirements</a></p></li> +<li><p><a class="reference internal" href="#greek-diacritics" id="toc-entry-3">Greek Diacritics</a></p></li> +<li><p><a class="reference internal" href="#common-definitions" id="toc-entry-4">Common Definitions</a></p></li> +<li><p><a class="reference internal" href="#character-definitions" id="toc-entry-5">Character Definitions</a></p> +<ul> +<li><p><a class="reference internal" href="#basic-latin" id="toc-entry-6">Basic Latin</a></p></li> +<li><p><a class="reference internal" href="#latin-1-supplement" id="toc-entry-7">Latin 1 Supplement</a></p></li> +<li><p><a class="reference internal" href="#ipa-extensions" id="toc-entry-8">IPA Extensions</a></p></li> +<li><p><a class="reference internal" href="#greek-and-coptic" id="toc-entry-9">Greek and Coptic</a></p></li> +<li><p><a class="reference internal" href="#greek-extended" id="toc-entry-10">Greek Extended</a></p> <ul> -<li><p><a class="reference internal" href="#basic-latin" id="id6">Basic Latin</a></p></li> -<li><p><a class="reference internal" href="#latin-1-supplement" id="id7">Latin 1 Supplement</a></p></li> -<li><p><a class="reference internal" href="#ipa-extensions" id="id8">IPA Extensions</a></p></li> -<li><p><a class="reference internal" href="#greek-and-coptic" id="id9">Greek and Coptic</a></p></li> -<li><p><a class="reference internal" href="#greek-extended" id="id10">Greek Extended</a></p></li> -<li><p><a class="reference internal" href="#letterlike-symbols" id="id11">Letterlike Symbols</a></p></li> -<li><p><a class="reference internal" href="#ancient-greek-numbers" id="id12">Ancient Greek Numbers</a></p></li> +<li><p><a class="reference internal" href="#perispomeni-and-tilde-accent" id="toc-entry-11">Perispomeni and tilde accent</a></p></li> +</ul> +</li> +<li><p><a class="reference internal" href="#letterlike-symbols" id="toc-entry-12">Letterlike Symbols</a></p></li> +<li><p><a class="reference internal" href="#ancient-greek-numbers" id="toc-entry-13">Ancient Greek Numbers</a></p></li> </ul> </li> -<li><p><a class="reference internal" href="#uppercase" id="id13">UPPERCASE</a></p> +<li><p><a class="reference internal" href="#uppercase" id="toc-entry-14">UPPERCASE</a></p> <ul> -<li><p><a class="reference internal" href="#uc-lc-values" id="id14">uc/lc values</a></p></li> -<li><p><a class="reference internal" href="#uclclist" id="id15">uclclist</a></p></li> +<li><p><a class="reference internal" href="#uc-lc-values" id="toc-entry-15">uc/lc values</a></p></li> +<li><p><a class="reference internal" href="#uclclist" id="toc-entry-16">uclclist</a></p></li> </ul> </li> </ul> -</div> +</nav> <section id="motivation"> -<h2><a class="toc-backref" href="#id1">Motivation</a></h2> -<p>LICR macro definitions for the Greek script are missing in <a class="reference internal" href="#tuenc-def">tuenc.def</a> (as well -as the predecessors <a class="reference external" href="http://ctan.org/pkg/xunicode">xunicode</a>, <a class="reference external" href="http://ctan.org/pkg/euenc">euenc</a>).</p> +<h2><a class="toc-backref" href="#toc-entry-1" role="doc-backlink">Motivation</a></h2> +<p>LICR macro definitions for the Greek script are missing in <a class="reference internal" href="#tuenc-def">tuenc.def</a> +(as well as the predecessors <a class="reference external" href="https://ctan.org/pkg/xunicode">xunicode</a> and <a class="reference external" href="https://ctan.org/pkg/euenc">euenc</a>).</p> <p>This file defines <cite>LaTeX Internal Character Representaction</cite> (LICR) macros -for Greek letters and symbols. It works independed of <a class="reference external" href="http://ctan.org/pkg/xunicode">xunicode</a> using the -standard commands for <a class="reference external" href="http://mirror.ctan.org/macros/latex/base/fntguide.pdf">LaTeX2e font selection</a>.</p> +for Greek letters and symbols. It works independed of <a class="reference external" href="https://ctan.org/pkg/xunicode">xunicode</a> using the +standard commands for <a class="reference external" href="https://mirrors.ctan.org/macros/latex/base/fntguide.pdf">LaTeX2e font selection</a>.</p> </section> <section id="requirements"> -<h2><a class="toc-backref" href="#id2">Requirements</a></h2> -<p>Requires XeTeX or LuaTeX (usually with <a class="reference external" href="http://ctan.org/pkg/fontspec">fontspec</a>), the <a class="reference external" href="http://ctan.org/pkg/latex-base">LaTeX base</a> -file <span class="target" id="tuenc-def">tuenc.def</span> that sets up the <a class="reference external" href="http://ctan.org/pkg/encguide">font encoding</a> TU, and a font with +<h2><a class="toc-backref" href="#toc-entry-2" role="doc-backlink">Requirements</a></h2> +<p>Requires XeTeX or LuaTeX (usually with <a class="reference external" href="https://ctan.org/pkg/fontspec">fontspec</a>), the <a class="reference external" href="https://ctan.org/pkg/latex-base">LaTeX base</a> +file <span class="target" id="tuenc-def">tuenc.def</span> that sets up the <a class="reference external" href="https://ctan.org/pkg/encguide">font encoding</a> TU, and a font with Greek characters.</p> <p>See <a class="reference external" href="test-tuenc-greek.tex">test-tuenc-greek.tex</a> and <a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a> for setup and usage examples.</p> </section> <section id="greek-diacritics"> -<h2><a class="toc-backref" href="#id3">Greek Diacritics</a></h2> +<h2><a class="toc-backref" href="#toc-entry-3" role="doc-backlink">Greek Diacritics</a></h2> <p>Define “named macros” for simple and combined diacritics.</p> <ul class="simple"> <li><p>Named accent macros can be used instead of the <span class="docutils literal">\@tabacckludge</span> by @@ -891,51 +990,53 @@ while the (standard) combining tilde is not:</p> <p>Breathings:</p> <p><span class="docutils literal">\accpsili = \acckoronis</span> but the COMBINING GREEK KORONIS is a legacy character, discarded in favour of COMBINING COMMA ABOVE.</p> -<pre class="literal-block">\DeclareUnicodeAccent{\accpsili}\UnicodeEncodingName{"0313} % ψιλή spiritus lenis (smooth breathing) +<pre class="literal-block">\DeclareUnicodeAccent{\accpsili}\UnicodeEncodingName{"0313} % ψιλή spiritus lenis (smooth breathing) COMBINING COMMA ABOVE \DeclareUnicodeAccent{\accdasia}\UnicodeEncodingName{"0314} % δασεῖα spiritus asper (rough breathing)</pre> -<p>Sub-iotas:</p> -<p><span class="docutils literal">\prosgegrammeni</span> is a standard character (see below). -<span class="docutils literal">\ypogegrammeni</span> is a postfix accent (ligature in LGR)</p> +<p>Mute iota:</p> +<p>The following two macros are both used <strong>after</strong> the base character: +<span class="docutils literal">\prosgegrammeni</span> (adscript iota) is a spacing character (see below), +<span class="docutils literal">\ypogegrammeni</span> (subscript iota) is a combining character +(ligature in LGR).</p> <pre class="literal-block">\DeclareTextSymbol{\ypogegrammeni}{\UnicodeEncodingName}{0837} % COMBINING GREEK YPOGEGRAMMENI</pre> <p>Combined diacritics:</p> <p><span class="docutils literal">\DeclareUnicodeAccent</span> does not work with more than one argument:</p> <pre class="literal-block">% The COMBINING DIALYTIKA TONOS is discarded and not well supported by fonts: \DeclareTextCommand{\accdialytikatonos}{\UnicodeEncodingName}[1]{#1\char"0308\char"0301} \DeclareTextCommand{\accdialytikavaria}{\UnicodeEncodingName}[1]{#1\char"0308\char"0300} -\DeclareTextCommand{\accdialytikaperispomeni}{\UnicodeEncodingName}[1]{#1\char"0342\char"0308} +\DeclareTextCommand{\accdialytikaperispomeni}{\UnicodeEncodingName}[1]{#1\char"0308\char"0342} \DeclareTextCommand{\accdasiaoxia}{\UnicodeEncodingName}[1]{#1\char"0314\char"0301} \DeclareTextCommand{\accdasiavaria}{\UnicodeEncodingName}[1]{#1\char"0314\char"0300} \DeclareTextCommand{\accdasiaperispomeni}{\UnicodeEncodingName}[1]{#1\char"0314\char"0342} -\DeclareTextCommand{\accpsilioxia}{\UnicodeEncodingName}[1]{#1\char"0301\char"0313} -\DeclareTextCommand{\accpsilivaria}{\UnicodeEncodingName}[1]{#1\char"0300\char"0313} -\DeclareTextCommand{\accpsiliperispomeni}{\UnicodeEncodingName}[1]{#1\char"0342\char"0313}</pre> +\DeclareTextCommand{\accpsilioxia}{\UnicodeEncodingName}[1]{#1\char"0313\char"0301} +\DeclareTextCommand{\accpsilivaria}{\UnicodeEncodingName}[1]{#1\char"0313\char"0300} +\DeclareTextCommand{\accpsiliperispomeni}{\UnicodeEncodingName}[1]{#1\char"0313\char"0342}</pre> </section> <section id="common-definitions"> -<h2><a class="toc-backref" href="#id4">Common Definitions</a></h2> +<h2><a class="toc-backref" href="#toc-entry-4" role="doc-backlink">Common Definitions</a></h2> <p>Use the <a class="reference external" href="greek-fontenc.def.html">common Greek font encoding definitions</a>:</p> <pre class="literal-block">\renewcommand*{\LastDeclaredEncoding}{\UnicodeEncodingName} \input{greek-fontenc.def}</pre> </section> <section id="character-definitions"> -<h2><a class="toc-backref" href="#id5">Character Definitions</a></h2> +<h2><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Character Definitions</a></h2> <section id="basic-latin"> -<h3><a class="toc-backref" href="#id6">Basic Latin</a></h3> +<h3><a class="toc-backref" href="#toc-entry-6" role="doc-backlink">Basic Latin</a></h3> <p>Compatibility def with LGR:</p> <pre class="literal-block">\DeclareTextSymbol{\textsemicolon}\UnicodeEncodingName{"003B} % ;</pre> </section> <section id="latin-1-supplement"> -<h3><a class="toc-backref" href="#id7">Latin 1 Supplement</a></h3> +<h3><a class="toc-backref" href="#toc-entry-7" role="doc-backlink">Latin 1 Supplement</a></h3> <p>Distinguish MICRO SIGN from letter mu:</p> <pre class="literal-block">\DeclareTextSymbol{\textmicro}\UnicodeEncodingName{"00B5} % µ MICRO SIGN</pre> </section> <section id="ipa-extensions"> -<h3><a class="toc-backref" href="#id8">IPA Extensions</a></h3> +<h3><a class="toc-backref" href="#toc-entry-8" role="doc-backlink">IPA Extensions</a></h3> <pre class="literal-block">\DeclareTextSymbol{\textschwa}\UnicodeEncodingName{"0259} % ə</pre> </section> <section id="greek-and-coptic"> -<h3><a class="toc-backref" href="#id9">Greek and Coptic</a></h3> +<h3><a class="toc-backref" href="#toc-entry-9" role="doc-backlink">Greek and Coptic</a></h3> <pre class="literal-block">% NR Unicode Name % babel name, % PU name % 0370 GREEK CAPITAL LETTER HETA % Ͱ % 0371 GREEK SMALL LETTER HETA % ͱ @@ -956,7 +1057,7 @@ character, discarded in favour of COMBINING COMMA ABOVE.</p> \DeclareUnicodeComposite{\acctonos} {} {"0384} % ΄ GREEK TONOS \DeclareUnicodeComposite{\accdialytikatonos}{} {"0385} % ΅ GREEK DIALYTIKA TONOS \DeclareUnicodeComposite{\'} {\textAlpha} {"0386} % Ά -\DeclareTextSymbol{\textanoteleia} \UnicodeEncodingName{"00B7} % use MIDDLE DOT, not 0387 GREEK ANO TELEIA +\DeclareTextSymbol{\textanoteleia} \UnicodeEncodingName{"00B7} % use MIDDLE DOT, not 0387 GREEK ANO TELEIA \DeclareUnicodeComposite{\'} {\textEpsilon}{"0388} % Έ \DeclareUnicodeComposite{\'} {\textEta} {"0389} % Ή \DeclareUnicodeComposite{\'} {\textIota} {"038A} % Ί @@ -1070,13 +1171,14 @@ character, discarded in favour of COMBINING COMMA ABOVE.</p> \DeclareTextSymbol{\textphisymbol }\UnicodeEncodingName{"03D5} % ϕ \DeclareTextSymbol{\textpisymbol }\UnicodeEncodingName{"03D6} % ϖ \DeclareTextSymbol{\textrhosymbol }\UnicodeEncodingName{"03F1} % ϱ -\DeclareTextSymbol{\textepsilonsymbol}\UnicodeEncodingName{"03F5} % ϵ</pre> +\DeclareTextSymbol{\textepsilonsymbol}\UnicodeEncodingName{"03F5} % ϵ +\DeclareTextSymbol{\textbackepsilon }\UnicodeEncodingName{"03F6} % ϶ not in LGR</pre> <p>Dummy definition (textautosigma is lowercase of textSigma) TODO: implement autosigma for TU:</p> -<pre class="literal-block">\ProvideTextCommand{\textautosigma }\UnicodeEncodingName{\textsigma}</pre> +<pre class="literal-block">\ProvideTextCommand{\textautosigma}{\UnicodeEncodingName}{\MakeLowercase{Σ}}</pre> </section> <section id="greek-extended"> -<h3><a class="toc-backref" href="#id10">Greek Extended</a></h3> +<h3><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">Greek Extended</a></h3> <p>We skip definitions for characters “… WITH OXIA”, because they would overwrite the definitions for “… WITH TONOS” in the <cite>Greek and Coptic</cite> block.</p> @@ -1202,26 +1304,28 @@ block.</p> \DeclareUnicodeComposite{\accvaria} {\textomicron}{"1F78} % ὸ \DeclareUnicodeComposite{\accvaria} {\textupsilon}{"1F7A} % ὺ \DeclareUnicodeComposite{\accvaria} {\textomega} {"1F7C} % ὼ</pre> -<p>Skipping pre-composed characters with sub-iota (ypogegrammeni/prosgegrammeni).</p> -<pre class="literal-block">\DeclareUnicodeComposite{\u} {\textalpha}{"1FB0} % ᾰ -\DeclareUnicodeComposite{\=} {\textalpha}{"1FB1} % ᾱ +<p>Skipping pre-composed characters with mute iota (misleadingly named +… WITH PROSGEGRAMMENI): letter + <span class="docutils literal">\ypogegrammeni</span> is normalized +to the pre-composed character.</p> +<pre class="literal-block">\DeclareUnicodeComposite{\u} {\textalpha} {"1FB0} % ᾰ +\DeclareUnicodeComposite{\=} {\textalpha} {"1FB1} % ᾱ % ᾲ % ᾳ % ᾴ -\DeclareUnicodeComposite{\accperispomeni} {\textalpha}{"1FB6} % ᾶ -\DeclareUnicodeComposite{\~} {\textalpha}{"1FB6} % ᾶ +\DeclareUnicodeComposite{\accperispomeni} {\textalpha} {"1FB6} % ᾶ +\DeclareUnicodeComposite{\~} {\textalpha} {"1FB6} % ᾶ % ᾷ -\DeclareUnicodeComposite{\u} {\textAlpha}{"1FB8} % Ᾰ -\DeclareUnicodeComposite{\=} {\textAlpha}{"1FB9} % Ᾱ -\DeclareUnicodeComposite{\`} {\textAlpha}{"1FBA} % Ὰ -\DeclareUnicodeComposite{\accvaria} {\textAlpha}{"1FBA} % Ὰ +\DeclareUnicodeComposite{\u} {\textAlpha} {"1FB8} % Ᾰ +\DeclareUnicodeComposite{\=} {\textAlpha} {"1FB9} % Ᾱ +\DeclareUnicodeComposite{\`} {\textAlpha} {"1FBA} % Ὰ +\DeclareUnicodeComposite{\accvaria} {\textAlpha} {"1FBA} % Ὰ % ᾼ -\DeclareUnicodeComposite{\accpsili} {} {"1FBD} % ᾽ -\DeclareTextSymbol{\prosgegrammeni}\UnicodeEncodingName {"1FBE} % ι -\DeclareUnicodeComposite{\accpsili} {} {"1FBF} % ᾿ +\DeclareUnicodeComposite{\accpsili} {} {"1FBD} % ᾽ +\DeclareTextSymbol{\prosgegrammeni}\UnicodeEncodingName {"1FBE} % ι +\DeclareUnicodeComposite{\accpsili} {} {"1FBF} % ᾿ -\DeclareUnicodeComposite{\accperispomeni} {} {"1FC0} % ῀ -\DeclareUnicodeComposite{\accdialytikaperispomeni}{} {"1FC1} % ῁ +\DeclareUnicodeComposite{\accperispomeni} {} {"1FC0} % ῀ +\DeclareUnicodeComposite{\accdialytikaperispomeni}{} {"1FC1} % ῁ % ῂ % ῃ % ῄ @@ -1285,22 +1389,46 @@ block.</p> % ῼ \DeclareUnicodeComposite{\accoxia} {} {"1FFD} % ´ \DeclareUnicodeComposite{\accdasia} {} {"1FFE} % ῾</pre> -<p>Diacritics on literal Unicode characters:</p> +<section id="perispomeni-and-tilde-accent"> +<h4><a class="toc-backref" href="#toc-entry-11" role="doc-backlink">Perispomeni and tilde accent</a></h4> +<p>XeTeX and LuaTeX (since 2022) convert letters followed by combining +characters to a pre-composed character, if there is an equivalent +pre-composed character.</p> +<p>The <span class="docutils literal">\accperispomeni</span> macro expands to COMBINING GREEK PERISPOMENI +while the standard short accent macro <span class="docutils literal">\~</span> uses the COMBINING TILDE. +Only <Greek letter> + COMBINING GREEK PERISPOMENI is considered +equivalent to the pre-composed <Greek letter> WITH PERISPOMENI. +Composite definitions for <span class="docutils literal">\~</span> select the pre-composed character:</p> <pre class="literal-block">\DeclareUnicodeComposite{\~}{α}{"1FB6} % ᾶ \DeclareUnicodeComposite{\~}{η}{"1FC6} % ῆ +\DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ +\DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ \DeclareUnicodeComposite{\~}{υ}{"1FE6} % ῦ \DeclareUnicodeComposite{\~}{ω}{"1FF6} % ῶ</pre> +<p>If there is no pre-composed Capital letter with perispomeni, +we want no perispomeni with <span class="docutils literal">\MakeUppercase</span>. +(These definitions may be redundant with the new (2022/06) +implementation of <span class="docutils literal">\MakeUppercase</span>.)</p> +<pre class="literal-block">\DeclareUnicodeComposite{\~}{\textAlpha} {"0391} % Α +\DeclareUnicodeComposite{\~}{Α} {"0391} % Α +\DeclareUnicodeComposite{\~}{\textEta} {"0397} % Η +\DeclareUnicodeComposite{\~}{Η} {"0397} % Η +\DeclareUnicodeComposite{\~}{\textIota} {"0399} % Ι +\DeclareUnicodeComposite{\~}{Ι} {"0399} % Ι +\DeclareUnicodeComposite{\~}{\textUpsilon}{"03A5} % Υ +\DeclareUnicodeComposite{\~}{Υ} {"03A5} % Υ +\DeclareUnicodeComposite{\~}{\textOmega} {"03A9} % Ω +\DeclareUnicodeComposite{\~}{Ω} {"03A9} % Ω</pre> +</section> </section> <section id="letterlike-symbols"> -<h3><a class="toc-backref" href="#id11">Letterlike Symbols</a></h3> +<h3><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">Letterlike Symbols</a></h3> <pre class="literal-block">\DeclareTextSymbol{\textohm}\UnicodeEncodingName{"03A9} % OHM SIGN, use 03A9 Omega</pre> </section> <section id="ancient-greek-numbers"> -<h3><a class="toc-backref" href="#id12">Ancient Greek Numbers</a></h3> +<h3><a class="toc-backref" href="#toc-entry-13" role="doc-backlink">Ancient Greek Numbers</a></h3> <p>TODO: map other chars to corresponding Greek letters. -See also the <a class="reference external" href="http://ctan.org/pkg/grnumalt">grnumalt</a> package.</p> -<p>Definition with literal Unicode characters, because the code-point has 5 -hexadecimal digits:</p> +See also the <a class="reference external" href="https://ctan.org/pkg/grnumalt">grnumalt</a> package.</p> <pre class="literal-block">\DeclareTextSymbol{\textpentedeka }\UnicodeEncodingName{"10144} % GREEK ACROPHONIC ATTIC FIFTY \DeclareTextSymbol{\textpentehekaton}\UnicodeEncodingName{"10145} % GREEK ACROPHONIC ATTIC FIVE HUNDRED \DeclareTextSymbol{\textpenteqilioi }\UnicodeEncodingName{"10146} % GREEK ACROPHONIC ATTIC FIVE THOUSAND @@ -1308,336 +1436,341 @@ hexadecimal digits:</p> </section> </section> <section id="uppercase"> -<h2><a class="toc-backref" href="#id13">UPPERCASE</a></h2> +<h2><a class="toc-backref" href="#toc-entry-14" role="doc-backlink">UPPERCASE</a></h2> <p>Greek letters drop diacritics (eccept dialytika and sub-iota) in UPPERCASE.</p> <section id="uc-lc-values"> -<h3><a class="toc-backref" href="#id14">uc/lc values</a></h3> -<p><span class="docutils literal">\lccode</span> and <span class="docutils literal">\uccode</span> corrections from the <a class="reference external" href="http://ctan.org/pkg/xgreek">xgreek</a> package by Apostolos Syropoulos:</p> -<pre class="literal-block">\global\lccode"0370="0371 \global\uccode"0370="0370 -\global\lccode"0371="0371 \global\uccode"0371="0370 -\global\lccode"0372="0373 \global\uccode"0372="0372 -\global\lccode"0373="0373 \global\uccode"0373="0372 -\global\lccode"0376="0377 \global\uccode"0376="0376 -\global\lccode"0377="0377 \global\uccode"0377="0376 -\global\lccode"03FD="037B \global\uccode"03FD="03FD -\global\lccode"037B="037B \global\uccode"037B="03FD -\global\lccode"03FE="037C \global\uccode"03FE="03FE -\global\lccode"037C="037C \global\uccode"037C="03FE -\global\lccode"03FF="037D \global\uccode"03FF="03FF -\global\lccode"037D="037D \global\uccode"037D="03FF -\global\lccode"0386="03AC \global\uccode"0386="0391 -\global\lccode"0388="03AD \global\uccode"0388="0395 -\global\lccode"0389="03AC \global\uccode"0389="0397 -\global\lccode"038A="03AF \global\uccode"038A="0399 -\global\lccode"038C="03CC \global\uccode"038C="039F -\global\lccode"038E="03CD \global\uccode"038E="03A5 -\global\lccode"038F="03CE \global\uccode"038F="03A9 -\global\lccode"0390="0390 \global\uccode"0390="03AA -\global\lccode"0391="03B1 \global\uccode"0391="0391 -\global\lccode"0392="03B2 \global\uccode"0392="0392 -\global\lccode"0393="03B3 \global\uccode"0393="0393 -\global\lccode"0394="03B4 \global\uccode"0394="0394 -\global\lccode"0395="03B5 \global\uccode"0395="0395 -\global\lccode"0396="03B6 \global\uccode"0396="0396 -\global\lccode"0397="03B7 \global\uccode"0397="0397 -\global\lccode"0398="03B8 \global\uccode"0398="0398 -\global\lccode"0399="03B9 \global\uccode"0399="0399 -\global\lccode"039A="03BA \global\uccode"039A="039A -\global\lccode"039B="03BB \global\uccode"039B="039B -\global\lccode"039C="03BC \global\uccode"039C="039C -\global\lccode"039D="03BD \global\uccode"039D="039D -\global\lccode"039E="03BE \global\uccode"039E="039E -\global\lccode"039F="03BF \global\uccode"039F="039F -\global\lccode"03A0="03C0 \global\uccode"03A0="03A0 -\global\lccode"03A1="03C1 \global\uccode"03A1="03A1 -\global\lccode"03A3="03C3 \global\uccode"03A3="03A3 -\global\lccode"03A4="03C4 \global\uccode"03A4="03A4 -\global\lccode"03A5="03C5 \global\uccode"03A5="03A5 -\global\lccode"03A6="03C6 \global\uccode"03A6="03A6 -\global\lccode"03A7="03C7 \global\uccode"03A7="03A7 -\global\lccode"03A8="03C8 \global\uccode"03A8="03A8 -\global\lccode"03A9="03C9 \global\uccode"03A9="03A9 -\global\lccode"03AA="03CA \global\uccode"03AA="03AA -\global\lccode"03AB="03CB \global\uccode"03AB="03AB -\global\lccode"03AC="03AC \global\uccode"03AC="0391 -\global\lccode"03AD="03AD \global\uccode"03AD="0395 -\global\lccode"03AE="03AE \global\uccode"03AE="0397 -\global\lccode"03AF="03AF \global\uccode"03AF="0399 -\global\lccode"03B0="03B0 \global\uccode"03B0="03AB -\global\lccode"03B1="03B1 \global\uccode"03B1="0391 -\global\lccode"03B2="03B2 \global\uccode"03B2="0392 -\global\lccode"03B3="03B3 \global\uccode"03B3="0393 -\global\lccode"03B4="03B4 \global\uccode"03B4="0394 -\global\lccode"03B5="03B5 \global\uccode"03B5="0395 -\global\lccode"03B6="03B6 \global\uccode"03B6="0396 -\global\lccode"03B7="03B7 \global\uccode"03B7="0397 -\global\lccode"03B8="03B8 \global\uccode"03B8="0398 -\global\lccode"03B9="03B9 \global\uccode"03B9="0399 -\global\lccode"03BA="03BA \global\uccode"03BA="039A -\global\lccode"03BB="03BB \global\uccode"03BB="039B -\global\lccode"03BC="03BC \global\uccode"03BC="039C -\global\lccode"03BD="03BD \global\uccode"03BD="039D -\global\lccode"03BE="03BE \global\uccode"03BE="039E -\global\lccode"03BF="03BF \global\uccode"03BF="039F -\global\lccode"03C0="03C0 \global\uccode"03C0="03A0 -\global\lccode"03C1="03C1 \global\uccode"03C1="03A1 -\global\lccode"03C2="03C2 \global\uccode"03C2="03A3 -\global\lccode"03C3="03C3 \global\uccode"03C3="03A3 -\global\lccode"03C4="03C4 \global\uccode"03C4="03A4 -\global\lccode"03C5="03C5 \global\uccode"03C5="03A5 -\global\lccode"03C6="03C6 \global\uccode"03C6="03A6 -\global\lccode"03C7="03C7 \global\uccode"03C7="03A7 -\global\lccode"03C8="03C8 \global\uccode"03C8="03A8 -\global\lccode"03C9="03C9 \global\uccode"03C9="03A9 -\global\lccode"03CA="03CA \global\uccode"03CA="03AA -\global\lccode"03CB="03CB \global\uccode"03CB="03AB -\global\lccode"03CC="03CC \global\uccode"03CC="039F -\global\lccode"03CD="03CD \global\uccode"03CD="03A5 -\global\lccode"03CE="03CE \global\uccode"03CE="03A9 -\global\lccode"03D0="03D0 \global\uccode"03D0="0392 -\global\lccode"03D1="03D1 \global\uccode"03D1="0398 -\global\lccode"03D2="03C5 \global\uccode"03D2="03A5 -\global\lccode"03D3="03CD \global\uccode"03D3="03A5 -\global\lccode"03D4="03CB \global\uccode"03D4="03AB -\global\lccode"03D5="03C6 \global\uccode"03D5="03A6 -\global\lccode"03D6="03C0 \global\uccode"03D6="03A0 -\global\lccode"03DA="03DB \global\uccode"03DA="03DA -\global\lccode"03DB="03DB \global\uccode"03DB="03DA -\global\lccode"03DC="03DD \global\uccode"03DC="03DC -\global\lccode"03DD="03DD \global\uccode"03DD="03DC -\global\lccode"03DE="03DF \global\uccode"03DE="03DE -\global\lccode"03DF="03DF \global\uccode"03DF="03DE -\global\lccode"03E0="03E1 \global\uccode"03E0="03E0 -\global\lccode"03E1="03E1 \global\uccode"03E1="03E0 -\global\lccode"03F0="03BA \global\uccode"03F0="039A -\global\lccode"03F1="03C1 \global\uccode"03F1="03A1 -\global\lccode"03F2="03F2 \global\uccode"03F2="03F9 -\global\lccode"03F9="03F2 \global\uccode"03F9="03F9 -\global\lccode"1F00="1F00 \global\uccode"1F00="0391 -\global\lccode"1F01="1F01 \global\uccode"1F01="0391 -\global\lccode"1F02="1F02 \global\uccode"1F02="0391 -\global\lccode"1F03="1F03 \global\uccode"1F03="0391 -\global\lccode"1F04="1F04 \global\uccode"1F04="0391 -\global\lccode"1F05="1F05 \global\uccode"1F05="0391 -\global\lccode"1F06="1F06 \global\uccode"1F06="0391 -\global\lccode"1F07="1F07 \global\uccode"1F07="0391 -\global\lccode"1F08="1F00 \global\uccode"1F08="0391 -\global\lccode"1F09="1F01 \global\uccode"1F09="0391 -\global\lccode"1F0A="1F02 \global\uccode"1F0A="0391 -\global\lccode"1F0B="1F03 \global\uccode"1F0B="0391 -\global\lccode"1F0C="1F04 \global\uccode"1F0C="0391 -\global\lccode"1F0D="1F05 \global\uccode"1F0D="0391 -\global\lccode"1F0E="1F06 \global\uccode"1F0E="0391 -\global\lccode"1F0F="1F07 \global\uccode"1F0F="0391 -\global\lccode"1F10="1F10 \global\uccode"1F10="0395 -\global\lccode"1F11="1F11 \global\uccode"1F11="0395 -\global\lccode"1F12="1F12 \global\uccode"1F12="0395 -\global\lccode"1F13="1F13 \global\uccode"1F13="0395 -\global\lccode"1F14="1F14 \global\uccode"1F14="0395 -\global\lccode"1F15="1F15 \global\uccode"1F15="0395 -\global\lccode"1F18="1F10 \global\uccode"1F18="0395 -\global\lccode"1F19="1F11 \global\uccode"1F19="0395 -\global\lccode"1F1A="1F12 \global\uccode"1F1A="0395 -\global\lccode"1F1B="1F13 \global\uccode"1F1B="0395 -\global\lccode"1F1C="1F14 \global\uccode"1F1C="0395 -\global\lccode"1F1D="1F15 \global\uccode"1F1D="0395 -\global\lccode"1F20="1F20 \global\uccode"1F20="0397 -\global\lccode"1F21="1F21 \global\uccode"1F21="0397 -\global\lccode"1F22="1F22 \global\uccode"1F22="0397 -\global\lccode"1F23="1F23 \global\uccode"1F23="0397 -\global\lccode"1F24="1F24 \global\uccode"1F24="0397 -\global\lccode"1F25="1F25 \global\uccode"1F25="0397 -\global\lccode"1F26="1F26 \global\uccode"1F26="0397 -\global\lccode"1F27="1F27 \global\uccode"1F27="0397 -\global\lccode"1F28="1F20 \global\uccode"1F28="0397 -\global\lccode"1F29="1F21 \global\uccode"1F29="0397 -\global\lccode"1F2A="1F22 \global\uccode"1F2A="0397 -\global\lccode"1F2B="1F23 \global\uccode"1F2B="0397 -\global\lccode"1F2C="1F24 \global\uccode"1F2C="0397 -\global\lccode"1F2D="1F25 \global\uccode"1F2D="0397 -\global\lccode"1F2E="1F26 \global\uccode"1F2E="0397 -\global\lccode"1F2F="1F27 \global\uccode"1F2F="0397 -\global\lccode"1F30="1F30 \global\uccode"1F30="0399 -\global\lccode"1F31="1F31 \global\uccode"1F31="0399 -\global\lccode"1F32="1F32 \global\uccode"1F32="0399 -\global\lccode"1F33="1F33 \global\uccode"1F33="0399 -\global\lccode"1F34="1F34 \global\uccode"1F34="0399 -\global\lccode"1F35="1F35 \global\uccode"1F35="0399 -\global\lccode"1F36="1F36 \global\uccode"1F36="0399 -\global\lccode"1F37="1F37 \global\uccode"1F37="0399 -\global\lccode"1F38="1F30 \global\uccode"1F38="0399 -\global\lccode"1F39="1F31 \global\uccode"1F39="0399 -\global\lccode"1F3A="1F32 \global\uccode"1F3A="0399 -\global\lccode"1F3B="1F33 \global\uccode"1F3B="0399 -\global\lccode"1F3C="1F34 \global\uccode"1F3C="0399 -\global\lccode"1F3D="1F35 \global\uccode"1F3D="0399 -\global\lccode"1F3E="1F36 \global\uccode"1F3E="0399 -\global\lccode"1F3F="1F37 \global\uccode"1F3F="0399 -\global\lccode"1F40="1F40 \global\uccode"1F40="039F -\global\lccode"1F41="1F41 \global\uccode"1F41="039F -\global\lccode"1F42="1F42 \global\uccode"1F42="039F -\global\lccode"1F43="1F43 \global\uccode"1F43="039F -\global\lccode"1F44="1F44 \global\uccode"1F44="039F -\global\lccode"1F45="1F45 \global\uccode"1F45="039F -\global\lccode"1F48="1F40 \global\uccode"1F48="039F -\global\lccode"1F49="1F41 \global\uccode"1F49="039F -\global\lccode"1F4A="1F42 \global\uccode"1F4A="039F -\global\lccode"1F4B="1F43 \global\uccode"1F4B="039F -\global\lccode"1F4C="1F44 \global\uccode"1F4C="039F -\global\lccode"1F4D="1F45 \global\uccode"1F4D="039F -\global\lccode"1F50="1F50 \global\uccode"1F50="03A5 -\global\lccode"1F51="1F51 \global\uccode"1F51="03A5 -\global\lccode"1F52="1F52 \global\uccode"1F52="03A5 -\global\lccode"1F53="1F53 \global\uccode"1F53="03A5 -\global\lccode"1F54="1F54 \global\uccode"1F54="03A5 -\global\lccode"1F55="1F55 \global\uccode"1F55="03A5 -\global\lccode"1F56="1F56 \global\uccode"1F56="03A5 -\global\lccode"1F57="1F57 \global\uccode"1F57="03A5 -\global\lccode"1F59="1F51 \global\uccode"1F59="03A5 -\global\lccode"1F5B="1F53 \global\uccode"1F5B="03A5 -\global\lccode"1F5D="1F55 \global\uccode"1F5D="03A5 -\global\lccode"1F5F="1F57 \global\uccode"1F5F="03A5 -\global\lccode"1F60="1F60 \global\uccode"1F60="03A9 -\global\lccode"1F61="1F61 \global\uccode"1F61="03A9 -\global\lccode"1F62="1F62 \global\uccode"1F62="03A9 -\global\lccode"1F63="1F63 \global\uccode"1F63="03A9 -\global\lccode"1F64="1F64 \global\uccode"1F64="03A9 -\global\lccode"1F65="1F65 \global\uccode"1F65="03A9 -\global\lccode"1F66="1F66 \global\uccode"1F66="03A9 -\global\lccode"1F67="1F67 \global\uccode"1F67="03A9 -\global\lccode"1F68="1F60 \global\uccode"1F68="03A9 -\global\lccode"1F69="1F61 \global\uccode"1F69="03A9 -\global\lccode"1F6A="1F62 \global\uccode"1F6A="03A9 -\global\lccode"1F6B="1F63 \global\uccode"1F6B="03A9 -\global\lccode"1F6C="1F64 \global\uccode"1F6C="03A9 -\global\lccode"1F6D="1F65 \global\uccode"1F6D="03A9 -\global\lccode"1F6E="1F66 \global\uccode"1F6E="03A9 -\global\lccode"1F6F="1F67 \global\uccode"1F6F="03A9 -\global\lccode"1F70="1F70 \global\uccode"1F70="0391 -\global\lccode"1F71="1F71 \global\uccode"1F71="0391 -\global\lccode"1F72="1F72 \global\uccode"1F72="0395 -\global\lccode"1F73="1F73 \global\uccode"1F73="0395 -\global\lccode"1F74="1F74 \global\uccode"1F74="0397 -\global\lccode"1F75="1F75 \global\uccode"1F75="0397 -\global\lccode"1F76="1F76 \global\uccode"1F76="0399 -\global\lccode"1F77="1F77 \global\uccode"1F77="0399 -\global\lccode"1F78="1F78 \global\uccode"1F78="039F -\global\lccode"1F79="1F79 \global\uccode"1F79="039F -\global\lccode"1F7A="1F7A \global\uccode"1F7A="03A5 -\global\lccode"1F7B="1F7B \global\uccode"1F7B="03A5 -\global\lccode"1F7C="1F7C \global\uccode"1F7C="03A9 -\global\lccode"1F7D="1F7D \global\uccode"1F7D="03A9 -\global\lccode"1F80="1F80 \global\uccode"1F80="1FBC -\global\lccode"1F81="1F81 \global\uccode"1F81="1FBC -\global\lccode"1F82="1F82 \global\uccode"1F82="1FBC -\global\lccode"1F83="1F83 \global\uccode"1F83="1FBC -\global\lccode"1F84="1F84 \global\uccode"1F84="1FBC -\global\lccode"1F85="1F85 \global\uccode"1F85="1FBC -\global\lccode"1F86="1F86 \global\uccode"1F86="1FBC -\global\lccode"1F87="1F87 \global\uccode"1F87="1FBC -\global\lccode"1F88="1F80 \global\uccode"1F88="1FBC -\global\lccode"1F89="1F81 \global\uccode"1F89="1FBC -\global\lccode"1F8A="1F82 \global\uccode"1F8A="1FBC -\global\lccode"1F8B="1F83 \global\uccode"1F8B="1FBC -\global\lccode"1F8C="1F84 \global\uccode"1F8C="1FBC -\global\lccode"1F8D="1F85 \global\uccode"1F8D="1FBC -\global\lccode"1F8E="1F86 \global\uccode"1F8E="1FBC -\global\lccode"1F8F="1F87 \global\uccode"1F8F="1FBC -\global\lccode"1F90="1F90 \global\uccode"1F90="1FCC -\global\lccode"1F91="1F91 \global\uccode"1F91="1FCC -\global\lccode"1F92="1F92 \global\uccode"1F92="1FCC -\global\lccode"1F93="1F93 \global\uccode"1F93="1FCC -\global\lccode"1F94="1F94 \global\uccode"1F94="1FCC -\global\lccode"1F95="1F95 \global\uccode"1F95="1FCC -\global\lccode"1F96="1F96 \global\uccode"1F96="1FCC -\global\lccode"1F97="1F97 \global\uccode"1F97="1FCC -\global\lccode"1F98="1F90 \global\uccode"1F98="1FCC -\global\lccode"1F99="1F91 \global\uccode"1F99="1FCC -\global\lccode"1F9A="1F92 \global\uccode"1F9A="1FCC -\global\lccode"1F9B="1F93 \global\uccode"1F9B="1FCC -\global\lccode"1F9C="1F94 \global\uccode"1F9C="1FCC -\global\lccode"1F9D="1F95 \global\uccode"1F9D="1FCC -\global\lccode"1F9E="1F96 \global\uccode"1F9E="1FCC -\global\lccode"1F9F="1F97 \global\uccode"1F9F="1FCC -\global\lccode"1FA0="1FA0 \global\uccode"1FA0="1FFC -\global\lccode"1FA1="1FA1 \global\uccode"1FA1="1FFC -\global\lccode"1FA2="1FA2 \global\uccode"1FA2="1FFC -\global\lccode"1FA3="1FA3 \global\uccode"1FA3="1FFC -\global\lccode"1FA4="1FA4 \global\uccode"1FA4="1FFC -\global\lccode"1FA5="1FA5 \global\uccode"1FA5="1FFC -\global\lccode"1FA6="1FA6 \global\uccode"1FA6="1FFC -\global\lccode"1FA7="1FA7 \global\uccode"1FA7="1FFC -\global\lccode"1FA8="1FA0 \global\uccode"1FA8="1FFC -\global\lccode"1FA9="1FA1 \global\uccode"1FA9="1FFC -\global\lccode"1FAA="1FA2 \global\uccode"1FAA="1FFC -\global\lccode"1FAB="1FA3 \global\uccode"1FAB="1FFC -\global\lccode"1FAC="1FA4 \global\uccode"1FAC="1FFC -\global\lccode"1FAD="1FA5 \global\uccode"1FAD="1FFC -\global\lccode"1FAE="1FA6 \global\uccode"1FAE="1FFC -\global\lccode"1FAF="1FA7 \global\uccode"1FAF="1FFC -\global\lccode"1FB0="1FB0 \global\uccode"1FB0="1FB8 -\global\lccode"1FB1="1FB1 \global\uccode"1FB1="1FB9 -\global\lccode"1FB2="1FB2 \global\uccode"1FB2="1FBC -\global\lccode"1FB3="1FB3 \global\uccode"1FB3="1FBC -\global\lccode"1FB4="1FB4 \global\uccode"1FB4="1FBC -\global\lccode"1FB6="1FB6 \global\uccode"1FB6="0391 -\global\lccode"1FB7="1FB7 \global\uccode"1FB7="1FBC -\global\lccode"1FB8="1FB0 \global\uccode"1FB8="1FB8 -\global\lccode"1FB9="1FB1 \global\uccode"1FB9="1FB9 -\global\lccode"1FBA="1F70 \global\uccode"1FBA="0391 -\global\lccode"1FBB="1F71 \global\uccode"1FBB="0391 -\global\lccode"1FBC="1FB3 \global\uccode"1FBC="1FBC -\global\lccode"1FBD="1FBD \global\uccode"1FBD="1FBD -\global\lccode"1FC2="1FC2 \global\uccode"1FC2="1FCC -\global\lccode"1FC3="1FC3 \global\uccode"1FC3="1FCC -\global\lccode"1FC4="1FC4 \global\uccode"1FC4="1FCC -\global\lccode"1FC6="1FC6 \global\uccode"1FC6="0397 -\global\lccode"1FC7="1FC7 \global\uccode"1FC7="1FCC -\global\lccode"1FC8="1F72 \global\uccode"1FC8="0395 -\global\lccode"1FC9="1F73 \global\uccode"1FC9="0395 -\global\lccode"1FCA="1F74 \global\uccode"1FCA="0397 -\global\lccode"1FCB="1F75 \global\uccode"1FCB="0397 -\global\lccode"1FCC="1FC3 \global\uccode"1FCC="1FCC -\global\lccode"1FD0="1FD0 \global\uccode"1FD0="1FD8 -\global\lccode"1FD1="1FD1 \global\uccode"1FD1="1FD9 -\global\lccode"1FD2="1FD2 \global\uccode"1FD2="03AA -\global\lccode"1FD3="1FD3 \global\uccode"1FD3="03AA -\global\lccode"1FD6="1FD6 \global\uccode"1FD6="0399 -\global\lccode"1FD7="1FD7 \global\uccode"1FD7="03AA -\global\lccode"1FD8="1FD0 \global\uccode"1FD8="1FD8 -\global\lccode"1FD9="1FD1 \global\uccode"1FD9="1FD9 -\global\lccode"1FDA="1F76 \global\uccode"1FDA="0399 -\global\lccode"1FDB="1F77 \global\uccode"1FDB="0399 -\global\lccode"1FE0="1FE0 \global\uccode"1FE0="1FE8 -\global\lccode"1FE1="1FE1 \global\uccode"1FE1="1FE9 -\global\lccode"1FE2="1FE2 \global\uccode"1FE2="03AB -\global\lccode"1FE3="1FE3 \global\uccode"1FE3="03AB -\global\lccode"1FE4="1FE4 \global\uccode"1FE4="03A1 -\global\lccode"1FE5="1FE5 \global\uccode"1FE5="03A1 -\global\lccode"1FE6="1FE6 \global\uccode"1FE6="03A5 -\global\lccode"1FE7="1FE7 \global\uccode"1FE7="03AB -\global\lccode"1FE8="1FE0 \global\uccode"1FE8="1FE8 -\global\lccode"1FE9="1FE1 \global\uccode"1FE9="1FE9 -\global\lccode"1FEA="1F7A \global\uccode"1FEA="03A5 -\global\lccode"1FEB="1F7B \global\uccode"1FEB="03A5 -\global\lccode"1FEC="1FE5 \global\uccode"1FEC="03A1 -\global\lccode"1FF2="1FF2 \global\uccode"1FF2="1FFC -\global\lccode"1FF3="1FF3 \global\uccode"1FF3="1FFC -\global\lccode"1FF4="1FF4 \global\uccode"1FF4="1FFC -\global\lccode"1FF6="1FF6 \global\uccode"1FF6="03A9 -\global\lccode"1FF7="1FF7 \global\uccode"1FF7="1FFC -\global\lccode"1FF8="1F78 \global\uccode"1FF8="039F -\global\lccode"1FF9="1F79 \global\uccode"1FF9="039F -\global\lccode"1FFA="1F7C \global\uccode"1FFA="03A9 -\global\lccode"1FFB="1F7D \global\uccode"1FFB="03A9 -\global\lccode"1FFC="1FF3 \global\uccode"1FFC="1FFC</pre> +<h3><a class="toc-backref" href="#toc-entry-15" role="doc-backlink">uc/lc values</a></h3> +<p>With the old <span class="docutils literal">\MakeUppercase</span> implementation, we can fix this using +<span class="docutils literal">\lccode</span> and <span class="docutils literal">\uccode</span> corrections from the <a class="reference external" href="https://ctan.org/pkg/xgreek">xgreek</a> package by +Apostolos Syropoulos:</p> +<pre class="literal-block">\IfFormatAtLeastTF{2022/06/01}{ +}{% else + \global\lccode"0370="0371 \global\uccode"0370="0370 + \global\lccode"0371="0371 \global\uccode"0371="0370 + \global\lccode"0372="0373 \global\uccode"0372="0372 + \global\lccode"0373="0373 \global\uccode"0373="0372 + \global\lccode"0376="0377 \global\uccode"0376="0376 + \global\lccode"0377="0377 \global\uccode"0377="0376 + \global\lccode"03FD="037B \global\uccode"03FD="03FD + \global\lccode"037B="037B \global\uccode"037B="03FD + \global\lccode"03FE="037C \global\uccode"03FE="03FE + \global\lccode"037C="037C \global\uccode"037C="03FE + \global\lccode"03FF="037D \global\uccode"03FF="03FF + \global\lccode"037D="037D \global\uccode"037D="03FF + \global\lccode"0386="03AC \global\uccode"0386="0391 + \global\lccode"0388="03AD \global\uccode"0388="0395 + \global\lccode"0389="03AC \global\uccode"0389="0397 + \global\lccode"038A="03AF \global\uccode"038A="0399 + \global\lccode"038C="03CC \global\uccode"038C="039F + \global\lccode"038E="03CD \global\uccode"038E="03A5 + \global\lccode"038F="03CE \global\uccode"038F="03A9 + \global\lccode"0390="0390 \global\uccode"0390="03AA + \global\lccode"0391="03B1 \global\uccode"0391="0391 + \global\lccode"0392="03B2 \global\uccode"0392="0392 + \global\lccode"0393="03B3 \global\uccode"0393="0393 + \global\lccode"0394="03B4 \global\uccode"0394="0394 + \global\lccode"0395="03B5 \global\uccode"0395="0395 + \global\lccode"0396="03B6 \global\uccode"0396="0396 + \global\lccode"0397="03B7 \global\uccode"0397="0397 + \global\lccode"0398="03B8 \global\uccode"0398="0398 + \global\lccode"0399="03B9 \global\uccode"0399="0399 + \global\lccode"039A="03BA \global\uccode"039A="039A + \global\lccode"039B="03BB \global\uccode"039B="039B + \global\lccode"039C="03BC \global\uccode"039C="039C + \global\lccode"039D="03BD \global\uccode"039D="039D + \global\lccode"039E="03BE \global\uccode"039E="039E + \global\lccode"039F="03BF \global\uccode"039F="039F + \global\lccode"03A0="03C0 \global\uccode"03A0="03A0 + \global\lccode"03A1="03C1 \global\uccode"03A1="03A1 + \global\lccode"03A3="03C3 \global\uccode"03A3="03A3 + \global\lccode"03A4="03C4 \global\uccode"03A4="03A4 + \global\lccode"03A5="03C5 \global\uccode"03A5="03A5 + \global\lccode"03A6="03C6 \global\uccode"03A6="03A6 + \global\lccode"03A7="03C7 \global\uccode"03A7="03A7 + \global\lccode"03A8="03C8 \global\uccode"03A8="03A8 + \global\lccode"03A9="03C9 \global\uccode"03A9="03A9 + \global\lccode"03AA="03CA \global\uccode"03AA="03AA + \global\lccode"03AB="03CB \global\uccode"03AB="03AB + \global\lccode"03AC="03AC \global\uccode"03AC="0391 + \global\lccode"03AD="03AD \global\uccode"03AD="0395 + \global\lccode"03AE="03AE \global\uccode"03AE="0397 + \global\lccode"03AF="03AF \global\uccode"03AF="0399 + \global\lccode"03B0="03B0 \global\uccode"03B0="03AB + \global\lccode"03B1="03B1 \global\uccode"03B1="0391 + \global\lccode"03B2="03B2 \global\uccode"03B2="0392 + \global\lccode"03B3="03B3 \global\uccode"03B3="0393 + \global\lccode"03B4="03B4 \global\uccode"03B4="0394 + \global\lccode"03B5="03B5 \global\uccode"03B5="0395 + \global\lccode"03B6="03B6 \global\uccode"03B6="0396 + \global\lccode"03B7="03B7 \global\uccode"03B7="0397 + \global\lccode"03B8="03B8 \global\uccode"03B8="0398 + \global\lccode"03B9="03B9 \global\uccode"03B9="0399 + \global\lccode"03BA="03BA \global\uccode"03BA="039A + \global\lccode"03BB="03BB \global\uccode"03BB="039B + \global\lccode"03BC="03BC \global\uccode"03BC="039C + \global\lccode"03BD="03BD \global\uccode"03BD="039D + \global\lccode"03BE="03BE \global\uccode"03BE="039E + \global\lccode"03BF="03BF \global\uccode"03BF="039F + \global\lccode"03C0="03C0 \global\uccode"03C0="03A0 + \global\lccode"03C1="03C1 \global\uccode"03C1="03A1 + \global\lccode"03C2="03C2 \global\uccode"03C2="03A3 + \global\lccode"03C3="03C3 \global\uccode"03C3="03A3 + \global\lccode"03C4="03C4 \global\uccode"03C4="03A4 + \global\lccode"03C5="03C5 \global\uccode"03C5="03A5 + \global\lccode"03C6="03C6 \global\uccode"03C6="03A6 + \global\lccode"03C7="03C7 \global\uccode"03C7="03A7 + \global\lccode"03C8="03C8 \global\uccode"03C8="03A8 + \global\lccode"03C9="03C9 \global\uccode"03C9="03A9 + \global\lccode"03CA="03CA \global\uccode"03CA="03AA + \global\lccode"03CB="03CB \global\uccode"03CB="03AB + \global\lccode"03CC="03CC \global\uccode"03CC="039F + \global\lccode"03CD="03CD \global\uccode"03CD="03A5 + \global\lccode"03CE="03CE \global\uccode"03CE="03A9 + \global\lccode"03D0="03D0 \global\uccode"03D0="0392 + \global\lccode"03D1="03D1 \global\uccode"03D1="0398 + \global\lccode"03D2="03C5 \global\uccode"03D2="03A5 + \global\lccode"03D3="03CD \global\uccode"03D3="03A5 + \global\lccode"03D4="03CB \global\uccode"03D4="03AB + \global\lccode"03D5="03C6 \global\uccode"03D5="03A6 + \global\lccode"03D6="03C0 \global\uccode"03D6="03A0 + \global\lccode"03DA="03DB \global\uccode"03DA="03DA + \global\lccode"03DB="03DB \global\uccode"03DB="03DA + \global\lccode"03DC="03DD \global\uccode"03DC="03DC + \global\lccode"03DD="03DD \global\uccode"03DD="03DC + \global\lccode"03DE="03DF \global\uccode"03DE="03DE + \global\lccode"03DF="03DF \global\uccode"03DF="03DE + \global\lccode"03E0="03E1 \global\uccode"03E0="03E0 + \global\lccode"03E1="03E1 \global\uccode"03E1="03E0 + \global\lccode"03F0="03BA \global\uccode"03F0="039A + \global\lccode"03F1="03C1 \global\uccode"03F1="03A1 + \global\lccode"03F2="03F2 \global\uccode"03F2="03F9 + \global\lccode"03F9="03F2 \global\uccode"03F9="03F9 + \global\lccode"1F00="1F00 \global\uccode"1F00="0391 + \global\lccode"1F01="1F01 \global\uccode"1F01="0391 + \global\lccode"1F02="1F02 \global\uccode"1F02="0391 + \global\lccode"1F03="1F03 \global\uccode"1F03="0391 + \global\lccode"1F04="1F04 \global\uccode"1F04="0391 + \global\lccode"1F05="1F05 \global\uccode"1F05="0391 + \global\lccode"1F06="1F06 \global\uccode"1F06="0391 + \global\lccode"1F07="1F07 \global\uccode"1F07="0391 + \global\lccode"1F08="1F00 \global\uccode"1F08="0391 + \global\lccode"1F09="1F01 \global\uccode"1F09="0391 + \global\lccode"1F0A="1F02 \global\uccode"1F0A="0391 + \global\lccode"1F0B="1F03 \global\uccode"1F0B="0391 + \global\lccode"1F0C="1F04 \global\uccode"1F0C="0391 + \global\lccode"1F0D="1F05 \global\uccode"1F0D="0391 + \global\lccode"1F0E="1F06 \global\uccode"1F0E="0391 + \global\lccode"1F0F="1F07 \global\uccode"1F0F="0391 + \global\lccode"1F10="1F10 \global\uccode"1F10="0395 + \global\lccode"1F11="1F11 \global\uccode"1F11="0395 + \global\lccode"1F12="1F12 \global\uccode"1F12="0395 + \global\lccode"1F13="1F13 \global\uccode"1F13="0395 + \global\lccode"1F14="1F14 \global\uccode"1F14="0395 + \global\lccode"1F15="1F15 \global\uccode"1F15="0395 + \global\lccode"1F18="1F10 \global\uccode"1F18="0395 + \global\lccode"1F19="1F11 \global\uccode"1F19="0395 + \global\lccode"1F1A="1F12 \global\uccode"1F1A="0395 + \global\lccode"1F1B="1F13 \global\uccode"1F1B="0395 + \global\lccode"1F1C="1F14 \global\uccode"1F1C="0395 + \global\lccode"1F1D="1F15 \global\uccode"1F1D="0395 + \global\lccode"1F20="1F20 \global\uccode"1F20="0397 + \global\lccode"1F21="1F21 \global\uccode"1F21="0397 + \global\lccode"1F22="1F22 \global\uccode"1F22="0397 + \global\lccode"1F23="1F23 \global\uccode"1F23="0397 + \global\lccode"1F24="1F24 \global\uccode"1F24="0397 + \global\lccode"1F25="1F25 \global\uccode"1F25="0397 + \global\lccode"1F26="1F26 \global\uccode"1F26="0397 + \global\lccode"1F27="1F27 \global\uccode"1F27="0397 + \global\lccode"1F28="1F20 \global\uccode"1F28="0397 + \global\lccode"1F29="1F21 \global\uccode"1F29="0397 + \global\lccode"1F2A="1F22 \global\uccode"1F2A="0397 + \global\lccode"1F2B="1F23 \global\uccode"1F2B="0397 + \global\lccode"1F2C="1F24 \global\uccode"1F2C="0397 + \global\lccode"1F2D="1F25 \global\uccode"1F2D="0397 + \global\lccode"1F2E="1F26 \global\uccode"1F2E="0397 + \global\lccode"1F2F="1F27 \global\uccode"1F2F="0397 + \global\lccode"1F30="1F30 \global\uccode"1F30="0399 + \global\lccode"1F31="1F31 \global\uccode"1F31="0399 + \global\lccode"1F32="1F32 \global\uccode"1F32="0399 + \global\lccode"1F33="1F33 \global\uccode"1F33="0399 + \global\lccode"1F34="1F34 \global\uccode"1F34="0399 + \global\lccode"1F35="1F35 \global\uccode"1F35="0399 + \global\lccode"1F36="1F36 \global\uccode"1F36="0399 + \global\lccode"1F37="1F37 \global\uccode"1F37="0399 + \global\lccode"1F38="1F30 \global\uccode"1F38="0399 + \global\lccode"1F39="1F31 \global\uccode"1F39="0399 + \global\lccode"1F3A="1F32 \global\uccode"1F3A="0399 + \global\lccode"1F3B="1F33 \global\uccode"1F3B="0399 + \global\lccode"1F3C="1F34 \global\uccode"1F3C="0399 + \global\lccode"1F3D="1F35 \global\uccode"1F3D="0399 + \global\lccode"1F3E="1F36 \global\uccode"1F3E="0399 + \global\lccode"1F3F="1F37 \global\uccode"1F3F="0399 + \global\lccode"1F40="1F40 \global\uccode"1F40="039F + \global\lccode"1F41="1F41 \global\uccode"1F41="039F + \global\lccode"1F42="1F42 \global\uccode"1F42="039F + \global\lccode"1F43="1F43 \global\uccode"1F43="039F + \global\lccode"1F44="1F44 \global\uccode"1F44="039F + \global\lccode"1F45="1F45 \global\uccode"1F45="039F + \global\lccode"1F48="1F40 \global\uccode"1F48="039F + \global\lccode"1F49="1F41 \global\uccode"1F49="039F + \global\lccode"1F4A="1F42 \global\uccode"1F4A="039F + \global\lccode"1F4B="1F43 \global\uccode"1F4B="039F + \global\lccode"1F4C="1F44 \global\uccode"1F4C="039F + \global\lccode"1F4D="1F45 \global\uccode"1F4D="039F + \global\lccode"1F50="1F50 \global\uccode"1F50="03A5 + \global\lccode"1F51="1F51 \global\uccode"1F51="03A5 + \global\lccode"1F52="1F52 \global\uccode"1F52="03A5 + \global\lccode"1F53="1F53 \global\uccode"1F53="03A5 + \global\lccode"1F54="1F54 \global\uccode"1F54="03A5 + \global\lccode"1F55="1F55 \global\uccode"1F55="03A5 + \global\lccode"1F56="1F56 \global\uccode"1F56="03A5 + \global\lccode"1F57="1F57 \global\uccode"1F57="03A5 + \global\lccode"1F59="1F51 \global\uccode"1F59="03A5 + \global\lccode"1F5B="1F53 \global\uccode"1F5B="03A5 + \global\lccode"1F5D="1F55 \global\uccode"1F5D="03A5 + \global\lccode"1F5F="1F57 \global\uccode"1F5F="03A5 + \global\lccode"1F60="1F60 \global\uccode"1F60="03A9 + \global\lccode"1F61="1F61 \global\uccode"1F61="03A9 + \global\lccode"1F62="1F62 \global\uccode"1F62="03A9 + \global\lccode"1F63="1F63 \global\uccode"1F63="03A9 + \global\lccode"1F64="1F64 \global\uccode"1F64="03A9 + \global\lccode"1F65="1F65 \global\uccode"1F65="03A9 + \global\lccode"1F66="1F66 \global\uccode"1F66="03A9 + \global\lccode"1F67="1F67 \global\uccode"1F67="03A9 + \global\lccode"1F68="1F60 \global\uccode"1F68="03A9 + \global\lccode"1F69="1F61 \global\uccode"1F69="03A9 + \global\lccode"1F6A="1F62 \global\uccode"1F6A="03A9 + \global\lccode"1F6B="1F63 \global\uccode"1F6B="03A9 + \global\lccode"1F6C="1F64 \global\uccode"1F6C="03A9 + \global\lccode"1F6D="1F65 \global\uccode"1F6D="03A9 + \global\lccode"1F6E="1F66 \global\uccode"1F6E="03A9 + \global\lccode"1F6F="1F67 \global\uccode"1F6F="03A9 + \global\lccode"1F70="1F70 \global\uccode"1F70="0391 + \global\lccode"1F71="1F71 \global\uccode"1F71="0391 + \global\lccode"1F72="1F72 \global\uccode"1F72="0395 + \global\lccode"1F73="1F73 \global\uccode"1F73="0395 + \global\lccode"1F74="1F74 \global\uccode"1F74="0397 + \global\lccode"1F75="1F75 \global\uccode"1F75="0397 + \global\lccode"1F76="1F76 \global\uccode"1F76="0399 + \global\lccode"1F77="1F77 \global\uccode"1F77="0399 + \global\lccode"1F78="1F78 \global\uccode"1F78="039F + \global\lccode"1F79="1F79 \global\uccode"1F79="039F + \global\lccode"1F7A="1F7A \global\uccode"1F7A="03A5 + \global\lccode"1F7B="1F7B \global\uccode"1F7B="03A5 + \global\lccode"1F7C="1F7C \global\uccode"1F7C="03A9 + \global\lccode"1F7D="1F7D \global\uccode"1F7D="03A9 + \global\lccode"1F80="1F80 \global\uccode"1F80="1FBC + \global\lccode"1F81="1F81 \global\uccode"1F81="1FBC + \global\lccode"1F82="1F82 \global\uccode"1F82="1FBC + \global\lccode"1F83="1F83 \global\uccode"1F83="1FBC + \global\lccode"1F84="1F84 \global\uccode"1F84="1FBC + \global\lccode"1F85="1F85 \global\uccode"1F85="1FBC + \global\lccode"1F86="1F86 \global\uccode"1F86="1FBC + \global\lccode"1F87="1F87 \global\uccode"1F87="1FBC + \global\lccode"1F88="1F80 \global\uccode"1F88="1FBC + \global\lccode"1F89="1F81 \global\uccode"1F89="1FBC + \global\lccode"1F8A="1F82 \global\uccode"1F8A="1FBC + \global\lccode"1F8B="1F83 \global\uccode"1F8B="1FBC + \global\lccode"1F8C="1F84 \global\uccode"1F8C="1FBC + \global\lccode"1F8D="1F85 \global\uccode"1F8D="1FBC + \global\lccode"1F8E="1F86 \global\uccode"1F8E="1FBC + \global\lccode"1F8F="1F87 \global\uccode"1F8F="1FBC + \global\lccode"1F90="1F90 \global\uccode"1F90="1FCC + \global\lccode"1F91="1F91 \global\uccode"1F91="1FCC + \global\lccode"1F92="1F92 \global\uccode"1F92="1FCC + \global\lccode"1F93="1F93 \global\uccode"1F93="1FCC + \global\lccode"1F94="1F94 \global\uccode"1F94="1FCC + \global\lccode"1F95="1F95 \global\uccode"1F95="1FCC + \global\lccode"1F96="1F96 \global\uccode"1F96="1FCC + \global\lccode"1F97="1F97 \global\uccode"1F97="1FCC + \global\lccode"1F98="1F90 \global\uccode"1F98="1FCC + \global\lccode"1F99="1F91 \global\uccode"1F99="1FCC + \global\lccode"1F9A="1F92 \global\uccode"1F9A="1FCC + \global\lccode"1F9B="1F93 \global\uccode"1F9B="1FCC + \global\lccode"1F9C="1F94 \global\uccode"1F9C="1FCC + \global\lccode"1F9D="1F95 \global\uccode"1F9D="1FCC + \global\lccode"1F9E="1F96 \global\uccode"1F9E="1FCC + \global\lccode"1F9F="1F97 \global\uccode"1F9F="1FCC + \global\lccode"1FA0="1FA0 \global\uccode"1FA0="1FFC + \global\lccode"1FA1="1FA1 \global\uccode"1FA1="1FFC + \global\lccode"1FA2="1FA2 \global\uccode"1FA2="1FFC + \global\lccode"1FA3="1FA3 \global\uccode"1FA3="1FFC + \global\lccode"1FA4="1FA4 \global\uccode"1FA4="1FFC + \global\lccode"1FA5="1FA5 \global\uccode"1FA5="1FFC + \global\lccode"1FA6="1FA6 \global\uccode"1FA6="1FFC + \global\lccode"1FA7="1FA7 \global\uccode"1FA7="1FFC + \global\lccode"1FA8="1FA0 \global\uccode"1FA8="1FFC + \global\lccode"1FA9="1FA1 \global\uccode"1FA9="1FFC + \global\lccode"1FAA="1FA2 \global\uccode"1FAA="1FFC + \global\lccode"1FAB="1FA3 \global\uccode"1FAB="1FFC + \global\lccode"1FAC="1FA4 \global\uccode"1FAC="1FFC + \global\lccode"1FAD="1FA5 \global\uccode"1FAD="1FFC + \global\lccode"1FAE="1FA6 \global\uccode"1FAE="1FFC + \global\lccode"1FAF="1FA7 \global\uccode"1FAF="1FFC + \global\lccode"1FB0="1FB0 \global\uccode"1FB0="1FB8 + \global\lccode"1FB1="1FB1 \global\uccode"1FB1="1FB9 + \global\lccode"1FB2="1FB2 \global\uccode"1FB2="1FBC + \global\lccode"1FB3="1FB3 \global\uccode"1FB3="1FBC + \global\lccode"1FB4="1FB4 \global\uccode"1FB4="1FBC + \global\lccode"1FB6="1FB6 \global\uccode"1FB6="0391 + \global\lccode"1FB7="1FB7 \global\uccode"1FB7="1FBC + \global\lccode"1FB8="1FB0 \global\uccode"1FB8="1FB8 + \global\lccode"1FB9="1FB1 \global\uccode"1FB9="1FB9 + \global\lccode"1FBA="1F70 \global\uccode"1FBA="0391 + \global\lccode"1FBB="1F71 \global\uccode"1FBB="0391 + \global\lccode"1FBC="1FB3 \global\uccode"1FBC="1FBC + \global\lccode"1FBD="1FBD \global\uccode"1FBD="1FBD + \global\lccode"1FC2="1FC2 \global\uccode"1FC2="1FCC + \global\lccode"1FC3="1FC3 \global\uccode"1FC3="1FCC + \global\lccode"1FC4="1FC4 \global\uccode"1FC4="1FCC + \global\lccode"1FC6="1FC6 \global\uccode"1FC6="0397 + \global\lccode"1FC7="1FC7 \global\uccode"1FC7="1FCC + \global\lccode"1FC8="1F72 \global\uccode"1FC8="0395 + \global\lccode"1FC9="1F73 \global\uccode"1FC9="0395 + \global\lccode"1FCA="1F74 \global\uccode"1FCA="0397 + \global\lccode"1FCB="1F75 \global\uccode"1FCB="0397 + \global\lccode"1FCC="1FC3 \global\uccode"1FCC="1FCC + \global\lccode"1FD0="1FD0 \global\uccode"1FD0="1FD8 + \global\lccode"1FD1="1FD1 \global\uccode"1FD1="1FD9 + \global\lccode"1FD2="1FD2 \global\uccode"1FD2="03AA + \global\lccode"1FD3="1FD3 \global\uccode"1FD3="03AA + \global\lccode"1FD6="1FD6 \global\uccode"1FD6="0399 + \global\lccode"1FD7="1FD7 \global\uccode"1FD7="03AA + \global\lccode"1FD8="1FD0 \global\uccode"1FD8="1FD8 + \global\lccode"1FD9="1FD1 \global\uccode"1FD9="1FD9 + \global\lccode"1FDA="1F76 \global\uccode"1FDA="0399 + \global\lccode"1FDB="1F77 \global\uccode"1FDB="0399 + \global\lccode"1FE0="1FE0 \global\uccode"1FE0="1FE8 + \global\lccode"1FE1="1FE1 \global\uccode"1FE1="1FE9 + \global\lccode"1FE2="1FE2 \global\uccode"1FE2="03AB + \global\lccode"1FE3="1FE3 \global\uccode"1FE3="03AB + \global\lccode"1FE4="1FE4 \global\uccode"1FE4="03A1 + \global\lccode"1FE5="1FE5 \global\uccode"1FE5="03A1 + \global\lccode"1FE6="1FE6 \global\uccode"1FE6="03A5 + \global\lccode"1FE7="1FE7 \global\uccode"1FE7="03AB + \global\lccode"1FE8="1FE0 \global\uccode"1FE8="1FE8 + \global\lccode"1FE9="1FE1 \global\uccode"1FE9="1FE9 + \global\lccode"1FEA="1F7A \global\uccode"1FEA="03A5 + \global\lccode"1FEB="1F7B \global\uccode"1FEB="03A5 + \global\lccode"1FEC="1FE5 \global\uccode"1FEC="03A1 + \global\lccode"1FF2="1FF2 \global\uccode"1FF2="1FFC + \global\lccode"1FF3="1FF3 \global\uccode"1FF3="1FFC + \global\lccode"1FF4="1FF4 \global\uccode"1FF4="1FFC + \global\lccode"1FF6="1FF6 \global\uccode"1FF6="03A9 + \global\lccode"1FF7="1FF7 \global\uccode"1FF7="1FFC + \global\lccode"1FF8="1F78 \global\uccode"1FF8="039F + \global\lccode"1FF9="1F79 \global\uccode"1FF9="039F + \global\lccode"1FFA="1F7C \global\uccode"1FFA="03A9 + \global\lccode"1FFB="1F7D \global\uccode"1FFB="03A9 + \global\lccode"1FFC="1FF3 \global\uccode"1FFC="1FFC +}</pre> </section> <section id="uclclist"> -<h3><a class="toc-backref" href="#id15">uclclist</a></h3> +<h3><a class="toc-backref" href="#toc-entry-16" role="doc-backlink">uclclist</a></h3> <p>The common Greek font encoding definitions in <a class="reference external" href="greek-fontenc.def.html">greek-fontenc.def</a> extend the <cite>uclclist</cite> with Greek LICR macros. Here, we add Unicode-specific “<a class="reference external" href="greek-fontenc.def.html#mark-hiatus">hiatus</a>” handling (copied from <a class="reference external" href="lgrenc.def.html">lgrenc.def</a> and changed -Latin transcription to Unicode literals).</p> +Latin transliteration to Unicode literals).</p> <p>The hiatus definition modifications:</p> <pre class="literal-block">\DeclareTextCommand{\LGR@A@hiatus}{\UnicodeEncodingName}{% \LGR@ifnextchar{Ι}{\textAlpha\"}{% |