momente şi schiţe de informatică şi matematică
To attain knowledge, write. To attain wisdom, rewrite.

Tipografierea ghilimelelor

LaTex
2019 sep

Forma şi fondul citatului – concordanţe şi contradicţii

Prin (de exemplu) „calculul fluxiunilor” şi respectiv, "calculul fluxiunilor" se citează un acelaşi fond, dar în forme diferite; prima formă (cu ghilimele 99 jos, 99 sus) este cea corectă în limba română (ca şi în bulgară, poloneză, cehă şi altele); a doua formă este specifică limbii engleze (şi este acceptată ca alternativă, de exemplu în rusă şi franceză, dar—v. Ghilimele—nu în română).

Desigur, între „formă” şi „fond” trebuie să existe o anumită concordanţă; dacă fondul aparţine unei anumite limbi, atunci forma trebuie să fie una specifică acelei limbi. Dar trebuie să avem în vedere şi „limba principală” a documentului: dacă şi aceasta (să zicem, română) şi limba din care cităm (cehă, sau bulgară, etc.), prevăd un acelaşi stil „principal” de ghilimele – atunci probabil că pentru citatul respectiv ar fi de folosit un stil alternativ de ghilimele (şi este prevăzută în multe limbi, inclusiv în română, forma alternativă de citare «⋯» – cu precizarea că în română ea este prevăzută explicit de către Academie numai pentru situaţia citatelor imbricate unul într-altul, nu şi pentru situaţia când am vrea să cităm din cehă).

Pe tastatura obişnuită pe care o folosesc, nu am caracterele „ şi ” – dar acestea pot fi produse prin entităţi HTML ca „ şi respectiv, ”. Fiindcă anterior mi-a scăpat din vedere, apare o problemă interesantă (când nu ai altceva de făcut): a înlocui " prin entităţile HTML menţionate, în baza de date care conţine articolele postate pe acest site (ar fi de vizat formularea acestui scop în PostgreSQL).

Poate că pe un site HTML ar "merge şi aşa"; dar în „lucrări ştiinţifice” sau reviste expuse în format PDF, devine obligatorie respectarea tuturor standardelor academice ale limbii. Lucrând la [1] şi la câteva articole pentru Recreaţii Matematice – a trebuit să lămuresc şi chestiunea tipografierii corecte a ghilimelelor, în „ecosistemul TeX”.

Soluţia brută (obişnuită)

Bineînţeles că m-a interesat să văd cum este tratată chestiunea ghilimelelor în diverse locuri; cel mai adesea – este „tratată” fără a o lua în seamă, aplicând ad-hoc această regulă (de care bineînţeles că m-am folosit şi eu, în diverse ocazii): încadrează citatul, la stânga cu două virgule consecutive şi la dreapta cu două apostrofuri (sau un caracter "); iar acum 20 de ani, în cărţile editate cu LaTeX la noi (de exemplu, ediţia în română a cărţii Introduction to Algorithms, produsă de Editura Computer Libris Agora în anul 2000) se foloseau nu virgule, ci caractere ` („accent grav”) – rezultând pe hârtie, ghilimelele specifice limbii engleze.

Reproducem printr-un fişier LaTeX minimal, ceea ce am găsit la „Gazeta Matematică” (alegând mai la întâmplare, un articol şi o evocare—făcută în 2013 de către Sergiu Rudeanu—cu foarte multe citate, Profesorul Dan Barbilian) şi încă în alte locuri:

%%% ghil1.tex
\documentclass[12pt]{article}
\begin{document}
\emph{Solu\c{t}ia 1} (,,oficial\u{a}'').

\smallskip
,,Desenul corupe ra\c{t}ionamentul" -- \emph{D. Barbilian}

\smallskip  % ghilimele pentru engleză (dar nu română):
\noindent ``Search for element 87'' \\
``Asisten\c{t}a tehnic\u{a}''
\end{document}

Compilând acest fişier cu pdflatex rezultă o pagină în format PDF, pe care am deschis-o în evince (un "Document Viewer") şi am copiat de pe ecran (ca imagine PNG) zona alăturată mai sus textului-sursă "ghil1.tex" (bineînţeles că puteam copia şi direct de pe articolele PDF menţionate, în loc de a reconstitui prin LaTeX).

Se vede (chiar şi fără a mări) că virgulele („ghilimelele” stânga-jos, de pe primele două rânduri) sunt puţin prea depărtate între ele (iar pe al treilea rând, ghilimelele sunt puţin prea apropiate de textul încadrat). Dacă asemenea mici defecte deranjează cât de cât, sau nu – depinde probabil, până la urmă, de ce fel de învăţătoare (una „perfecţionistă”, sau una indiferentă?) ai avut la clasa întâia: a trebuit sau poate nu, să te căzneşti să faci „bastonaşele” cum se cuvine, înainte de a trece (în sfârşit) la scrierea literelor…

În tipografie spaţiul şi spaţierea sunt principii esenţiale, iar sistemul TeX este opera unui „perfecţionist” notoriu—însuşi autorul tratatului monumental TAOCP—şi dacă-l folosim, se cuvine să respectăm standardele tipografice constituite cu atâta migală, până acum. Bineînţeles (aş vrea să cred) că şi Academia, pentru a formula standardele de limbă actuale, are şi ea de cunoscut ceva „tipografie digitală” (inclusiv poate, sistemul TeX care a fundamentat-o, sub denumirea iniţială „tipografie matematică”).

Pentru "TAOCP" avem în 1974—cu vreo patru ani înainte de apariţia sistemului TeX—o traducere în română, impecabilă, a volumului I ("Fundamentals Algorithms") şi este interesant de văzut azi, cum erau produse ghilimelele: se folosea stilul „ghilimele 99 jos 66 sus”; varianta corectă actuală (precizată de Academie în 1995, când în multe locuri TeX cucerise deja, mediile academice) este „ghilimele 99 jos 99 sus”.

Probabil că Academia ar trebui să se pronunţe (nu ştiu să o fi făcut) şi asupra unui aspect care ţine nu numai de ghilimele, dar şi de limbă: dacă într-un text în limba română ai de citat dintr-o limbă străină – ce variantă de ghilimele trebuie să foloseşti? De exemplu, în traducerea "TAOCP" menţionată mai sus întâlnim undeva formularea de subtitlu: Sistemul de „camarazi” („buddy system”) – deci s-a folosit varianta de ghilimele specifică limbii române indiferent de limba cuvintelor încadrate…
Parcă ar fi mai „academic”, să se folosească ghilimelele specifice limbii din care citezi: Sistemul de „camarazi” ("buddy system") .

Soluţia modernă

Mai întâi, se cuvine să precizăm că dacă pentru a compila fişierul "ghil1.tex" am fi folosit xelatex (desigur, în ultima sa variantă), atunci n-ar mai fi apărut acele „mici defecte” semnalate mai sus; dar mai sus am ţinut seama de faptul că mulţi autori şi multe redacţii de reviste ştiinţifice (probabil, toate) folosesc o interfaţă grafică precum TeXworks, având setată în mod implicit compilarea prin pdflatex.
Modelarea ghilimelelor prin două virgule consecutive la stânga şi două apostrofuri la dreapta, produce în fond rezultate care satisfac toate exigenţele tipografice, dacă fişierul respectiv este compilat prin xelatex (beneficiind „gratis”, adică fără a face nimic special şi de alte avantaje) şi nu prin compilatorul obişnuit pdflatex.
(N.B. sper că această constatare este valabilă şi în MiKTeX, pe sistemele Windows…)
Doar că această manieră de citare este inflexibilă; ce faci dacă ai multe citate şi la un anumit moment ţi se impune să înlocuieşti cu un alt anumit stil de ghilimele?

Sistemul TeX a fost elaborat din start şi apoi extins continuu cu scopul de a obţine (folosind infrastructură digitală) tipărituri de cea mai bună calitate tipografică, pentru oricare limbă s-ar folosi şi pentru oricare domeniu s-ar viza. Dar TeX nu-şi asumă statutul de „expert în standardele academice naţionale” (nu-l scuteşte pe cel care scrie folosind TeX, de cunoaşterea acestora); principiul de bază este flexibilitatea: poţi alege şi poţi regla un font sau altul, un anumit format şi o geometrie de pagină, etc. – şi deasemenea, poţi alege să respecţi sau nu, anumite standarde naţionale.

Pe CTAN găsim pachetele babel ("Multilingual support") şi csquotes ("Context sensitive quotation facilities"). Babel vizează regulile naţionale privitoare la data calendaristică, denumirile lunilor anului, ale secţiunilor unei cărţi, etc. şi asigură încărcarea automată a fişierului (dacă există unul specific, altfel este folosit cel pentru limba engleză) pe baza căruia compilatorul va recurge la despărţirea în silabe pe parcursul procesului de constituire a paragrafelor de text (menţionăm că instalarea prealabilă a pachetului texlive-lang-european permite compilatoarelor de LaTeX să rezolve corect (să zicem, 98%) despărţirea în silabe, pentru multe limbi europene).
Având în vedere aceste valenţe – importante pentru autorul documentului dar şi pentru compilator – Babel este încorporat de obicei în mod automat; de exemplu, în fişierul "ghil1.tex" nu am prevăzut în preambul includerea pachetului Babel, dar la compilarea fişierului vedem pe ecran linia informativă "Babel <3.18> and hyphenation patterns for 29 language(s) loaded." Desigur, dacă este necesar să folosim unele sau altele dintre aspectele specifice unei anumite limbi, atunci Babel trebuie „inclus” în mod explicit, adăugând în preambul de exemplu, \usepackage[english,romanian]{babel}.

CSquotes vizează aspectele tipografice ale includerii în document a unor citate (ţinând seama de specificaţiile de limbă făcute prin Babel). Aici vizăm doar ghilimelele, încât ne sunt necesare numai două-trei comenzi; dăm un exemplu minimal de folosire:

%%% ghil2.tex
\documentclass[12pt]{article}
    \usepackage[english, romanian]{babel}
    \usepackage{csquotes}
    \DeclareQuoteAlias{czech}{romanian}
\begin{document}
Sistem de \enquote{camarazi}
(\foreignquote{english}{\small\textsf{buddy system}})
\end{document}

Nu există un stil de ghilimele special pentru română, astfel că am declarat ca „alias” (echivalent) al acestuia pe cel existent pentru cehă ("czech"); comanda \enquote{...} va folosi apoi acest stil de ghilimele. Comanda \foreignquote{<limbă>}{...} va produce ghilimelele în stilul unei alte limbi (aici, engleză) decât cea declarată prin Babel ca „limba principală” (aici, româna).

Pe lângă tipografierea corectă a ghilimelelor (să ne amintim de micile defecte apărute folosind virgule şi apostrofuri), un mare avantaj al folosirii acestor comenzi (\enquote, etc.) constă în faptul că dacă este cazul, putem modifica stilul de ghilimele folosit în cadrul documentului dintr-odată (în toate citatele existente) – modificând doar una sau două declaraţii din preambul (şi recompilând apoi, fişierul sursă respectiv).

vezi Cărţile mele (de programare)

docerpro | Prev | Next