Re: Simbolo sopra lettera greca

#64855
Up
0
Down
::

illinguista1972″ post=63982

`\newcommand{\greco}{\foreignlanguage{greek}}`


@Tommaso
@Lorenzo: meglio se correggete.

Grazie, lo faccio appena possibile. Qualche mese fa, in uno scritto di un noto autore lessi appunto che il comando personale per scrivere in un altra lingua poteva avere una definizione “ingenua”

`\newcommand{\greco}[1]{\foreignlanguage{greek}{#1}}`

e una meno ingenua

`\newcommand{\greco}{\foreignlanguage{greek}}`

A parte che mi sfuggono ancora le differenze, mi chiedo se questa seconda definizione può andar bene per tutte le lingue: nella guida, dunque, per il latino e l’inglese. Vale la pena di sostituire le attuali definizioni ingenue?

Già che ci sono, cade a fagiuolo (notate il trittongo) un’altra curiosità: spesso ho visto che, parlando di babel, le lingue (che di fatto si caricano come opzioni del pacchetto) vengono anche chiamate “moduli”. Perciò si trova scritto:

il modulo latin di babel permette di ottenere eccetera eccetera

Posto che a me piace questo “modulo” (che userei soltanto per babel, non certo per altri pacchetti), chiedo: soltanto le opzioni che si esprimono con il nome di una lingua si possono chiamare anche “moduli”? È corretto usare questa parola? Qualcuno saprebbe dare una definizione breve di “modulo” in questo senso?

Grazie
Tommaso

Quella meno ingenua è (quasi) necessaria per il greco politonico, per via del cambio di codice di categoria di ~. In genere, se \xyz è un comando con argomento, il modo migliore (alla LaTeX) per crearne un alias è di scrivere
`\newcommand{\abc}{\xyz}`
Infatti TeX si limita a sostituire \abc con \xyz e quindi \abc{parola} diventa \xyz{parola}. Esempio “vero”:
`\newcommand{\numericset}{\mathbf}
\newcommand{\C}{\numericset{C}}
\newcommand{\R}{\numericset{R}}`
Il motivo della definizione di \numericset è che in questo modo non occorre cambiare le definizioni di \C e di \R se si cambiasse idea sulla loro “rappresentazione finale”. Con l’ingenuo
`\newcommand{\numericset}[1]{\mathbf{#1}}` l’argomento verrebbe letto due volte: una come argomento di \numericset e la seconda come argomento di \textbf. Pochi cicli di CPU, forse, ma concettualmente migliore.

La definizione più efficiente sarebbe \let\numericset\mathbf che risparmia anche un briciolo di memoria: TeX non deve ricordarsi la definizione di \numericset, ma attivare solo un puntatore da \numericset a \mathbf.

Che cosa intendo per “modulo”: un piccolo insieme di istruzioni che un pacchetto carica a seconda delle circostanze; per esempio, babel non carica tutte le lingue che conosce, ma si limita a leggere i moduli relativi alle lingue richieste. Anche le classi standard li hanno; quando il documento è della classe article, viene letto uno fra size10.clo, size11clo o size12.clo (dipende dall’opzione scelta per il corpo). Un altro pacchetto “modulare” è titlesec.

Ciao
Enrico

Go to top