- Questo topic ha 13 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 14 anni, 6 mesi fa da
Carlo Marmo.
-
CreatoreTopic
-
18 Dicembre 2011 alle 15:35 #67843::
Non ho esperienza di nuovi comandi, e me ne serve uno molto semplice per il mio lavoro. Si tratta di velocizzare l’inserimento di articoli tratti dal Codice civile o di procedura civile italiani. La struttura tipica di questi inserimenti sarebbe: “art. 22, co. 3, c.c.” oppure “art. 22, co. 3, c.p.c”, rispettivamente per Codice civile e Codice di procedura. Ho bisogno, quindi, del numero dell’articolo, del comma, e del Codice da cui è tratto.
Ottengo buoni risultati con questi comandi:\newcommand{\cc}[2]{art.~#1,~co.~#2,~c.c.}
\newcommand{\cpc}[2]{art.~#1,~co.~#2,~c.p.c.}Eccovi un esempio minimo compilabile:
`
\documentclass{article}\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,italian]{babel}
\newcommand{\cc}[2]{art.~#1,~co.~#2,~c.c.}
\newcommand{\cpc}[2]{art.~#1,~co.~#2,~c.p.c.}
\begin{document}
\'E molto importante conoscere l'\cc{2}{3};
ma anche l'\cpc{3}{5} ha la sua importanza.
\end{document}
`Ho due problemi. Il primo è che spesso ho bisogno che gli articoli compaiano in neretto. Vorrei, però, far capire a LaTeX che mi deve compilare in neretto solo gli articoli che io ritengo di fondamentale importanza, lasciando normali gli altri. Quindi, ho pensato di scrivere un’altra coppia di comandi:
`\newcommand{\CC}[2]{\textbf{art.~#1,~co.~#2,~c.c.}}
\newcommand{\CPC}[2]{\textbf{art.~#1,~co.~#2,~c.p.c.}}
`
ma non so se sia la soluzione migliore. Non c’è un modo, mi chiedo, per ottenere lo stesso risultato senza duplicare la coppia di comandi?Poi, soprattutto, non sempre mi serve scrivere, oltre al numero dell’articolo, anche il comma (ad esempio quando l’articolo contiene un comma solo). Quindi avrei bisogno di far capire a LaTeX che l’argomento #2 è opzionale e che se non l’ho inserito è perché desidero che compili solo il primo. Forse il problema è banale, ma non ho idea di come fare.
Mi aiutate per favore?
-
CreatoreTopic
-
AutoreRisposte
-
-
18 Dicembre 2011 alle 15:50 #67844::
`\usepackage{xparse}\makeatletter
\NewDocumentCommand{\cccpc}{msmo}
{\IfBooleanTF{#2}{\textbf}{\@firstofone}%
{art.~#3,\IfNoValueF{#4}{ co.~#4,}~#1}%
}
\makeatother
\newcommand{\cc}{\cccpc{c.c.}}
\newcommand{\cpc}{\cccpc{c.p.c.}}\begin{document}
\`E molto importante conoscere l'\cc*{2}[3]; meno importanti sono
l'\cc{2211}[11] e l'\cc{212222}.
\end{document}`
Con l’aiuto di xparse è più facile costruire comandi con variante asterisco e con argomenti opzionali. Definisco dunque un comando generico che ha come primo argomento obbligatorio l’abbreviazione del codice in questione; poi c’è un asterisco opzionale: con l’asterisco il contenuto viene composto in nero; poi l’argomento obbligatorio, cioè il numero dell’articolo e, per finire, come argomento opzionale il comma.Ciao
Enrico
-
19 Dicembre 2011 alle 12:01 #67845::
Grazie, non sarei mai riuscito da solo ad escogitare una cosa simile. Posso solo immaginare quanto io stia sottoutilizzando LaTeX!
Tuttavia, c’è un’ulteriore modifica che vorrei apportare. Quando ho necessità di citare soltanto il numero dell’articolo, senza il comma,
ho bisogno che la virgola fra numero e codice scompaia. Mi spiego. Non così: “art. 564, c.c.”; ma così: “art. 564 c.c.”.
C’è qualche incantesimo anche per questo? Grazie!
-
19 Dicembre 2011 alle 12:20 #67846::
deer” post=66909Grazie, non sarei mai riuscito da solo ad escogitare una cosa simile. Posso solo immaginare quanto io stia sottoutilizzando LaTeX!
Tuttavia, c’è un’ulteriore modifica che vorrei apportare. Quando ho necessità di citare soltanto il numero dell’articolo, senza il comma,
ho bisogno che la virgola fra numero e codice scompaia. Mi spiego. Non così: “art. 564, c.c.”; ma così: “art. 564 c.c.”.
C’è qualche incantesimo anche per questo? Grazie!Cambia così:
`\makeatletter
\NewDocumentCommand{\cccpc}{msmo}
{\IfBooleanTF{#2}{\textbf}{\@firstofone}%
{art.~#3\IfNoValueF{#4}{, co.~#4,}~#1}%
}
\makeatother`
Noterai che non c’è ~ fra la virgola e “co.”: meglio così che forzare tutto sulla stessa riga. Non è certo sbagliato avereart. 2897,
co. 111, c.c.e ti faciliterà il lavoro.
Ciao
Enrico
-
20 Dicembre 2011 alle 21:41 #67847::
Ho cominciato ad usare questi nuovi comandi e li trovo molto utili. Grazie. Scrivo per sapere se si possa introdurre un’altra variabile che potrebbe essere utile a tutti. Mi riferisco al fatto che quando si citano più articoli si usa la dicitura “artt. 24 c.c. e seguenti” oppure “artt. 24-30 c.c.”, con la doppia “t”. Si può fare questa modifica? io non ne sono capace!
-
20 Dicembre 2011 alle 21:54 #67848::
furbenzio” post=66966Ho cominciato ad usare questi nuovi comandi e li trovo molto utili. Grazie. Scrivo per sapere se si possa introdurre un’altra variabile che potrebbe essere utile a tutti. Mi riferisco al fatto che quando si citano più articoli si usa la dicitura “artt. 24 c.c. e seguenti” oppure “artt. 24-30 c.c.”, con la doppia “t”. Si può fare questa modifica? io non ne sono capace!
`\makeatletter
\NewDocumentCommand{\cccpc}{m s t+ m o}
{\IfBooleanTF{#2}{\textbf}{\@firstofone}%
{art\IfBooleanT{#3}{t}.~#4\IfNoValueF{#5}{, co.~#5,}~#1}%
}
\makeatother`
Uso (con le altre due definizioni già date):\cc+{2-3} (senza enfasi) \cc*+{2-3} (con enfasi)
Con xparse è molto facile definire comandi con varianti e argomenti opzionali. La “s” indica l’usuale asterisco, “t+” indica che la variante è indicata con +; la presenza si controlla con \IfBooleanTF{#n}, dove n è il numero dell’argomento. Si può usare anche \IfBooleanT, per dare solo il ramo “vero” o \IfBooleanF per dare solo il ramo “falso”. Analogamente \IfNoValueTF dice se un argomento opzionale non è stato inserito (il numero di argomento corrisponde a quelli dichiarati come “o”).
Versione automatica
`\makeatletter
\NewDocumentCommand{\cccpc}{m s >{\SplitArgument{1}{-}}m o}
{\IfBooleanTF{#2}{\textbf}{\@firstofone}%
{\cccpcart#3\IfNoValueF{#4}{, co.~#4,}~#1}%
}
\NewDocumentCommand{\cccpcart}{mm}
{art\IfNoValueTF{#2}{.~#1}{t.~#1\mbox{-}#2}}
\makeatother`
Ora \cc{2-3} dà la variante automaticamente. 🙂 Niente +. 🙂Ciao
Enrico
-
20 Dicembre 2011 alle 22:09 #67849::
Fantastico, grazie anche per la spiegazione! Mi pare che il pacchetto meriti un approfondimento. Confesso, però, che ad una rapida prima occhiata, la documentazione non mi è sembrata d’immediata assimilabilità. Ci tornerò quando sarò un po’ meno stancoEdit
Solo per fare presente che, con la versione automatica (s-p-l-e-n-d-i-d-a), non sembra possibile ottenere la dicitura “artt. 25 e ss.” dal momento che — se non ho capito male — condizione
per ottenere la duplice “t” è inserire un intervallo numero (del tipo: “24-25”). Incorporare nel nuovo comando anche questa possibilità (dico: doppia “t” con numero singolo, senza intervallo) sarebbe nirvanico.
-
20 Dicembre 2011 alle 22:56 #67850::
furbenzio” post=66968Fantastico, grazie anche per la spiegazione! Mi pare che il pacchetto meriti un approfondimento. Confesso, però, che ad una rapida prima occhiata, la documentazione non mi è sembrata d’immediata assimilabilità. Ci tornerò quando sarò un po’ meno stanco
Edit
Solo per fare presente che, con la versione automatica (s-p-l-e-n-d-i-d-a), non sembra possibile ottenere la dicitura “artt. 25 e ss.” dal momento che — se non ho capito male — condizione
per ottenere la duplice “t” è inserire un intervallo numero (del tipo: “24-25”). Incorporare nel nuovo comando anche questa possibilità (dico: doppia “t” con numero singolo, senza intervallo) sarebbe nirvanico.`\makeatletter
\NewDocumentCommand{\cccpc}{m s t+ >{\SplitArgument{1}{-}}m o}
{\IfBooleanTF{#2}{\textbf}{\@firstofone}%
{art\IfBooleanT{#3}{t}\cccpcart#4\IfBooleanT{#3}{~e~ss.}\IfNoValueF{#5}{, co.~#5,}~#1}%
}
\NewDocumentCommand{\cccpcart}{mm}
{\IfNoValueTF{#2}{.~#1}{t.~#1\mbox{-}#2}}
\makeatother`
\cc{1} -> art. 1 c.c.
\cc{1}[2] -> art. 1, co. 2, c.c.
\cc{1-2} -> artt. 1-2 c.c.
\cc+{1} -> artt. 1 e ss. c.c.\cc* produce la stessa cosa in nero; * va prima di +
Ciao
Enrico
-
20 Dicembre 2011 alle 23:03 #67851::
Sei proprio costretto a usare quelle abbreviazioni da legalese? Sono orrende e, anche se rappresentano la pratica del legalese, sono anche contrarie al buon senso, visto che intervallo o non intervallo art. 25-30 indica un insieme di articoli, e art. 25 e s. oppure art. 25 seg. indica una sequenza di articoli, senza bisogno di usare quella porcheria di raddoppiamento della lettera finale dell’abbreviazione.Le macro di Enrico sono fantastiche, ma se il legalese diventasse più simile all’italiano, sarebbe più comprensibile (non solo per quel che riguarda le abbreviazioni).
Sul raddoppiamento della finale i casi tollerabili, ma evitabili, sono solo quelli in cui si parla di pagina p. e pagine pp. e quelle in cui si parla di numero n. e numeri nn.
Se ne è già parlato a lungo in altri filoni di questo forum; si è cominciato con le abbreviazioni nelle bibliografie, per passare alle abbreviazioni in generale; I partecipanti sono più o meno restati ciascuno della propria opinione, ma almeno si sono confrontati.
Chiaramente io ero e resto contrario alle abbreviazioni raddoppiate e anche alle abbreviazioni formate da una sola lettera. E sono anche contrario all’uso di abbreviazioni tollerandole solo negli incisi parentetici. Ovviamente ognuno è padronissimo di pensala diversamente, specialmente quando si scrive in un linguaggio settoriale come il burocratese o il legalese, per non parlare del commercialese, del tecnichese, eccetera.
-
20 Dicembre 2011 alle 23:24 #67852::
Sarebbe molto interessante approfondire la questione del raddoppiamento, rispetto alla quale, in generale, mi sentirei istintivamente orientato verso un salutare entia non sunt multiplicanda.. Tuttavia, devo dire che nella pratica “legalese”, per quanto attesta la mia piccola esperienza, la doppia “t” in caso di pluralità di articoli è prassi di gran lunga prevalente (come forse potrebbe confermare chi ha avviato questa discussione o chiunque altro maneggi atti giudiziari). In un’ottica pragmatica, quindi, poter disporre di un unico comando, versatile al punto da poter ricomprendere tutti i casi d’impiego di “art.” e “artt.”, sarebbe uno shortcut di non poco conto per chi li utilizza di continuo. I comandi indicati dal Professore centrano in pieno l’obiettivo. Sulla questione teorica rimango molto interessato all’evolversi delle discussioni anche nei settori estranei al “legalese”.
-
20 Dicembre 2011 alle 23:29 #67853::
Sfondi una porta aperta! 🙂Non abbrevio mai nemmeno “eccetera” o “per esempio”; mi concedo solo “p.” e “vol.” nelle bibliografie o citazioni. 🙂 Purtroppo certi ambiti sono molto coerenti con le orrende tradizioni ottocentesche. Nessuno vedendo scritto “si vedano gli art. 3 e seguenti (cc)” potrebbe equivocare sul significato. Oserei dire che
gli art. 3– (cc)
sarebbe anche più chiaro, ammesso che proprio si debba abbreviare “articolo/articoli”. Ma prova a dirlo al luminare del diritto di turno. 🙁
Ma con le macro definite in quel modo è facilissimo cambiare. 🙂 Versione personale e versione per il luminare. 🙂
Ciao
Enrico
-
9 Gennaio 2012 alle 10:19 #67854::
Non vorrei sembrare eccessivamente pignolo, ma c’è ancora una cosa che non mi convince del bel codice di egreg. Infatti, a volte capita di dover scrivere una cosa come questa: <artt. 23, co. 2, e 43, co. 4, c.c. …>>; oppure < art. 23, co. 3, n. 1, lett. a), c.c.>>. Ecco, in questi casi mi pare che non si potrebbe impiegare il nuovo comando. Io non m’intendo di nuovi comandi, quindi non so se sia possibile modificare quello proposto da egreg in modo da prevedere anche queste ulteriori ipotesi. Però faccio notare che si tratta di ipotesi di impiego abbastanza frequente, quindi potrebbe essere molto utile poter disporre di una versione del comando che le preveda.
Quanto al discorso sul rappoddiamento dell’ultima lettera dell’abbreviazione in caso di plurale, mi sembra di poter dire che si tratta di una prassi ormai quasi norma(le). Chi ha familiarità con i testi giuridici non può non trovare strana la dicitura “art. 24-28 c.c.” al posto di quella, appunto normale, “artt. 24-28 c.c.”.
Infine, vorrei mettere a disposizione il mio tempo e le mie rudimentali conoscenze LaTeX a chi sia eventualmente interessato a studiare il modo di adattare LaTeX alle esigenze dei giuristi o di chi maneggia documenti legali.
-
9 Gennaio 2012 alle 10:47 #67855::
deer” post=67634Non vorrei sembrare eccessivamente pignolo, ma c’è ancora una cosa che non mi convince del bel codice di egreg. Infatti, a volte capita di dover scrivere una cosa come questa: <
artt. 23, co. 2, e 43, co. 4, c.c. …>>; oppure < art. 23, co. 3, n. 1, lett. a), c.c.>>. Ecco, in questi casi mi pare che non si potrebbe impiegare il nuovo comando. Io non m’intendo di nuovi comandi, quindi non so se sia possibile modificare quello proposto da egreg in modo da prevedere anche queste ulteriori ipotesi. Però faccio notare che si tratta di ipotesi di impiego abbastanza frequente, quindi potrebbe essere molto utile poter disporre di una versione del comando che le preveda.
Quanto al discorso sul rappoddiamento dell’ultima lettera dell’abbreviazione in caso di plurale, mi sembra di poter dire che si tratta di una prassi ormai quasi norma(le). Chi ha familiarità con i testi giuridici non può non trovare strana la dicitura “art. 24-28 c.c.” al posto di quella, appunto normale, “artt. 24-28 c.c.”.
Infine, vorrei mettere a disposizione il mio tempo e le mie rudimentali conoscenze LaTeX a chi sia eventualmente interessato a studiare il modo di adattare LaTeX alle esigenze dei giuristi o di chi maneggia documenti legali.La seconda variante, quella con “art. 23, co. 3, n. 1, lett. a), c.c.” puoi ottenerla con
`\cc{23}[3, n. 1, lett. a)]`
Per la versione “doppia” si può pensare a un’altra variante.Posso dirti una cosa, sinceramente? Scrivere brutture del genere mi infastidisce. Ma se ho tempo ci provo.
Ciao
Enrico
-
19 Febbraio 2012 alle 17:57 #67856::
Mi sono abituato ad usare queste abbreviazioni nella vita di tutti i giorni. Alla fine non c’è un enorme risparmio di tempo rispetto alle versioni “estese”. Però evitare la digitazione dei punti fermi, ad esempio nell’espressione “c.c.”, e delle locuzioni “art.” e “artt.” è già qualcosa. Soprattutto noto che il sorgente è più leggibile e posso individuare a colpo d’occhio le fonti legislative che ho citato.
Quindi ringrazio sia chi ne ha proposto l’introduzione sia chi le ha escogitate.
Per maggior comodità, ho aggiunto qualche elemento e ne ho fatto un file da richiamare con \input. Lo posto.`
%Comandi per abbreviare la scrittura di articoli di codici.
%Norme d'uso:
% \cc{1} -> art. 1 c.c.
% \cc{1}[2] -> art. 1, co. 2, c.c.
% \cc{1-2} -> artt. 1-2 c.c.
% \cc+{1} -> artt. 1 e ss. c.c.
% \cc* produce la stessa cosa in nero; * va prima di +\usepackage{xparse}
\makeatletter
\NewDocumentCommand{\cccpccpcppcpacpiC}{m s t+ >{\SplitArgument{1}{-}}m o}
{\IfBooleanTF{#2}{\textbf}{\@firstofone}%
{art\IfBooleanT{#3}{t}\cccpccpcppcpacpiCart#4\IfBooleanT{#3}{~e~ss.}\IfNoValueF{#5}{, co.~#5,}~#1}%
}
\NewDocumentCommand{\cccpccpcppcpacpiCart}{mm}
{\IfNoValueTF{#2}{.~#1}{t.~#1\mbox{-}#2}}
\makeatother
\newcommand{\cc}{\cccpccpcppcpacpiC{c.c.}} %codice civile
\newcommand{\cpc}{\cccpccpcppcpacpiC{c.p.c.}} %codice procedura civile
\newcommand{\cp}{\cccpccpcppcpacpiC{c.p.}} %codice penale
\newcommand{\cpp}{\cccpccpcppcpacpiC{c.p.p.}} %codice proc. penale
\newcommand{\cpa}{\cccpccpcppcpacpiC{c.p.a.}} %codice proc. amministrativo
\newcommand{\cpi}{\cccpccpcppcpacpiC{c.p.i.}} %codice proprietà industriale
\newcommand{\C}{\cccpccpcppcpacpiC{Cost.}} %costituzione
`Come segnalato da Deer, mancherebbe il raddoppiamento della “t” finale di “art.” quando si scrivono cose come “per il combinato disposto degli artt. 35 e 77 c.c.”. Per il momento il codice corrispondente produce la scrittura “per il combinato disposto degli art. 35 e 77 c.c.”, con una sola “t”. Ma, a parte questo, tutto fila liscio.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.