- Questo topic ha 7 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 8 anni, 5 mesi fa da
Andrea Virga.
-
CreatoreTopic
-
9 Marzo 2018 alle 10:03 #112616::
Buongiorno a tutti,Sto usando la classe memoir, ma vorrei modificare lo headstyle che sto utilizzando al momento (memman), per ottenere che il titolo della subsection sia in corsivo, e che il titolo del paragraph sia in maiuscoletto.
Come posso fare?
Grazie in anticipo per la disponibilità.
-
CreatoreTopic
-
AutoreRisposte
-
-
9 Marzo 2018 alle 18:24 #112617
-
10 Marzo 2018 alle 9:57 #112618::
Sì, ho già visto quel paragrafo, ma parla ampiamente di cose che non mi servono direttamente. A me interessa solo modificare lo stile del testo (da grassetto a corsivo, da corsivo a maiuscoletto).Ho provato a copiare il codice di uno degli headstyle (memman headstyle, a pag. 103 del manuale di Memoir) e modificarlo, ma mi dà errore quando provo a compilare.
Con chapterstyle ero riuscito a crearne uno nuovo, fondendo insieme pezzi di due stili pre-esistenti.
-
10 Marzo 2018 alle 11:21 #112619::
Aggiornamento: ho copiato il codice dello headstyle “dowding” dal file memoir.cls .Apparentemente funziona, ma solo con i \setXheadstyle, mentre ho dovuto commentare via i \setbeforeXskip e i \setafterXskip , perché altrimenti mi dà errore.
Praticamente, ho postato questa cosa qua:
%\newcommand*{\addperiod}[1]{#1.}
\makeheadstyles{kultur}{%
\chapterstyle{kultur}
% \setbeforesecskip{-2\onelineskip
% \@plus -0.5\onelineskip \@minus -.5\onelineskip}%
% \setaftersecskip{1\onelineskip \@plus 0.1\onelineskip}%
\setsecheadstyle{\normalfont\centering\scshape}%
% \setbeforesubsecskip{-1.2\onelineskip
% \@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
% \setaftersubsecskip{0.8\onelineskip \@plus 0.1\onelineskip}%
\setsubsecheadstyle{\normalfont\itshape\centering}%
% \setbeforesubsubsecskip{-0.667\onelineskip
% \@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
% \setaftersubsubsecskip{0.333\onelineskip \@plus 0.1\onelineskip}%
\setsubsubsecheadstyle{\normalfont\normalsize\centering\itshape}%
% \setbeforeparaskip{1.0\onelineskip
% \@plus 0.5\onelineskip \@minus 0.2\onelineskip}%
% \setafterparaskip{-1em}%
\setparaheadstyle{\normalfont\normalsize\scshape\addperiod}%
% \setsubparaindent{\parindent}%
% \setbeforesubparaskip{1.0\onelineskip
% \@plus 0.5\onelineskip \@minus 0.2\onelineskip}%
% \setaftersubparaskip{-1em}%
\setsubparaheadstyle{\normalfont\normalsize\itshape\addperiod}}
-
10 Marzo 2018 alle 14:10 #112620::
No, non ha capito il modo di esprimersi di WIlsono; quando lui scrive \setXheadstyle intende che qulal X maiuscola vada sostituita con il nome del comando di sezionamento che interessa impostare; lo stesso negli altri ocmandi che contengono la X maiscola; in altri capitoli o in altri paragrafi invece di X Wilsono usa S, comunque sempre una lettera maiuscola. Almeno è cosi nella documentazione.
-
10 Marzo 2018 alle 23:30 #112621
-
11 Marzo 2018 alle 9:09 #112622::
OK, ci ho messo un po a far funzionare il tuo esempio minimo NON compilabile, ma finalmente ci sono riuscito e ho anche capito l’errore che ricevevi.
Intanto ecco il codice che ho usato io e, nota bene, questo è un esempio di “Esempio Minimo Compilabole” (EMC), come avresti potuto fare tu per agevolare chi ti da una mano.`\documentclass{memoir}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[italian]{babel}%\newcommand*{\addperiod}[1]{#1.}
\makeheadstyles{kultur}{%
\chapterstyle{dowding}% Stile per le sezioni
\setsecheadstyle{\normalfont\centering\scshape}%
\setbeforesecskip{-2\onelineskip
plus -0.5\onelineskip minus -.5\onelineskip}%
\setaftersecskip{1\onelineskip plus 0.1\onelineskip}%% Stile per le sottosezioni
\setsubsecheadstyle{\normalfont\itshape\centering}%
\setbeforesubsecskip{-1.2\onelineskip
plus -0.25\onelineskip minus -0.25\onelineskip}%
\setaftersubsecskip{0.8\onelineskip plus 0.1\onelineskip}%% Stile per le sotto sottosezioni
\setsubsubsecheadstyle{\normalfont\normalsize\centering\itshape}%
\setbeforesubsubsecskip{-0.667\onelineskip
plus -0.25\onelineskip minus -0.25\onelineskip}%
\setaftersubsubsecskip{0.333\onelineskip plus 0.1\onelineskip}%% Stile per i capoversi
\setparaheadstyle{\normalfont\normalsize\scshape\addperiod}%
\setbeforeparaskip{1.0\onelineskip
plus 0.5\onelineskip minus 0.2\onelineskip}%
\setafterparaskip{-1em}%% Stile per i sottocapoversi
\setsubparaheadstyle{\normalfont\normalsize\itshape\addperiod}%
\setsubparaindent{\parindent}%
\setbeforesubparaskip{1.0\onelineskip
plus 0.5\onelineskip minus 0.2\onelineskip}%
\setaftersubparaskip{-1em}}%\usepackage{kantlipsum}
\begin{document}
\headstyles{kultur}
\chapter{Capitolo}
\kant[1-3]\section{Paragrafo}
\kant[4-6]\subsection{Sottoparagrafo}
\kant[7-9]\subsubsection{Sotto sottopoaragrafo}
\kant[10-12]\paragraph{Capoverso}
\kant[13]\subparagraph{Sotto capoverso}
\kant[14]\end{document}`
Qualche informazione è necessaria.
Ho cambiato lo stile per i capitoli con quello che hai nominato “dowding”, perché lo stile kultur per il capitolo non è definito.A causa dell’errore che ricevevi e che se ne avessi letto la diagnostica avresti capito anche tu, ho cambiato i \@plus in plus e i \@minus in minus; Perché? Semplicemente perché, come dice il messaggio d’errore, non puoi usare lo spacefactor in quella circostanza; ma che cosa è lo spacefactor? Se usassi la guida di LaTeX scritta da Lamport e tradotta nella guida tematica Il LaTeX Reference Manual commentato liberamente disponibile dalla sezione Documentazione di questo sito, Sapresi che il comando \@ è quello che imposta lo space factor e che va usato prima del punto per distinguere la sua funzione se sia un segno di interpunzione o di abbreviazione. Dovresti anche sapere che @ non è una lettera e che non può essere usata nelle macro definite dall’utente né in quelle usate dall’utente. INfatti quel paragrafo 6.6 della documentazione di memoir, specifica che in certe circostanze e dice quali, bisogna racchiudere il codice che si vuole definite fra \makeatlettter e \makeatother per poter trattare il segno @ come se fosse una lettera. La cosa, dice la guida, non è necessaria nei file .sty importati con usepackage, né nei file di classe, né (aggiungo io) nel file che contiene le definizioni del markup LATeX (il file latex,ltx} in modo che l’uso speciale di questo segno @ nelle macro interne le rende per così dire “private” e in un certo senso protette dalle manomissioni da parte degli utenti.
Ecco, ti ho fatto, come è mio vizio fare, una lunga spiegazione affinché si possa capire il perché delle cose, e non si proceda semplicemente con ricette del tipo “si fa così e poche storie”.
Ricorda che LaTeX è un linguaggio di programmazione con le sue regole e la sua sintassi; è un linguaggio interpretato e non un linguaggio compilato, cone tutte le differenze che questo comporta. Va conosciuto nei dettagli quando si vuole fare qualcosa di non preconfezionato, quando si creano macro nuove, ambienti nuovi, stili nuovi e simili. Quando si maneggia un linguaggio di programmazione non esiste mai un solo modo di fare le cose e le discussioni sono sempre lecite, perché una soluzione può fare le cose meglio di un’altra, ma può avere certi suoi inconvenienti; quindi le discussioni si possono sempre fare per mettere sui piatti della bilancia pregi e difetti in modo da poterli esaminare criticamente. Ci viole perciò un metodo di lavoro critico. e per poter criticare ci vuole un’ottima conoscenza degli strumenti a disposizione.
Ti richiedo scusa anche epr questo ulteriore parte di paternale…
Infine nel sottocapoverso viene impostato anche l’ammontare del rientro; lo si può cambiare con quel comando, mettendo epr esempio \setsubparaindent{0pt}, ma non lo si può cancellare; o meglio se lo si cancella viene usato il valore di default che, appunto, è \parindent. Dunque vale la pena usarlo solo se si vuole impostare un valore diverso; mi domando se sia il caso di trattare i sottocapoversi come normali capoversi rientrati, ma questa è un’altra questione.
-
20 Marzo 2018 alle 17:30 #112623::
Grazie di cuore per la pazienza.Purtroppo, non ho cognizioni di matematica o programmazione informatica (né è un ambito di studi per cui nutra soverchio interesse), e quindi ampia parte della documentazione di LaTeX non mi è di immediata comprensione.
Pertanto, laddove le istruzioni non siano cristalline, procedo solitamente per retroingegneria, copiando e smontando pezzi di codice, però non sempre appunto saprei spiegare ogni singola riga di quello che uso.
Grazie ancora comunque per l’aiuto.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.