You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 line
2.5KB

  1. %% CYRILLIC IN NON-CYRILLIC DOCUMENTS (pdflatex only)
  2. %
  3. % refs: https://tex.stackexchange.com/q/460271/
  4. \ProvidesPackage{sphinxcyrillic}%
  5. [2018/11/21 v2.0 support for Cyrillic in non-Cyrillic documents]
  6. \RequirePackage{kvoptions}
  7. \SetupKeyvalOptions{prefix=spx@cyropt@} % use \spx@cyropt@ prefix
  8. \DeclareBoolOption[false]{Xtwo}
  9. \DeclareBoolOption[false]{TtwoA}
  10. \DeclareDefaultOption{\@unknownoptionerror}
  11. \ProcessLocalKeyvalOptions* % ignore class options
  12. \ifspx@cyropt@Xtwo
  13. % original code by tex.sx user egreg (updated 2019/10/28):
  14. % https://tex.stackexchange.com/a/460325/
  15. % 159 Cyrillic glyphs as available in X2 TeX 8bit font encoding
  16. % This assumes inputenc loaded with utf8 option, or LaTeX release
  17. % as recent as 2018/04/01 which does it automatically.
  18. \@tfor\next:=%
  19. {Ё}{Ђ}{Є}{Ѕ}{І}{Ј}{Љ}{Њ}{Ћ}{Ў}{Џ}{А}{Б}{В}{Г}{Д}{Е}{Ж}{З}{И}{Й}%
  20. {К}{Л}{М}{Н}{О}{П}{Р}{С}{Т}{У}{Ф}{Х}{Ц}{Ч}{Ш}{Щ}{Ъ}{Ы}{Ь}{Э}{Ю}%
  21. {Я}{а}{б}{в}{г}{д}{е}{ж}{з}{и}{й}{к}{л}{м}{н}{о}{п}{р}{с}{т}{у}%
  22. {ф}{х}{ц}{ч}{ш}{щ}{ъ}{ы}{ь}{э}{ю}{я}{ё}{ђ}{є}{ѕ}{і}{ј}{љ}{њ}{ћ}%
  23. {ў}{џ}{Ѣ}{ѣ}{Ѫ}{ѫ}{Ѵ}{ѵ}{Ґ}{ґ}{Ғ}{ғ}{Ҕ}{ҕ}{Җ}{җ}{Ҙ}{ҙ}{Қ}{қ}{Ҝ}{ҝ}%
  24. {Ҟ}{ҟ}{Ҡ}{ҡ}{Ң}{ң}{Ҥ}{ҥ}{Ҧ}{ҧ}{Ҩ}{ҩ}{Ҫ}{ҫ}{Ҭ}{ҭ}{Ү}{ү}{Ұ}{ұ}{Ҳ}{ҳ}%
  25. {Ҵ}{ҵ}{Ҷ}{ҷ}{Ҹ}{ҹ}{Һ}{һ}{Ҽ}{ҽ}{Ҿ}{ҿ}{Ӏ}{Ӄ}{ӄ}{Ӆ}{ӆ}{Ӈ}{ӈ}{Ӌ}{ӌ}%
  26. {Ӎ}{ӎ}{Ӕ}{ӕ}{Ә}{ә}{Ӡ}{ӡ}{Ө}{ө}\do
  27. {%
  28. \begingroup\def\IeC{\protect\DeclareTextSymbolDefault}%
  29. \protected@edef\@temp{\endgroup
  30. \@ifl@t@r{\fmtversion}{2019/10/01}{\csname u8:\next\endcsname}{\next}}%
  31. \@temp{X2}%
  32. }%
  33. \else
  34. \ifspx@cyropt@TtwoA
  35. % original code by tex.sx user jfbu:
  36. % https://tex.stackexchange.com/a/460305/
  37. % 63*2+1=127 Cyrillic glyphs as found in T2A 8bit TeX font-encoding
  38. \@tfor\@tempa:=%
  39. {ae}{a}{b}{chrdsc}{chvcrs}{ch}{c}{dje}{dze}{dzhe}{d}{erev}{ery}{e}%
  40. {f}{ghcrs}{gup}{g}{hdsc}{hrdsn}{h}{ie}{ii}{ishrt}{i}{je}%
  41. {kbeak}{kdsc}{kvcrs}{k}{lje}{l}{m}{ndsc}{ng}{nje}{n}{otld}{o}{p}{r}%
  42. {schwa}{sdsc}{sftsn}{shch}{shha}{sh}{s}{tshe}{t}{ushrt}{u}{v}%
  43. {ya}{yhcrs}{yi}{yo}{yu}{y}{zdsc}{zhdsc}{zh}{z}\do
  44. {%
  45. \expandafter\DeclareTextSymbolDefault\expandafter
  46. {\csname cyr\@tempa\endcsname}{T2A}%
  47. \expandafter\uppercase\expandafter{\expandafter
  48. \def\expandafter\@tempa\expandafter{\@tempa}}%
  49. \expandafter\DeclareTextSymbolDefault\expandafter
  50. {\csname CYR\@tempa\endcsname}{T2A}%
  51. }%
  52. \DeclareTextSymbolDefault{\CYRpalochka}{T2A}%
  53. \fi\fi
  54. \endinput