Kirjoittaja Aihe: Xubuntu 18.04, TeXLive, XeLaTeX ja sanojen tavutus  (Luettu 8007 kertaa)

intikka

  • Käyttäjä
  • Viestejä: 190
    • Profiili
Uusimmassa Xubuntussa TeXLive/XeLaTeX osaa tavuttaa sanat, joissa on
yhdysviiva, vain sen kohdalta, 16.04:ssä myös muualta. Miten sen
toiminnon saa takaisin?

Joo, tiedän, että tavutuksen voi määritellä komennolla \-
esim. ko\-ko\nais\-pin\ta-\-ala, mutta aiemmin se toimi
autoaagisesti.

SuperOscar

  • Käyttäjä
  • Viestejä: 4063
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Xubuntu 18.04, TeXLive, XeLaTeX ja sanojen tavutus
« Vastaus #1 : 26.08.18 - klo:12.37 »
Onko todella *buntu 16.04:ssä TeXin suomenkielinen tavutus siis toiminut niin, että myös yhdysmerkilliset sanat on tavutettu? En ole *buntuja hetkeen käyttänyt työkäyttöön, joten en tiedä.

TeX itsessäänhän määrittelee niin, että tällaisia sanoja ei rivitetä kuin (kovan) yhdysmerkin kohdalta, koska (a) se on englannin typografisten sääntöjen mukaista ja koska (b) Donald Knuth niin päätti.

Pikaisella haulla löysin pari englanninkielistä keskustelua aiheesta.

Ensimmäinen ratkaisu, joka ilmeisesti toimii vain pdflatexissa, ei kokeiluni perusteella XeLaTeXissa, on määritellä:

Koodia: [Valitse]
\hyphenchar\font=\string"7F
XeLaTeXissa tuo merkki 0x7F tuottaa vain ”rastineliön”, mutta ehkä tämäkin ratkaisu toimisi oikealla merkkikoodilla. Ratkaisu esitettiin tässä keskustelussa:

https://tex.stackexchange.com/questions/63232/why-can-words-with-hyphen-char-not-be-hyphenated

Toinen yleisesti käytetty vaihtoehto tuntuu olevan ladata ylimääräinen paketti, joko extdash tai hyphenat, ja kirjoittaa kova yhdysmerkki tekstiin jollakin muulla tapaa (esim. ”kokonaispinta\hyp ala”). Tätä ratkaisua suosittiin tässä keskustelussa:

https://stackoverflow.com/questions/2193307/how-do-i-get-latex-to-hyphenate-a-word-that-contains-a-dash

Itse olen tyytynyt vain ajamaan TeXin (yleensä \sloppy-komentoa käyttäen) ja korjaamaan tavuttamattomat yhdysmerkilliset sanat erikseen pehmein tavutusvihjein (\-) yksi kerrallaan.
pöytäkone 1, NUC: openSUSE Leap 15.6, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

intikka

  • Käyttäjä
  • Viestejä: 190
    • Profiili
Vs: Xubuntu 18.04, TeXLive, XeLaTeX ja sanojen tavutus
« Vastaus #2 : 27.08.18 - klo:10.35 »
Lainaus
Onko todella *buntu 16.04:ssä TeXin suomenkielinen tavutus siis toiminut niin, että myös yhdysmerkilliset sanat on tavutettu?

Niin minä muistelin sillloin, kun kirjoitin viestini, mutta ehkä minulle ei vain ole sattunut tavutettavaksi yhdysmerkillistä sanaa.  8)

SuperOscar

  • Käyttäjä
  • Viestejä: 4063
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Xubuntu 18.04, TeXLive, XeLaTeX ja sanojen tavutus
« Vastaus #3 : 27.08.18 - klo:16.51 »
Tuli taas tänään tekstiä kirjoitellessa tämä ongelma itsellekin vastaan. Huomasin hyväksi puoleksi sen, että yksikin tavutusvihje riittää kertomaan TeXille, että sanaa saa tavuttaa – siis muualtakin kuin kovan yhdysmerkin tai tämän malliksi annetun tavutusvihjeen kohdalta.

Toinen yhdysmerkkeihin liittyvä ongelma muuten kohtaa niitä, jotka XeLaTeXin myötä siirtyvät Babelin käytöstä Polyglossiaan. Jälkimmäisessä ei ilmeisesti ole joitakin Babelille ominaisia erikoismerkintöjä.

Esimerkiksi jos tekstissä on näin:

Koodia: [Valitse]
sananalkuinen ja -loppuinen
…tuo saatetaan rivittää yhdysmerkin kohdalta, jolloin rivin loppuun jää yksinäinen ”tavuviiva” ja kaikki muu siirtyy seuraavalle riville, koska TeX pitää yhdysmerkkiä aina rivityskohtana riippumatta siitä, onko sen edellä mitään. Babelissa piti vain kirjoittaa näin:

Koodia: [Valitse]
sananalkuinen ja "-loppuinen
…mutta Polyglossiassapa tuo ei enää toimi.

Muoks: Korjattu nolo kirjoitusvirhe ;)
« Viimeksi muokattu: 27.08.18 - klo:21.57 kirjoittanut SuperOscar »
pöytäkone 1, NUC: openSUSE Leap 15.6, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

intikka

  • Käyttäjä
  • Viestejä: 190
    • Profiili
Vs: Xubuntu 18.04, TeXLive, XeLaTeX ja sanojen tavutus
« Vastaus #4 : 28.08.18 - klo:07.25 »
Lainaus
Babelissa piti vain kirjoittaa näin:

sananalkuinen ja "-loppuinen

Niin, ja Babelissa tavuviivalliset sanat sai muistaakseni tavutetuksi näin:

kokonaispinta"=ala (vai oliko se näin: kokonaispinta"-ala)?

SuperOscar

  • Käyttäjä
  • Viestejä: 4063
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Xubuntu 18.04, TeXLive, XeLaTeX ja sanojen tavutus
« Vastaus #5 : 28.08.18 - klo:09.53 »
Itse asiassa nyt kun muistutit: huomasin joskus Polyglossian ohjeista, että saksassa on mahdollista ottaa Babel-apukomennot käyttöön käyttämällä babelshorthands-valintaa pakettia ladattaessa.

Asia mainitaan s. 10 Polyglossia-dokkarissa, joka ainakin tältä openSUSE-koneelta löytyy kansiosta /usr/share/texmf/doc/latex/polyglossia.

Itse ”oikotiet” taas määritellään saksan osalta tiedostossa /usr/share/texmf/tex/latex/polyglossia/gloss-german.ldf näin:

Koodia: [Valitse]
  \declare@shorthand{german}{"-}{\nobreak\-\nobreak\hskip\z@skip}%
  \declare@shorthand{german}{"|}{\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}}{}}%
  \declare@shorthand{german}{""}{\hskip\z@skip}%
  \declare@shorthand{german}{"~}{\textormath{\leavevmode\hbox{-}}{-}}%
  \declare@shorthand{german}{"=}{\penalty\@M-\hskip\z@skip}%

Luultavasti nyt ei tarvitsisi kuin keksiä keino napata nuo oikealla tavalla tuosta suomen määrittelytiedostoon gloss-finnish.ldf, ja homma olisi sillä selvä. Viime kerralla jaksoin hetken kokeilla, mutten saanut toimimaan – löytyisikö etevämpiä TeX-tuntijoita jostakin? ::)
pöytäkone 1, NUC: openSUSE Leap 15.6, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

intikka

  • Käyttäjä
  • Viestejä: 190
    • Profiili
Vs: Xubuntu 18.04, TeXLive, XeLaTeX ja sanojen tavutus
« Vastaus #6 : 28.08.18 - klo:19.22 »
Lainaus
Luultavasti nyt ei tarvitsisi kuin keksiä keino napata nuo oikealla tavalla tuosta suomen määrittelytiedostoon gloss-finnish.ldf, ja homma olisi sillä selvä.

Kiitos vihjeestä. Tuntuu toimivan. Kysyin Polyglossian ylläpitäjältä GitHubissa haluaako se päivitetyn tiedoston gloss-finnish.ldf.

SuperOscar

  • Käyttäjä
  • Viestejä: 4063
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Xubuntu 18.04, TeXLive, XeLaTeX ja sanojen tavutus
« Vastaus #7 : 28.08.18 - klo:19.27 »
Kiitos vihjeestä. Tuntuu toimivan. Kysyin Polyglossian ylläpitäjältä GitHubissa haluaako se päivitetyn tiedoston gloss-finnish.ldf.

Heittäisitkö minullekin? Voisin koeajaa ;D
pöytäkone 1, NUC: openSUSE Leap 15.6, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

intikka

  • Käyttäjä
  • Viestejä: 190
    • Profiili
Vs: Xubuntu 18.04, TeXLive, XeLaTeX ja sanojen tavutus
« Vastaus #8 : 29.08.18 - klo:19.01 »
Ennen koeajoa on syytä kopioida alkuperäinen tiedostoturvalliseen paikkaan  :)

Koodia: [Valitse]
\ProvidesFile{gloss-finnish.ldf}[polyglossia: module for finnish]
\PolyglossiaSetup{finnish}{
  hyphennames={finnish},
  hyphenmins={2,2},\documentclass[a4paper,12pt]{article}
\usepackage[babelshorthands]{polyglossia}
\setdefaultlanguage[babelshorthands=true]{finnish}
\hyphenrules{finnish}
\begin{document}
xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx
kokonaispinta"-ala.
\end{document}

  frenchspacing=true,
  fontsetup=true,
}


\define@boolkey{finnish}[finnish@]{babelshorthands}[true]{}
\ifsystem@babelshorthands
  \setkeys{finnish}{babelshorthands=true}
\else
  \setkeys{finnish}{babelshorthands=false}
\fi
\ifcsundef{initiate@active@char}{%
\input{babelsh.def}%
\initiate@active@char{"}%
}{}

\def\finnish@shorthands{%
  \bbl@activate{"}%
  \def\language@group{finnish}%
  \declare@shorthand{finnish}{"-}{\nobreak-\bbl@allowhyphens}
  \declare@shorthand{finnish}{"|}{\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}}{}}%
  \declare@shorthand{finnish}{""}{\hskip\z@skip}%
  \declare@shorthand{finnish}{"~}{\textormath{\leavevmode\hbox{-}}{-}}%
  \declare@shorthand{finnish}{"=}{\penalty\@M-\hskip\z@skip}%
}

\def\nofinnish@shorthands{%
  \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
}


\def\captionsfinnish{%
   \def\refname{Viitteet}%
   \def\abstractname{Tiivistelmä}%
   \def\bibname{Kirjallisuutta}%
   \def\prefacename{Esipuhe}%
   \def\chaptername{Luku}%
   \def\appendixname{Liite}%
   \def\contentsname{Sisältö}%
   \def\listfigurename{Kuvat}%
   \def\listtablename{Taulukot}%
   \def\indexname{Hakemisto}%
   \def\figurename{Kuva}%
   \def\tablename{Taulukko}%
   %\def\thepart{}%
   \def\partname{Osa}%
   \def\pagename{Sivu}%
   \def\seename{katso}%
   \def\alsoname{katso myös}%
   \def\enclname{Liitteet}%
   \def\ccname{Jakelu}%
   \def\headtoname{Vastaanottaja}%
   \def\proofname{Todistus}%
   \def\glossaryname{Sanasto}%
   }
\def\datefinnish{%
   \def\today{\number\day.~\ifcase\month\or
    tammikuuta\or helmikuuta\or maaliskuuta\or huhtikuuta\or
    toukokuuta\or kesäkuuta\or heinäkuuta\or elokuuta\or
    syyskuuta\or lokakuuta\or marraskuuta\or joulukuuta\fi
    \space\number\year}}

\def\noextras@finnish{%
  \nofinnish@shorthands%
}

\def\blockextras@finnish{%
  \iffinnish@babelshorthands\finnish@shorthands\fi%
}

\def\inlineextras@finnish{%
  \iffinnish@babelshorthands\finnish@shorthands\fi%
}

\endinput

% TODO ? this is set in babel:
\gappto\blockextrasfinnish{%
  \babel@savevariable\hyphenpenalty\hyphenpenalty=30%
  \babel@savevariable\exhyphenpenalty\exhyphenpenalty=30%
  \babel@savevariable\doublehyphendemerits\doublehyphendemerits=5000%
  \babel@savevariable\finalhyphendemerits\finalhyphendemerits=5000%
  }
$ cat /media/hannu/KINGSTON/koe.tex
\documentclass[a4paper,12pt]{article}
\usepackage[babelshorthands]{polyglossia}
\setdefaultlanguage[babelshorthands=true]{finnish}
\hyphenrules{finnish}
\begin{document}
xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx
kokonaispinta"-ala.
\end{document}
$ cat /media/hannu/KINGSTON/gloss-finnish.ldf
\ProvidesFile{gloss-finnish.ldf}[polyglossia: module for finnish]
\PolyglossiaSetup{finnish}{
  hyphennames={finnish},
  hyphenmins={2,2},
  frenchspacing=true,
  fontsetup=true,
}


\define@boolkey{finnish}[finnish@]{babelshorthands}[true]{}
\ifsystem@babelshorthands
  \setkeys{finnish}{babelshorthands=true}
\else
  \setkeys{finnish}{babelshorthands=false}
\fi
\ifcsundef{initiate@active@char}{%
\input{babelsh.def}%
\initiate@active@char{"}%
}{}

\def\finnish@shorthands{%
  \bbl@activate{"}%
  \def\language@group{finnish}%
  \declare@shorthand{finnish}{"-}{\nobreak-\bbl@allowhyphens}
  \declare@shorthand{finnish}{"|}{\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}}{}}%
  \declare@shorthand{finnish}{""}{\hskip\z@skip}%
  \declare@shorthand{finnish}{"~}{\textormath{\leavevmode\hbox{-}}{-}}%
  \declare@shorthand{finnish}{"=}{\penalty\@M-\hskip\z@skip}%
}

\def\nofinnish@shorthands{%
  \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
}


\def\captionsfinnish{%
   \def\refname{Viitteet}%
   \def\abstractname{Tiivistelmä}%
   \def\bibname{Kirjallisuutta}%
   \def\prefacename{Esipuhe}%
   \def\chaptername{Luku}%
   \def\appendixname{Liite}%
   \def\contentsname{Sisältö}%
   \def\listfigurename{Kuvat}%
   \def\listtablename{Taulukot}%
   \def\indexname{Hakemisto}%
   \def\figurename{Kuva}%
   \def\tablename{Taulukko}%
   %\def\thepart{}%
   \def\partname{Osa}%
   \def\pagename{Sivu}%
   \def\seename{katso}%
   \def\alsoname{katso myös}%
   \def\enclname{Liitteet}%
   \def\ccname{Jakelu}%
   \def\headtoname{Vastaanottaja}%
   \def\proofname{Todistus}%
   \def\glossaryname{Sanasto}%
   }
\def\datefinnish{%
   \def\today{\number\day.~\ifcase\month\or
    tammikuuta\or helmikuuta\or maaliskuuta\or huhtikuuta\or
    toukokuuta\or kesäkuuta\or heinäkuuta\or elokuuta\or
    syyskuuta\or lokakuuta\or marraskuuta\or joulukuuta\fi
    \space\number\year}}

\def\noextras@finnish{%
  \nofinnish@shorthands%
}

\def\blockextras@finnish{%
  \iffinnish@babelshorthands\finnish@shorthands\fi%
}

\def\inlineextras@finnish{%
  \iffinnish@babelshorthands\finnish@shorthands\fi%
}

\endinput

% TODO ? this is set in babel:
\gappto\blockextrasfinnish{%
  \babel@savevariable\hyphenpenalty\hyphenpenalty=30%
  \babel@savevariable\exhyphenpenalty\exhyphenpenalty=30%
  \babel@savevariable\doublehyphendemerits\doublehyphendemerits=5000%
  \babel@savevariable\finalhyphendemerits\finalhyphendemerits=5000%
  }

Ja esimerkki:

Koodia: [Valitse]
\documentclass[a4paper,12pt]{article}
\usepackage[babelshorthands]{polyglossia}
\setdefaultlanguage[babelshorthands=true]{finnish}
\hyphenrules{finnish}
\begin{document}
xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx
kokonaispinta"-ala.
\end{document}

SuperOscar

  • Käyttäjä
  • Viestejä: 4063
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Xubuntu 18.04, TeXLive, XeLaTeX ja sanojen tavutus
« Vastaus #9 : 30.08.18 - klo:10.06 »
Ennen koeajoa on syytä kopioida alkuperäinen tiedostoturvalliseen paikkaan  :)

Ilman muuta :) Kuten sanottu, olen itsekin yrittänyt joskus saada vastaavan aikaan, mutta jotakin meni pieleen eikä homma toiminut. (Muistaakseni pääsin pisteeseen, jossa babelshorthands-valinta ei enää aiheuttanut virheilmoitusta, mutta mitään vaikutusta sen asettamisella ei ollut.)

Muoks: Heps! Luultavasti jonkin onnettomasti päättyneen leikepöytätoimenpiteen seurauksena ylempi koodinpätkäsi sisältää nyt myös alemman keskellä koodia.

gloss-finnish.ldf:n tarkoitettu sisältö lienee tämä:

Koodia: [Valitse]
\ProvidesFile{gloss-finnish.ldf}[polyglossia: module for finnish]
\PolyglossiaSetup{finnish}{
  hyphennames={finnish},
  hyphenmins={2,2},
  frenchspacing=true,
  fontsetup=true,
}


\define@boolkey{finnish}[finnish@]{babelshorthands}[true]{}
\ifsystem@babelshorthands
  \setkeys{finnish}{babelshorthands=true}
\else
  \setkeys{finnish}{babelshorthands=false}
\fi
\ifcsundef{initiate@active@char}{%
\input{babelsh.def}%
\initiate@active@char{"}%
}{}

\def\finnish@shorthands{%
  \bbl@activate{"}%
  \def\language@group{finnish}%
  \declare@shorthand{finnish}{"-}{\nobreak-\bbl@allowhyphens}
  \declare@shorthand{finnish}{"|}{\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}}{}}%
  \declare@shorthand{finnish}{""}{\hskip\z@skip}%
  \declare@shorthand{finnish}{"~}{\textormath{\leavevmode\hbox{-}}{-}}%
  \declare@shorthand{finnish}{"=}{\penalty\@M-\hskip\z@skip}%
}

\def\nofinnish@shorthands{%
  \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
}


\def\captionsfinnish{%
   \def\refname{Viitteet}%
   \def\abstractname{Tiivistelmä}%
   \def\bibname{Kirjallisuutta}%
   \def\prefacename{Esipuhe}%
   \def\chaptername{Luku}%
   \def\appendixname{Liite}%
   \def\contentsname{Sisältö}%
   \def\listfigurename{Kuvat}%
   \def\listtablename{Taulukot}%
   \def\indexname{Hakemisto}%
   \def\figurename{Kuva}%
   \def\tablename{Taulukko}%
   %\def\thepart{}%
   \def\partname{Osa}%
   \def\pagename{Sivu}%
   \def\seename{katso}%
   \def\alsoname{katso myös}%
   \def\enclname{Liitteet}%
   \def\ccname{Jakelu}%
   \def\headtoname{Vastaanottaja}%
   \def\proofname{Todistus}%
   \def\glossaryname{Sanasto}%
   }
\def\datefinnish{%
   \def\today{\number\day.~\ifcase\month\or
    tammikuuta\or helmikuuta\or maaliskuuta\or huhtikuuta\or
    toukokuuta\or kesäkuuta\or heinäkuuta\or elokuuta\or
    syyskuuta\or lokakuuta\or marraskuuta\or joulukuuta\fi
    \space\number\year}}

\def\noextras@finnish{%
  \nofinnish@shorthands%
}

\def\blockextras@finnish{%
  \iffinnish@babelshorthands\finnish@shorthands\fi%
}

\def\inlineextras@finnish{%
  \iffinnish@babelshorthands\finnish@shorthands\fi%
}

\endinput

% TODO ? this is set in babel:
\gappto\blockextrasfinnish{%
  \babel@savevariable\hyphenpenalty\hyphenpenalty=30%
  \babel@savevariable\exhyphenpenalty\exhyphenpenalty=30%
  \babel@savevariable\doublehyphendemerits\doublehyphendemerits=5000%
  \babel@savevariable\finalhyphendemerits\finalhyphendemerits=5000%
  }
$ cat /media/hannu/KINGSTON/koe.tex
\documentclass[a4paper,12pt]{article}
\usepackage[babelshorthands]{polyglossia}
\setdefaultlanguage[babelshorthands=true]{finnish}
\hyphenrules{finnish}
\begin{document}
xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx
kokonaispinta"-ala.
\end{document}
$ cat /media/hannu/KINGSTON/gloss-finnish.ldf
\ProvidesFile{gloss-finnish.ldf}[polyglossia: module for finnish]
\PolyglossiaSetup{finnish}{
  hyphennames={finnish},
  hyphenmins={2,2},
  frenchspacing=true,
  fontsetup=true,
}


\define@boolkey{finnish}[finnish@]{babelshorthands}[true]{}
\ifsystem@babelshorthands
  \setkeys{finnish}{babelshorthands=true}
\else
  \setkeys{finnish}{babelshorthands=false}
\fi
\ifcsundef{initiate@active@char}{%
\input{babelsh.def}%
\initiate@active@char{"}%
}{}

\def\finnish@shorthands{%
  \bbl@activate{"}%
  \def\language@group{finnish}%
  \declare@shorthand{finnish}{"-}{\nobreak-\bbl@allowhyphens}
  \declare@shorthand{finnish}{"|}{\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}}{}}%
  \declare@shorthand{finnish}{""}{\hskip\z@skip}%
  \declare@shorthand{finnish}{"~}{\textormath{\leavevmode\hbox{-}}{-}}%
  \declare@shorthand{finnish}{"=}{\penalty\@M-\hskip\z@skip}%
}

\def\nofinnish@shorthands{%
  \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
}


\def\captionsfinnish{%
   \def\refname{Viitteet}%
   \def\abstractname{Tiivistelmä}%
   \def\bibname{Kirjallisuutta}%
   \def\prefacename{Esipuhe}%
   \def\chaptername{Luku}%
   \def\appendixname{Liite}%
   \def\contentsname{Sisältö}%
   \def\listfigurename{Kuvat}%
   \def\listtablename{Taulukot}%
   \def\indexname{Hakemisto}%
   \def\figurename{Kuva}%
   \def\tablename{Taulukko}%
   %\def\thepart{}%
   \def\partname{Osa}%
   \def\pagename{Sivu}%
   \def\seename{katso}%
   \def\alsoname{katso myös}%
   \def\enclname{Liitteet}%
   \def\ccname{Jakelu}%
   \def\headtoname{Vastaanottaja}%
   \def\proofname{Todistus}%
   \def\glossaryname{Sanasto}%
   }
\def\datefinnish{%
   \def\today{\number\day.~\ifcase\month\or
    tammikuuta\or helmikuuta\or maaliskuuta\or huhtikuuta\or
    toukokuuta\or kesäkuuta\or heinäkuuta\or elokuuta\or
    syyskuuta\or lokakuuta\or marraskuuta\or joulukuuta\fi
    \space\number\year}}

\def\noextras@finnish{%
  \nofinnish@shorthands%
}

\def\blockextras@finnish{%
  \iffinnish@babelshorthands\finnish@shorthands\fi%
}

\def\inlineextras@finnish{%
  \iffinnish@babelshorthands\finnish@shorthands\fi%
}

\endinput

% TODO ? this is set in babel:
\gappto\blockextrasfinnish{%
  \babel@savevariable\hyphenpenalty\hyphenpenalty=30%
  \babel@savevariable\exhyphenpenalty\exhyphenpenalty=30%
  \babel@savevariable\doublehyphendemerits\doublehyphendemerits=5000%
  \babel@savevariable\finalhyphendemerits\finalhyphendemerits=5000%
  }
« Viimeksi muokattu: 30.08.18 - klo:10.28 kirjoittanut SuperOscar »
pöytäkone 1, NUC: openSUSE Leap 15.6, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

intikka

  • Käyttäjä
  • Viestejä: 190
    • Profiili
Vs: Xubuntu 18.04, TeXLive, XeLaTeX ja sanojen tavutus
« Vastaus #10 : 30.08.18 - klo:11.45 »
Uusi yritys

Koodia: [Valitse]
\ProvidesFile{gloss-finnish.ldf}[polyglossia: module for finnish]
\PolyglossiaSetup{finnish}{
  hyphennames={finnish},
  hyphenmins={2,2},
  frenchspacing=true,
  fontsetup=true,
}


\define@boolkey{finnish}[finnish@]{babelshorthands}[true]{}
\ifsystem@babelshorthands
  \setkeys{finnish}{babelshorthands=true}
\else
  \setkeys{finnish}{babelshorthands=false}
\fi
\ifcsundef{initiate@active@char}{%
\input{babelsh.def}%
\initiate@active@char{"}%
}{}

\def\finnish@shorthands{%
  \bbl@activate{"}%
  \def\language@group{finnish}%
  \declare@shorthand{finnish}{"-}{\nobreak-\bbl@allowhyphens}
  \declare@shorthand{finnish}{"|}{\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}}{}}%
  \declare@shorthand{finnish}{""}{\hskip\z@skip}%
  \declare@shorthand{finnish}{"~}{\textormath{\leavevmode\hbox{-}}{-}}%
  \declare@shorthand{finnish}{"=}{\penalty\@M-\hskip\z@skip}%
}

\def\nofinnish@shorthands{%
  \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
}


\def\captionsfinnish{%
   \def\refname{Viitteet}%
   \def\abstractname{Tiivistelmä}%
   \def\bibname{Kirjallisuutta}%
   \def\prefacename{Esipuhe}%
   \def\chaptername{Luku}%
   \def\appendixname{Liite}%
   \def\contentsname{Sisältö}%
   \def\listfigurename{Kuvat}%
   \def\listtablename{Taulukot}%
   \def\indexname{Hakemisto}%
   \def\figurename{Kuva}%
   \def\tablename{Taulukko}%
   %\def\thepart{}%
   \def\partname{Osa}%
   \def\pagename{Sivu}%
   \def\seename{katso}%
   \def\alsoname{katso myös}%
   \def\enclname{Liitteet}%
   \def\ccname{Jakelu}%
   \def\headtoname{Vastaanottaja}%
   \def\proofname{Todistus}%
   \def\glossaryname{Sanasto}%
   }
\def\datefinnish{%
   \def\today{\number\day.~\ifcase\month\or
    tammikuuta\or helmikuuta\or maaliskuuta\or huhtikuuta\or
    toukokuuta\or kesäkuuta\or heinäkuuta\or elokuuta\or
    syyskuuta\or lokakuuta\or marraskuuta\or joulukuuta\fi
    \space\number\year}}

\def\noextras@finnish{%
  \nofinnish@shorthands%
}

\def\blockextras@finnish{%
  \iffinnish@babelshorthands\finnish@shorthands\fi%
}

\def\inlineextras@finnish{%
  \iffinnish@babelshorthands\finnish@shorthands\fi%
}

\endinput

% TODO ? this is set in babel:
\gappto\blockextrasfinnish{%
  \babel@savevariable\hyphenpenalty\hyphenpenalty=30%
  \babel@savevariable\exhyphenpenalty\exhyphenpenalty=30%
  \babel@savevariable\doublehyphendemerits\doublehyphendemerits=5000%
  \babel@savevariable\finalhyphendemerits\finalhyphendemerits=5000%
  }