Jump to content

Module:ЛаТеХ2УТФ8/доc

From Vikipediya

This is the documentation page for Modul:LaTeX2UTF8

Cонтех

[edit source]

Тҳе матҳематиcал тйпесеттинг сйстемс ТеХ анд ЛаТеХ аре ин неар-универсал усе ин матҳематиcс ас wелл ас северал сcиэнтифиc дисcиплинес. Ситес ас диверсе ас Гоогле Счолар, Матҳематиcал Ревиэwс анд Зентралблатт МАТҲ аллоw cитатионс то бе эхпортед ин БибТеХ, а библиограпҳиcал сйстем тҳат усес ТеХ/ЛаТеХ маркуп. Унфортунателй, тҳис сет оф софтwаре wас wриттен wелл бефоре интернатионализатион анд лоcатионизатион эффорц суч ас Униcоде анд УТФ-8 реачед cритиcал масс. Ас а ресулт, тҳере ис а фундаментал импеданcе мисматч бетwеэн ҳоw тҳе тwо сйстемс ҳандле тйпограпҳй.

ЛаТеХ (бй wҳиле И'лл рефер то тҳе тҳреэ сйстемс ас а wҳоле) ис примарилй cонcернед wитҳ чараcтер cомпоситион: иф тҳе усер wишес то адд ан умлаут то тҳе нумбер 7, ЛаТеХ провидес тҳат cапабилитй (анд индеэд, тҳере аре мултипле wайс оф cодинг уп суч а cонструcт ин тҳе лангуаге). Униcоде, он тҳе отҳер ҳанд, фоcусес он маппинг глйпҳс то униқуэ нумериcал идентифиэрс. Ас суч, Униcоде тендс то cаптуре онлй эхтант глйпҳс.

Маппинг ЛаТеХ то Униcоде (ор УТФ-8) тҳус ҳас тwо диффиcултиэс: ЛаТеХ ҳас ан эффеcтивелй инфините нумбер оф wайс оф репресентинг тҳе саме сймбол (алтҳоугҳ онлй ҳандфул аре ин cоммон усе), анд онлй а субсет оф поссибле сймболс wилл бе фоунд ин тҳе сет cоверед бй Униcоде. Тҳе сеcонд проблем тендс то бе раре анд wе wилл леаве ит фор анотҳер дай. Тҳис модуле аддрессес тҳе фирст проблем.

Cонсидер тҳе фоллоwинг (легал) ЛаТеХ cоде:

\'o {\'o} {\' o} {\'{o}}

Иф тҳис wере cомпилед, тҳе ресулт wоулд лоок лике:

ó ó ó ó

Тҳис модуле ҳандлес алл фоур cасес ас wелл ас а феw ЛаТеХ эсcапе cодес. Аттемптинг то cаптуре эвен а сигнифиcант субсет оф тҳе Униcоде глйпҳ сет wоулд бе а ҳерcулеан таск, анд неарлй алл оф тҳат эффорт мигҳт невер бе усед. Инстеад, И ҳаве сеэдед тҳис модуле wитҳ тҳе глйпҳс тҳат И эхпеcт то усе ин мй оwн эдитинг анд ҳопе тҳат отҳерс адд то ит ас иц шортcомингс беcоме обвиоус.

Оне финал ноте: а проперлй cйниcал реадер мигҳт ҳаве нотиcед тҳат ин тҳе ласт эхампле абове тҳере аре тwо аджаcент cлосинг браcес. Иф а усер аттемпц то пасс тҳис стринг фром артиcле спаcе усинг #инвоке, тҳе парсер wилл ассуме тҳе ЛаТеХ "}}" cлосес тҳе темплате, эвен иф ит ис эмбеддед ин а стринг. Тҳе бест солутион И ҳаве со фар ис то кеэп ЛаТеХ-энcодед дата ин Модуле-спаcе анд ҳаве артиcле-спаcе cаллс реқуэст тҳе транслатед стрингс. Тҳус, тҳис модуле ис нот десигнед то wорк релиаблй виа #инвоке.

Усаге

[edit source]

Тҳис модуле ис десигнед то бе cаллед фром wитҳин отҳер Луа модулес. Ас ан эхампле:

function TranslateLaTeX()
  local l2u = require( "Module:LaTeX2UTF8" )  
  local s = [[
  @book {MR0161818,
  AUTHOR = {Erd{\H{o}}s, P{\'a}l and Sur{\'a}nyi, J{\'a}nos},
  TITLE = {V\'alogatott fejezetek a sz\'amelm\'eletb{\H o}l},
  PUBLISHER = {Tank\"onyvkiad\'o V\'allalat, Budapest},
  YEAR = {1960},
  PAGES = {250},
  MRCLASS = {10.00},
  MRNUMBER = {0161818 (28 \#5022)},
  } 
  ]]
  s = l2u.translate_diacritics( s )
  s = l2u.p.translate_special_characters( s )
  return s
end

Тҳе БибТеХ энтрй шоулд бе трансформед то а УТФ8 стринг тҳат лоокс (ликебреакс асиде) лике тҳис:

@book {MR0161818,
AUTHOR = {Erdős, Pál and Surányi, János}, 
TITLE = {Válogatott fejezetek a számelmáletből}, 
PUBLISHER = {Tankányvkiadá Vállalat, Budapest}, 
YEAR = {1960}, 
PAGES = {250}, 
MRCLASS = {10.00}, 
MRNUMBER = {0161818 (28 #5022)}, }