[MontelLUG] Consulenza su LaTex

Gianluca Moro giangiammy a gmail.com
Dom 5 Giu 2011 14:58:27 CEST


ciao,

intanto grazie per i trucchi.

Non so ancora cosa faro', ma, trucco per trucco,
ho buttato giu'  il seguente script:

#!/usr/bin/awk -f
BEGIN { mode["it"] = 1; mode["en"] = 1; }
{
    if (match($0, "^%%%it")) {
            mode["it"] = 1;
            mode["en"] = 0;
    } else if (match($0, "^%%%en")) {
            mode["it"] = 0;
            mode["en"] = 1;
    } else if (match($0, "^%%%co")) {
            mode["it"] = 1;
            mode["en"] = 1;
    } else {
            if(mode["it"] == 1) {
                    print $0 > "it.txt"
            }
            if(mode["en"] == 1) {
                    print $0 > "en.txt"
            }
    }
}
END { print " - DONE -" }

non sono un programmatore awk, e se il codice fa schifo,
ben accette modifiche, ma pare fare quel che serve, ad esempio su

ciao, parte comune

%%%it

italiano1

%%%en

english 1

%%%it

italiano 2

%%%co

common1

%%%en


english 2

%%%co

common2


alla fine avro'  un makefile, per cui dovro' eseguire:
 script.awk < file.tex
 latex it.tex
 latex en.tex


2011/6/3 Syslac <lmezzalira a gmail.com>:
> Il 02 giugno 2011 22:53, Gianluca Moro <giangiammy a gmail.com> ha scritto:
>> Saprei farlo con una sintassi
>>
>> \it{bla bla bla}
>>
>> \en{this is english}
>>
>> ma vorrei usare la prima, ovvero mettere una label,
>> e da li in poi che sia tutto nella lingua indicata.
>
> Se è così, credo di avere una soluzione, seppure per il momento orrenda, per te.
>
> Se riesci a creare i comandi come dici, potresti per prima cosa
> definire gli ambienti corrispondenti in modo da poterlo usare così:
>
> \begin{it}
> testo italiano
> \end{it}
>
> Di seguito, potresti definire un ambiente "generico" language del tipo :
>
> \newcommand{\pass}{} % Comando "segnaposto"
> \newenvironment{language}[1]
> {\begin{#1} \renewcommand{\pass}{\end{#1}}}
> {\pass}
>
> In modo da poter usare
>
> \begin{language}{en}
> English text
> \end{language}
>
> E l'ultimo passo sarebbe definire i comandi che vuoi usare come label del tipo :
>
> \newcommand{\common}
> {\end{language}
> \begin{language}{common}
> }
>
> Qualche test l'ho fatto per essere sicuro di non sparare completamente
> a caso, e sembra che tenga.
> In questo modo, se metti solo un \begin{language}{common} ad inizio
> documento e un \end{language} a fine documento, poi all'interno puoi
> usare i label con comodo.
>
> Mi rendo conto che non è il massimo; magari ti bastava il passaggio
> agli environment, magari qualcuno saprà fare meglio.
>
>> ciao e grazie
>> giammy
>
> Syslac
>
> _______________________________________________
> montellug mailing list
> montellug a montellug.it
> http://mail.montellug.it/mailman/listinfo/montellug_montellug.it
>



-- 
Gianluca Moro                                    http://www.giammy.com

12 - 13 GIUGNO - RICORDATI DI ANDARE A VOTARE PER IL REFERENDUM




More information about the montellug mailing list