- Questo topic ha 19 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 10 anni, 11 mesi fa da
Andrea.
-
CreatoreTopic
-
18 Settembre 2015 alle 19:01 #103239::
Salve a tutti,Sono un nuovo utente e innanzitutto vorrei ringraziarvi per tutte le volte che ho trovato una soluzione ai miei problemi nello scrivere in Latex qui. Per quanto riguarda il mio problema, sto scrivendo la mia Tesi in LaTeX utilizzando il modello tesi classica di Lorenzo Pantieri. Necessito inserire un acronimo in un \item appartenente ad una \description, ma il meglio che sono riuscito a fare è:
`\item[\NoCaseChange{\ac{EPM}}]`
Dà un risultato decente, ma non perfetto dato che si nota la differenza con gli altri elementi della description. Qualcuno potrebbe aiutarmi? Grazie.
Andrea F
-
CreatoreTopic
-
AutoreRisposte
-
-
18 Settembre 2015 alle 19:23 #103240::
AndreaF” post=103225Salve a tutti,
Sono un nuovo utente e innanzitutto vorrei ringraziarvi per tutte le volte che ho trovato una soluzione ai miei problemi nello scrivere in Latex qui. Per quanto riguarda il mio problema, sto scrivendo la mia Tesi in LaTeX utilizzando il modello tesi classica di Lorenzo Pantieri. Necessito inserire un acronimo in un \item appartenente ad una \description, ma il meglio che sono riuscito a fare è:
`\item[\NoCaseChange{\ac{EPM}}]`
Dà un risultato decente, ma non perfetto dato che si nota la differenza con gli altri elementi della description. Qualcuno potrebbe aiutarmi? Grazie.
Andrea F
Benvenuto!
Potresti farci vedere un esempio minimo compilabile? Tipo questo:
`
% !TEX encoding = UTF-8 Unicode
% !TEX TS-program = pdflatex
% !BIB TS-program = biber\documentclass{article}
\begin{document}
\begin{description}
\item[label1] The description
\item[label2] The description
\end{description}\end{document}`
Ciao
Ivan
-
18 Settembre 2015 alle 19:43 #103241::
Ciao Ivan,Ecco il codice.
`\documentclass[10pt]{scrreprt} % classe report di KOMA-Script;
\usepackage[T1]{fontenc} % codifica dei font:
% NOTA BENE! richiede una distribuzione *completa* di LaTeX,
% per esempio TeXLive o MiKTeX *complete*\usepackage[utf8]{inputenc} % codifica di input; anche [latin1] va bene
% NOTA BENE! va accordata con le preferenze dell'editor\usepackage[italian,english]{babel} % per scrivere in italiano e in inglese;
% l'ultima lingua (l'italiano) risulta predefinita\usepackage{indentfirst} % rientra il primo capoverso di ogni sezione
\usepackage{mparhack,fixltx2e,relsize} % finezze tipografiche
\usepackage[eulerchapternumbers,% % numeri dei capitoli nel font Euler
beramono,% % Bera Mono come font a spaziatura fissa
eulermath,% % AMS Euler come font per la matematica
pdfspacing,% % migliora il riempimento di riga
listings,% % codici
% parts,% % da decommentare in un documento diviso in parti
]{classicthesis} % stile ClassicThesis\usepackage{arsclassica} % modifica alcuni aspetti di ClassicThesis
\usepackage{bookmark} % segnalibri
\usepackage[printonlyused,withpage]{acronym}
\begin{document}
\section*{Acronyms}
\noindent{\huge{\textbf{E}}}
\begin{acronym}
\acro{EPM}{European Physiology Module}
\end{acronym}%%%%%%
\begin{description}
\item[ciao]
\item[\NoCaseChange{\ac{EPM}}]
\end{description}\end{document}`
Andrea
-
18 Settembre 2015 alle 20:44 #103242
-
21 Settembre 2015 alle 10:18 #103243
-
21 Settembre 2015 alle 14:00 #103244::
Questo sembra funzionare
`
\documentclass[10pt]{scrreprt} % classe report di KOMA-Script;\usepackage[T1]{fontenc} % codifica dei font:
% NOTA BENE! richiede una distribuzione *completa* di LaTeX,
% per esempio TeXLive o MiKTeX *complete*\usepackage[utf8]{inputenc} % codifica di input; anche [latin1] va bene
% NOTA BENE! va accordata con le preferenze dell'editor\usepackage[italian,english]{babel} % per scrivere in italiano e in inglese;
% l'ultima lingua (l'italiano) risulta predefinita\usepackage{indentfirst} % rientra il primo capoverso di ogni sezione
\usepackage{mparhack,relsize} % finezze tipografiche
\usepackage[eulerchapternumbers,% % numeri dei capitoli nel font Euler
beramono,% % Bera Mono come font a spaziatura fissa
eulermath,% % AMS Euler come font per la matematica
pdfspacing,% % migliora il riempimento di riga
listings,% % codici
% parts,% % da decommentare in un documento diviso in parti
]{classicthesis} % stile ClassicThesis\usepackage{arsclassica} % modifica alcuni aspetti di ClassicThesis
\usepackage{bookmark} % segnalibri
\usepackage[printonlyused,withpage]{acronym}
\makeatletter
\def\ac@read#1{\expandafter\ac@readi#1{#1}}
\def\ac@readi#1#2#3{\def\noexpand#3{\unexpanded{{#1}}{\@skipmath\lowercase#2$\valign$}}}
\DeclareRobustCommand{\MakeTextLowercase}{\@uclcnotmath{\def\ac##1{\expandafter\ac@read\csname fn@##1\endcsname\NoCaseChange{\ac{##1}}}}{##1##2}\lowercase}
\makeatother\begin{document}
\section*{Acronyms}
\noindent{\huge{\textbf{E}}}
\begin{acronym}
\acro{EPM}{European Physiology Module}
\acro{AAP}{Altro Acronimo di Prova}
\end{acronym}%%%%%%
\begin{description}
\item[ciao]
\item[\ac{EPM}]
\item[\ac{AAP}]
\end{description}
\ac{EPM}
\ac{AAP}\end{document}
`
In sostanza il problema è molto simile a quello a cui è venuto incontro @ivan qualche giorno fa. La macro è la stessa [tt]\MakeTextLowercase[/tt] e la soluzione è molto simile: ridefinire localmente [tt]\ac[/tt] affinché- Il suo argomento non venga modificato dalla primitiva [tt]\lowercase[/tt] che rende minuscole le lettere (e quindi altera la sigla di riconoscimento)
- Operi una modica della macro [tt]\fn@
[/tt]. In tal modo il testo dell’acronimo viene reso in minuscolo.
Ho aggiunto un acronimo di mia invenzione per testare se tutto funziona.
Piccola osservazione extra: se hai TeXlive 2015 il pacchetto [tt]fixltx2e[/tt] non è più necessario, puoi rimuoverlo tranquillamente.
-
21 Settembre 2015 alle 14:13 #103245
-
21 Settembre 2015 alle 15:05 #103246::
Un errore mio 😀 A me funzionava perché tra le varie prove era rimasti i file ausiliari (in questo caso il file .aux) che contenevano la definizione di [tt]\fn@[/tt]. La mancata definizione comporta una serie di problemi nella correzione della macro. Questo codice controlla che sia definita la macro incriminata prima di espandere tutto.
`
\documentclass[10pt]{scrreprt} % classe report di KOMA-Script;\usepackage[T1]{fontenc} % codifica dei font:
% NOTA BENE! richiede una distribuzione *completa* di LaTeX,
% per esempio TeXLive o MiKTeX *complete*\usepackage[utf8]{inputenc} % codifica di input; anche [latin1] va bene
% NOTA BENE! va accordata con le preferenze dell'editor\usepackage[italian,english]{babel} % per scrivere in italiano e in inglese;
% l'ultima lingua (l'italiano) risulta predefinita\usepackage{indentfirst} % rientra il primo capoverso di ogni sezione
\usepackage{mparhack,relsize} % finezze tipografiche
\usepackage[eulerchapternumbers,% % numeri dei capitoli nel font Euler
beramono,% % Bera Mono come font a spaziatura fissa
eulermath,% % AMS Euler come font per la matematica
pdfspacing,% % migliora il riempimento di riga
listings,% % codici
% parts,% % da decommentare in un documento diviso in parti
]{classicthesis} % stile ClassicThesis\usepackage{arsclassica} % modifica alcuni aspetti di ClassicThesis
\usepackage{bookmark} % segnalibri
\usepackage[printonlyused,withpage]{acronym}
\makeatletter
\def\ac@read#1{\expandafter\ac@readi#1{#1}}
\def\ac@readi#1#2#3{\def\noexpand#3{\unexpanded{{#1}}{\@skipmath\lowercase#2$\valign$}}}
\DeclareRobustCommand{\MakeTextLowercase}{\@uclcnotmath{\def\ac##1{\ifcsname fn@##1\endcsname\expandafter\ac@read\csname fn@##1\endcsname\fi\NoCaseChange{\ac{##1}}}}{##1##2}\lowercase}
\makeatother\begin{document}
\section*{Acronyms}
\noindent{\huge{\textbf{E}}}
\begin{acronym}
\acro{EPM}{European Physiology Module}
\acro{AAP}{Altro Acronimo di Prova}
\end{acronym}%%%%%%
\begin{description}
\item[ciao]
\item[\ac{EPM}]
\item[\ac{AAP}]
\item[\ac{EPM}]
\end{description}
\ac{EPM}
\ac{AAP}\end{document}
`
-
21 Settembre 2015 alle 16:36 #103247
-
21 Settembre 2015 alle 16:51 #103248::
Ciao,Se compilo il tuo codice in un documento a parte funziona, quando lo integro nel mio appare questo errore:
Illegal parameter number in definition of \@themark. \section{Introduction}
Il preambolo intero che utilizzo è il seguente:
`\documentclass[10pt,% % corpo del font principale
a4paper,% % carta A4
twoside,openright,% % fronte-retro
% oneside,openany,% % solo fronte
titlepage,% % frontespizio
headinclude,,footinclude,% % testatina e piede di pagina
BCOR5mm,% % rilegatura di 5 mm
cleardoublepage=empty,% % pagine vuote senza testatina e piede di pagina
tablecaptionabove,% % didascalie in cima alle tabelle
]{scrreprt} % classe report di KOMA-Script;\usepackage[T1]{fontenc} % codifica dei font:
% NOTA BENE! richiede una distribuzione *completa* di LaTeX,
% per esempio TeXLive o MiKTeX *complete*\usepackage[utf8]{inputenc} % codifica di input; anche [latin1] va bene
% NOTA BENE! va accordata con le preferenze dell'editor\usepackage[italian,english]{babel} % per scrivere in italiano e in inglese;
% l'ultima lingua (l'italiano) risulta predefinita\usepackage[suftesi]{frontespizio} % frontespizo
% per includerlo nel documento bisogna:
% 1. compilare una prima volta Tesi.tex;
% 2. compilare a parte Tesi-frn.tex, generato dalla compilazione precedente;
% 3. compilare ancora Tesi.tex.\usepackage{indentfirst} % rientra il primo capoverso di ogni sezione
\usepackage{graphicx} % immagini
\usepackage{listings} % codici
\usepackage[font=small]{quoting} % citazioni
\usepackage{amsmath,amssymb,amsthm} % matematica
\usepackage[italian]{varioref} % riferimenti completi della pagina
\usepackage{mparhack,relsize} % finezze tipografiche
\usepackage{tabularx} % tabelle di larghezza prefissata
\usepackage[style=philosophy-modern,citestyle=numeric-comp,hyperref,backref,square,natbib,backend=biber]{biblatex}
% eccellente pacchetto per la bibliografia;
% produce uno stile di citazione autore-anno;
% lo stile “numeric-comp” produce riferimenti numerici;
% NOTA BENE! bisogna che il proprio editor sia configurato per biber\addbibresource{Bibliografia.bib} % database di biblatex
\defbibheading{paper}{\noindent \Large{BIBLIOGRAPHY}}
\defbibheading{web}{\noindent \Large{WEBSITES}\footnote{Date refers to last online visit}}\usepackage{subfig} % sottofigure, sottotabelle
\usepackage{eurosym} % simbolo dell'euro
\usepackage[eulerchapternumbers,% % numeri dei capitoli nel font Euler
subfig,% % se si usa il pacchetto subfig
beramono,% % Bera Mono come font a spaziatura fissa
eulermath,% % AMS Euler come font per la matematica
pdfspacing,% % migliora il riempimento di riga
listings,% % codici
% parts,% % da decommentare in un documento diviso in parti
]{classicthesis} % stile ClassicThesis\usepackage{arsclassica} % modifica alcuni aspetti di ClassicThesis
\usepackage{bookmark} % segnalibri
\usepackage{enumerate}
\usepackage[printonlyused,withpage]{acronym}
%\usepackage[table, x11names, rgb]{xcolor}
\usepackage{colortbl}\input{impostazioni-tesi} % file con le impostazioni personali`
Cosa potrebbe essere questo errore?
Grazie,
Andrea
-
21 Settembre 2015 alle 17:56 #103249::
A me questo codice compila tranquillamente (se escludiamo i warning, sei sicuro che [ŧt]classicthesis[/tt] sia compatibile con le classi KOMA-script?). Potresti postare il contenuto del file [tt]impostazione-tesi.tex[/tt]?
`
\documentclass[10pt,% % corpo del font principale
a4paper,% % carta A4
twoside,openright,% % fronte-retro
% oneside,openany,% % solo fronte
titlepage,% % frontespizio
headinclude,,footinclude,% % testatina e piede di pagina
BCOR5mm,% % rilegatura di 5 mm
cleardoublepage=empty,% % pagine vuote senza testatina e piede di pagina
tablecaptionabove,% % didascalie in cima alle tabelle
]{scrreprt} % classe report di KOMA-Script;\usepackage[T1]{fontenc} % codifica dei font:
% NOTA BENE! richiede una distribuzione *completa* di LaTeX,
% per esempio TeXLive o MiKTeX *complete*\usepackage[utf8]{inputenc} % codifica di input; anche [latin1] va bene
% NOTA BENE! va accordata con le preferenze dell'editor\usepackage[italian,english]{babel} % per scrivere in italiano e in inglese;
% l'ultima lingua (l'italiano) risulta predefinita\usepackage[suftesi]{frontespizio} % frontespizo
% per includerlo nel documento bisogna:
% 1. compilare una prima volta Tesi.tex;
% 2. compilare a parte Tesi-frn.tex, generato dalla compilazione precedente;
% 3. compilare ancora Tesi.tex.\usepackage{indentfirst} % rientra il primo capoverso di ogni sezione
\usepackage{graphicx} % immagini
\usepackage{listings} % codici
\usepackage[font=small]{quoting} % citazioni
\usepackage{amsmath,amssymb,amsthm} % matematica
\usepackage[italian]{varioref} % riferimenti completi della pagina
\usepackage{mparhack,relsize} % finezze tipografiche
\usepackage{tabularx} % tabelle di larghezza prefissata
\usepackage[style=philosophy-modern,citestyle=numeric-comp,hyperref,backref,square,natbib,backend=biber]{biblatex}
% eccellente pacchetto per la bibliografia;
% produce uno stile di citazione autore-anno;
% lo stile “numeric-comp” produce riferimenti numerici;
% NOTA BENE! bisogna che il proprio editor sia configurato per biber%\addbibresource{Bibliografia.bib} % database di biblatex
\defbibheading{paper}{\noindent \Large{BIBLIOGRAPHY}}
\defbibheading{web}{\noindent \Large{WEBSITES}\footnote{Date refers to last online visit}}\usepackage{subfig} % sottofigure, sottotabelle
\usepackage{eurosym} % simbolo dell'euro
\usepackage[eulerchapternumbers,% % numeri dei capitoli nel font Euler
subfig,% % se si usa il pacchetto subfig
beramono,% % Bera Mono come font a spaziatura fissa
eulermath,% % AMS Euler come font per la matematica
pdfspacing,% % migliora il riempimento di riga
listings,% % codici
% parts,% % da decommentare in un documento diviso in parti
]{classicthesis} % stile ClassicThesis\usepackage{arsclassica} % modifica alcuni aspetti di ClassicThesis
\usepackage{bookmark} % segnalibri
\usepackage{enumerate}
\usepackage[printonlyused,withpage]{acronym}
%\usepackage[table, x11names, rgb]{xcolor}
\usepackage{colortbl}%\input{impostazioni-tesi} % file con le impostazioni personali
\makeatletter
\def\ac@read#1{\expandafter\ac@readi#1{#1}}
\def\ac@readi#1#2#3{\def\noexpand#3{\unexpanded{{#1}}{\@skipmath\lowercase#2$\valign$}}}
\DeclareRobustCommand{\MakeTextLowercase}{\@uclcnotmath{\def\ac##1{\ifcsname fn@##1\endcsname\expandafter\ac@read\csname fn@##1\endcsname\fi\NoCaseChange{\ac{##1}}}}{##1##2}\lowercase}
\makeatother\begin{document}
\section*{Acronyms}
\noindent{\huge{\textbf{E}}}
\begin{acronym}
\acro{EPM}{European Physiology Module}
\acro{AAP}{Altro Acronimo di Prova}
\end{acronym}%%%%%%
\begin{description}
\item[ciao]
\item[\\ac{EPM}]
\item[\ac{AAP}]
\item[\ac{EPM}]
\end{description}
\ac{EPM}
\ac{AAP}\end{document}
`
Come vedi ho commentato il file delle tue impostazioni personali, non avendolo.
-
21 Settembre 2015 alle 18:04 #103250::
Ciao,Per quanto riguarda la compatibilità tra classicthesis e le classi KOMA, ad essere onesto non ne so molto dato che ho scaricato il modello di Tesi Classica dal sito di Lorenzo Pantieri. Infatti, questo è il codice delle impostazioni personali:
`%*********************************************************************************
% impostazioni-tesi.tex
% di Lorenzo Pantieri (2011-2013)
% file che contiene le impostazioni della tesi
%*********************************************************************************%*********************************************************************************
% Comandi personali
%*******************************************************
\newcommand{\myName}{Lorenzo Pantieri} % autore
\newcommand{\myTitle}{La prova ontologica dell'esistenza di Dio} % titolo
\newcommand{\myDegree}{Tesi di laurea} % tipo di tesi
\newcommand{\myUni}{Universit degli Studi del Magdeburgo} % universit
\newcommand{\myFaculty}{Facolt di Lettere e Filosofia} % facolt
\newcommand{\myDepartment}{Dipartimento di Teologia} % dipartimento
\newcommand{\myProf}{Chiar.mo Prof.~S.~Anselmo d'Aosta} % relatore
%\newcommand{\myOtherProf}{Dott.~Immanuel Kant} % correlatore (se c')
\newcommand{\myLocation}{Magdeburgo} % dove
\newcommand{\myTime}{Aprile 2013} % quando%*********************************************************************************
% Impostazioni di amsmath, amssymb, amsthm
%*********************************************************************************% comandi per gli insiemi numerici (serve il pacchetto amssymb)
\newcommand{\numberset}{\mathbb}
\newcommand{\N}{\numberset{N}}
\newcommand{\R}{\numberset{R}}% un ambiente per i sistemi
\newenvironment{sistema}%
{\left\lbrace\begin{array}{@{}l@{}}}%
{\end{array}\right.}% definizioni (serve il pacchetto amsthm)
\theoremstyle{definition}
\newtheorem{definizione}{Definizione}% teoremi, leggi e decreti (serve il pacchetto amsthm)
\theoremstyle{plain}
\newtheorem{teorema}{Teorema}
\newtheorem{legge}{Legge}
\newtheorem{decreto}[legge]{Decreto}
\newtheorem{murphy}{Murphy}[section]%*********************************************************************************
% Impostazioni di biblatex
%*********************************************************************************
\defbibheading{bibliography}{%
\cleardoublepage
\manualmark
\phantomsection
\addcontentsline{toc}{chapter}{\tocEntry{\bibname}}
\chapter*{\bibname\markboth{\spacedlowsmallcaps{\bibname}}
{\spacedlowsmallcaps{\bibname}}}}%*********************************************************************************
% Impostazioni di listings
%*********************************************************************************
\lstset{language=[LaTeX]Tex,%C++,
keywordstyle=\color{RoyalBlue},%\bfseries,
basicstyle=\small\ttfamily,
%identifierstyle=\color{NavyBlue},
commentstyle=\color{Green}\ttfamily,
stringstyle=\rmfamily,
numbers=none,%left,%
numberstyle=\scriptsize,%\tiny
stepnumber=5,
numbersep=8pt,
showstringspaces=false,
breaklines=true,
frameround=ftff,
frame=single
}%*********************************************************************************
% Impostazioni di hyperref
%*********************************************************************************
\hypersetup{%
hyperfootnotes=false,pdfpagelabels,
%draft, % = elimina tutti i link (utile per stampe in bianco e nero)
colorlinks=true, linktocpage=true, pdfstartpage=1, pdfstartview=FitV,%
% decommenta la riga seguente per avere link in nero (per esempio per la stampa in bianco e nero)
%colorlinks=false, linktocpage=false, pdfborder={0 0 0}, pdfstartpage=1, pdfstartview=FitV,%
breaklinks=true, pdfpagemode=UseNone, pageanchor=true, pdfpagemode=UseOutlines,%
plainpages=false, bookmarksnumbered, bookmarksopen=true, bookmarksopenlevel=1,%
hypertexnames=true, pdfhighlight=/O,%nesting=true,%frenchlinks,%
urlcolor=webbrown, linkcolor=RoyalBlue, citecolor=webgreen, %pagecolor=RoyalBlue,%
%urlcolor=Black, linkcolor=Black, citecolor=Black, %pagecolor=Black,%
pdftitle={\myTitle},%
pdfauthor={\textcopyright\ \myName, \myUni, \myFaculty},%
pdfsubject={},%
pdfkeywords={},%
pdfcreator={pdfLaTeX},%
pdfproducer={LaTeX with hyperref and ClassicThesis}%
}%*********************************************************************************
% Impostazioni di graphicx
%*********************************************************************************
\graphicspath{{Immagini/}} % cartella dove sono riposte le immagini%*********************************************************************************
% Margini ottimizzati per l'A4
%*********************************************************************************
\areaset[current]{336pt}{750pt}
\setlength{\marginparwidth}{7em}
\setlength{\marginparsep}{2em}%%*********************************************************************************
% Impostazioni di varioref
%*********************************************************************************
\makeatletter
\vref@addto\extrasitalian{%
\def\reftextfaraway#1{a pagina~\pageref{#1}}%
}
\makeatother%*********************************************************************************
% Altro
%*********************************************************************************% […] 😉
\newcommand{\omissis}{[\dots\negthinspace]}% eccezioni all'algoritmo di sillabazione
\hyphenation{Fortran ma-cro-istru-zio-ne nitro-idrossil-amminico}% correzione di un bug di scrreprt nella numerazione delle figure
\renewcommand*{\figureformat}{%
\figurename~\thefigure%
%\autodot%
}
\renewcommand*{\tableformat}{%
\tablename~\thetable%
%\autodot%
}`
Grazie
Andrea
-
21 Settembre 2015 alle 19:44 #103251::
Niente, sul mio calcolatore continua a compilare tranquillamente (togliendo i warning vari). L’unica cosa che viene in mente è consigliarti di eliminare i file ausiliari (per capirci .log, .aux e simili, se usi un editor LaTeX-friendly esistono i pulsanti appositi). Hai provato a compilare il codice con il tuo preambolo che a me funziona? Ti restituisce comunque un errore? Se l’ultima risposta è affermativa, postami un esempio completo compilabile (da [tt]\documentclass[/tt] fino a [tt]\end{document}[/tt]) che restituisce l’errore.
-
22 Settembre 2015 alle 6:18 #103252::
Ciao,Ho provato a seguire i tuoi consigli ma ottengo comunque il solito errore. Per completezza di informazione:
- Utilizzo TeXStudio 2.9.4 per Mac OS
- Senza il tuo codice aggiuntivo (da \makeatletter a \makeatother) non ottengo nessun warning, se non i soliti “libpng warning: iCCP: Not recognizing known sRGB profile that has been edited”
- Ho strutturato il documento in modo da inserire i vari capitoli con \input{…} nel main… Non credo sia questo il problema
In ogni caso ti allego un .zip con un esempio completo compatibile. Grazie ancora per la disponibilità.
Andrea
Attachments:
You must be logged in to view attached files. -
22 Settembre 2015 alle 15:06 #103253::
Eccomi, scusa il ritardo ma sono ancora in sessione esami 👿
Comunque è un errore mio, ho dimenticato uno spazio nel nome della macro 😳
`
\makeatletter
\def\ac@read#1{\expandafter\ac@readi#1{#1}}
\def\ac@readi#1#2#3{\def\noexpand#3{\unexpanded{{#1}}{\@skipmath\lowercase#2$\valign$}}}
\@namedef{MakeTextLowercase }{\@uclcnotmath{\def\ac##1{\ifcsname fn@##1\endcsname\expandafter\ac@read\csname fn@##1\endcsname\fi\NoCaseChange{\ac{##1}}}}{##1##2}\lowercase}
\makeatother
`
Nota attentamente che la macro è definita [tt]\@namedef{MakeTextLowercase }[/tt]. Lo spazio nel nome della macro è necessario: questa differisce da [tt]\MakeTextLowercase[/tt], più precisamente è una sua macro interna. Nello specifico fa parte di un sistema idea per rendere robuste le macro: questo significa che le macro non saranno espanse sempre, ma solo in determinate occasioni dove gli viene concesso, per impedirne espansioni indesiderate, con effetti talvolta disastrosi (come hai potuto sperimentare).
Dimenticandomi lo spazio ho distrutto la “robustezza” della macro perché ho sovrascritto la macro [tt]\MakeTextLowercase[/tt] perdendo tutto il meccanismo. Rinominare invece la versione con uno spazio finale permette di operare sulla macro le modifiche desiderate, senza perdere tutto il meccanismo di irrobustimento della macro.Provvedo subito nella correzione anche i miei precedenti interventi, chiedo scusa per il disguido.
PS Correggendo le precedenti macro mi sono ricordato del comando [tt]\DeclareRobustCommand[/tt] che utilizzi proprio per definire nuove macro robuste (o sovrascrivere precedenti). Per evitare disguidi, ti consiglio di utilizzare questa macro. Il codice diventa quindi
`
\makeatletter
\def\ac@read#1{\expandafter\ac@readi#1{#1}}
\def\ac@readi#1#2#3{\def\noexpand#3{\unexpanded{{#1}}{\@skipmath\lowercase#2$\valign$}}}
\DeclareRobustCommand{\MakeTextLowercase}{\@uclcnotmath{\def\ac##1{\ifcsname fn@##1\endcsname\expandafter\ac@read\csname fn@##1\endcsname\fi\NoCaseChange{\ac{##1}}}}{##1##2}\lowercase}
\makeatother
`
In questo caso ridefinisci direttamente [tt]\MakeTextLowercase[/tt], si occuperà poi [tt]\DeclareRobustCommand[/tt] di renderla robusta e sovrascrivere la macro interna con la nuova impostazione.
-
22 Settembre 2015 alle 18:25 #103254
-
22 Settembre 2015 alle 18:40 #103255
-
23 Settembre 2015 alle 14:05 #103256::
Ciao,Scusa se riapro la discussione ma ho avuto un problema legato a questo post. Se invece di \ac dovessi utilizzare altri comandi simili (del tipo \acfp) come posso integrare il codice da te suggerito? Se ne scrivo uno simile ma con \acfp, quest’ultimo risulta corretto mentre \ac non viene più visualizzato correttamente.
Grazie,
Andrea
-
23 Settembre 2015 alle 15:37 #103257::
Puoi postare un esempio di cosa intendi? Questo codice mi sembra funzionare (ho aggiunto anche [tt]\acfp[/tt] se vuoi usarlo dentro all’argomento opzionale di [tt]\item[/tt]).
`
\documentclass[10pt,% % corpo del font principale
a4paper,% % carta A4
twoside,openright,% % fronte-retro
% oneside,openany,% % solo fronte
titlepage,% % frontespizio
headinclude,,footinclude,% % testatina e piede di pagina
BCOR5mm,% % rilegatura di 5 mm
cleardoublepage=empty,% % pagine vuote senza testatina e piede di pagina
tablecaptionabove,% % didascalie in cima alle tabelle
]{scrreprt} % classe report di KOMA-Script;\usepackage[T1]{fontenc} % codifica dei font:
% NOTA BENE! richiede una distribuzione *completa* di LaTeX,
% per esempio TeXLive o MiKTeX *complete*\usepackage[utf8]{inputenc} % codifica di input; anche [latin1] va bene
% NOTA BENE! va accordata con le preferenze dell'editor\usepackage[italian,english]{babel} % per scrivere in italiano e in inglese;
% l'ultima lingua (l'italiano) risulta predefinita\usepackage[suftesi]{frontespizio} % frontespizo
% per includerlo nel documento bisogna:
% 1. compilare una prima volta Tesi.tex;
% 2. compilare a parte Tesi-frn.tex, generato dalla compilazione precedente;
% 3. compilare ancora Tesi.tex.\usepackage{indentfirst} % rientra il primo capoverso di ogni sezione
\usepackage{graphicx} % immagini
\usepackage{listings} % codici
\usepackage[font=small]{quoting} % citazioni
\usepackage{amsmath,amssymb,amsthm} % matematica
\usepackage[italian]{varioref} % riferimenti completi della pagina
\usepackage{mparhack,relsize} % finezze tipografiche
\usepackage{tabularx} % tabelle di larghezza prefissata
\usepackage[style=philosophy-modern,citestyle=numeric-comp,hyperref,backref,square,natbib,backend=biber]{biblatex}
% eccellente pacchetto per la bibliografia;
% produce uno stile di citazione autore-anno;
% lo stile “numeric-comp” produce riferimenti numerici;
% NOTA BENE! bisogna che il proprio editor sia configurato per biber%\addbibresource{Bibliografia.bib} % database di biblatex
\defbibheading{paper}{\noindent \Large{BIBLIOGRAPHY}}
\defbibheading{web}{\noindent \Large{WEBSITES}\footnote{Date refers to last online visit}}\usepackage{subfig} % sottofigure, sottotabelle
\usepackage{eurosym} % simbolo dell'euro
\usepackage[eulerchapternumbers,% % numeri dei capitoli nel font Euler
subfig,% % se si usa il pacchetto subfig
beramono,% % Bera Mono come font a spaziatura fissa
eulermath,% % AMS Euler come font per la matematica
pdfspacing,% % migliora il riempimento di riga
listings,% % codici
% parts,% % da decommentare in un documento diviso in parti
]{classicthesis} % stile ClassicThesis\usepackage{arsclassica} % modifica alcuni aspetti di ClassicThesis
\usepackage[printonlyused,withpage]{acronym}
\makeatletter
\def\ac@read#1{\expandafter\ac@readi#1{#1}}
\def\ac@readi#1#2#3{\def\noexpand#3{\unexpanded{{#1}}{\@skipmath\lowercase#2$\valign$}}}
\DeclareRobustCommand{\MakeTextLowercase}{\@uclcnotmath{\def\ac##1{\ifcsname fn@##1\endcsname\expandafter\ac@read\csname fn@##1\endcsname\fi\NoCaseChange{\ac{##1}}}\def\acfp##1{\ifcsname fn@##1\endcsname\expandafter\ac@read\csname fn@##1\endcsname\fi\NoCaseChange{\acfp{##1}}}}{##1##2}\lowercase}
\makeatother\begin{document}
\section{Acronyms}
\noindent{\huge{\textbf{E}}}
\begin{acronym}
\acro{EPM}{European Physiology Module}
\acro{AAP}{Altro Acronimo di Prova}
\end{acronym}%%%%%%
\begin{description}
\item[ciao]
\item[\ac{EPM}]
\item[\ac{AAP}]
\item[\acfp{AAP}]
\end{description}
\ac{EPM}
\ac{AAP}
\acfp{AAP}\end{document}
`
-
23 Settembre 2015 alle 17:40 #103258
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.