[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