Risposte nei forum create
-
AutoreRisposte
-
4 Novembre 2011 alle 13:23 in risposta a: Codice suftesi: \maketitle con più autori e \marginpar #65596::
ivan” post=64690Risolto il problema con todonotes:
`
…
\newcommand{\graffito}[1]{\marginnote%
[\graffito@setup\raggedleft\hspace{0pt}{#1}]%
{\graffito@setup\raggedright\hspace{0pt}{#1}}}
\let\marginnote\marginpar
\def\marginpar{%
\@ifnextchar[\marginnote\graffito}
\ifsuftesi@nomarginpar
\let\graffito\@gobble
\else
\fi
`Rimane un problema. Se nel documento si è usato il comando:
`\marginpar[nota di sinistra]{nota di destra}`
Il secondo argomento verrà comunque stampato, secondo lo stile di default di \marginpar, anche con l’opzione nomarginpar.
Il fatto è che
`\let\marginpar\@gobble`
si mangia solo il primo argomento. Con \@gobbletwo non cambia.
Quest’ultimo codice, nello specifico, non risolve il problema. Ma avendo la possibilità di annullare l’effetto di un comando con due argomenti la soluzione poi è semplice.Chi ne sa qualcosa in merito?
Ciao
IvanNon basta fare
`
\ifsuftesi@nomarginpar
\let\graffito\@gobble
\renewcommand\marginpar[2][]{}
\fi`
?Grazie della tua disponibilità.
Ciao,
A.
4 Novembre 2011 alle 7:47 in risposta a: Consigliare memoir ai principianti (lettori dell’Arte)? #65409::lorenzo.pantieri” post=64567
In conclusione. Lasciate l’Arte così com’è. Se uno compone un documento secondo le regole dell’Arte per passare a suftesi servirà soltanto modificare il caricamento della classe ed eliminare tutti i pacchetti e comandi superflui e soprattutto quelli che modificano il layout.
Caro Ivan, permettimi di esporti la mia visione (ideale) del mondo (LaTeX).
Il bello di LaTeX è che permette di disinteressarsi (quasi) completamente dell’aspetto tipografico del documento. Per aspetto tipografico, o layout, intendo:
[ul]
[li]i font del documento;[/li]
[li]la geometria della pagina;[/li]
[li]lo stile di pagina (testatine e piè di pagina);[/li]
[li]il formato dei titoli delle sezioni;[/li]
[li]il formato degli indici;[/li]
[li]il formato degli elenchi;[/li]
[li]il formato delle didascalie.[/li]
[/ul]
Idealmente, vorrei che questa roba fosse tutta definita a livello di classe (non di pacchetti!), e che l’utente non la toccasse. Scrivendo
`\documentclass[a4paper,11pt]{book}`
l’utente mette, per così dire, le mani avanti: “sto scrivendo un libro; lo stamperò in formato A4 e in corpo 11; il layout (font, geometria e stile di pagina, formati di titoli di sezione, indici, elenchi e didascalie) è quello standard.Idealmente, mi piacerebbe che l’utente potesse scrivere
`\documentclass[a4paper,11pt]{classicthesis}`
e
`\documentclass[a4paper,11pt]{arsclassica}`
Idealmente, vorrei che l’utente potesse passare da un layout all’altro cambiando classe e lasciando invariato il resto.In questo quadro rigoroso-integralista, sono disposto ad ammettere moderat(issim)e personalizzazioni al layout, ma solo a livello di opzione generale di classe. Per esempio, l’utente potrebbe scrivere
`\documentclass[beramono]{classicthesis}`
se vuole che il suo documento composto con ClassicThesis usi i Bera Mono come font a spaziatura fissa. Di personalizzazioni di questo tipo, però, meno ce ne sono e meglio è: chi personalizza una classe, per me, sta facendo qualcosa di anomalo.Poi ci sono i pacchetti. Per come la vedo io, l’utente normale non dovrebbe usare quelli che modificano il layout: pacchetti come geometry, titlesec o titletoc dovrebbero essere usati (solo) da chi programma la classe, non dall’utente finale.
I pacchetti che l’utente “normale” può usare dovrebbero essere solo quelli che non cambiano il layout; che so, chemfig se deve scrivere chimica, glossaries se ha bisogno di un glossario, longtable se gli serve una tabella su più pagine, verse se deve scrivere poesie. Eccetera.
L’idea di trasformare ClassicThesis e AsrClassica in classi è buona. Ma questo non posso farlo io: programmare una classe è una cosa troppo seria per lasciarla a un dilettante. Idealmente, se queste classi venissero scritte, l’Arte potrebbe cambiare filosofia: ovvero potrebbe indirizzare l’utente verso classi non standard, rigide, sconsigliando tutti i pacchetti che modificano il layout.
Sarebbe un progresso, per l’Arte, ma soprattutto per LaTeX.
Che ne dite?
A presto,
L.Consentitemi il termine, ma… straquoto!
A scopo “didattico” ho provato a scrivere classicthesis.cls ed è fantastico passare da book a classicthesis a (quasi) suftesi cambiando una sola riga!
Antonio
3 Novembre 2011 alle 22:59 in risposta a: Rimuovere le parentesi dagli argomenti di un comando #65562::egreg9″ post=64662
Se usi il codice
`\makeatletter
\def\enit@reflabel#1#2{%
\ifnum\enit@depth=\@ne\else % no level 0
\advance\enit@depth\@ne
\@namedef{p@\@enumctr}{}% Don't accumulate labels
\advance\enit@depth\m@ne
\fi
\ifcase#2%
\@namedef{the\@enumctr}{#1}%
\else
\enit@normlabel{\csname the\@enumctr\endcsname}{#1}%
\fi}
\def\enit@normlabel#1#2{%
\begingroup
\def\value{\enit@refstar@i\value}%
\let\enit@elt\enit@refstar
\enit@labellist
\protected@xdef\enit@a{#2}
\endgroup
\expandafter\let#1\enit@a}
\makeatother`
le graffe in più non appaiono. Sinceramente non so perché Bezos le abbia aggiunte.Ciao
EnricoCi mette pure un commento in uno dei punti dove aggiunge parentesi:
`
\protected@xdef\enit@a{{#2}}% Added braces as \ref is in the global scope.`
Ovviamente non ho la più pallida idea di che cosa intenda. 😕Grazie della tua assistenza. 🙂
Ciao,
A.
3 Novembre 2011 alle 22:25 in risposta a: Rimuovere le parentesi dagli argomenti di un comando #65560::egreg9″ post=64655
In realtà ho dovuto duplicare la riga con \@firstofone:
`\makeatletter
\def\ordrefm#1{\begingroup\edef\x{\getrefnumber{#1}}%
\edef\x{\expandafter\@firstofone\x}%
\edef\x{\expandafter\@firstofone\x}%
\edef\x{\endgroup\noexpand\printordinalem{\x}}\x}
\makeatother`Così va, grazie!
A me va anche con uno solo. Se chiedo \show\x dopo la prima \edef ottengo {2} e dopo la seconda 2. In effetti la coppia di graffe da rimuovere è una sola. Ma in effetti vedo che nel tuo .aux sono due coppie. Boh. Versioni diverse di enumitem? La mia è 3.3.
Ciao
EnricoLa mia è 3.5.2, la stessa che c’è su CTAN. (Al momento sono su Windows con MiKTeX.)
egreg9″ post=64658
A me ne servono due 😕
Comunque, è l’approccio giusto mettere tanti \@firstofone a seconda di qual è il massimo numero di parentesi che si prevede di dover rimuovere?
Voglio che quel codice funzioni anche con 0 (classe book standard), una (\setenumerate con label e ref) e due (\setenumerate con label) coppie di parentesi spurie.Come avrai visto, funziona anche con il primo riferimento che nel file .aux compare come
`\newlabel{cap}{{1}{1}{Numerato\relax }{chapter.1}{}}`
cioè senza graffe in più.
…Ciao
EnricoSìsì, la mia idea era infatti di metterne due, per farla funzionare con 0, 1 e 2 coppie di parentesi in più. Fisso un massimo di due e sto sulla difensiva (sperando che nelle prossime versioni di enumitem non aumentino ancora di più…:)).
Ciao e grazie ancora,
A.
3 Novembre 2011 alle 21:57 in risposta a: Rimuovere le parentesi dagli argomenti di un comando #65558::
A me ne servono due 😕Comunque, è l’approccio giusto mettere tanti \@firstofone a seconda di qual è il massimo numero di parentesi che si prevede di dover rimuovere?
Voglio che quel codice funzioni anche con 0 (classe book standard), una (\setenumerate con label e ref) e due (\setenumerate con label) coppie di parentesi spurie.Grazie,
A.
::
Ho trovato! 🙂`\documentclass[fleqn,12pt,a4paper]{article}
\usepackage{tikz,kbordermatrix,amsmath}
\newcounter{nodecount}
\newcommand\mn[1]{%
\addtocounter{nodecount}{1}%
\tikz \node (\arabic{nodecount}) {$#1$};}\tikzstyle{every picture}+=[remember picture,baseline]
\tikzstyle{every node}+=[inner sep=2pt,anchor=base,align=center,text depth=.25ex,outer sep=1.5pt]
\tikzstyle{every path}+=[thick]\begin{document}
\[\let\kbldelim\lVert\let\kbrdelim\rVert\kbordermatrix{%
& E_5 & E_3 & E_6 & E_4 & E_8 & E_1 & E_2 & E_7 & E_9 \\
E_5 & \mn{1} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
E_3 & 0 & \mn{x} & x & 0 & 0 & 0 & 0 & 0 & 0 \\
E_6 & 0 & x & \mn{x} & 0 & 0 & 0 & 0 & 0 & 0 \\
E_4 & 0 & 0 & 0 & \mn{x} & x & 0 & 0 & 0 & 0 \\
E_8 & 0 & 0 & 0 & x & \mn{x} & 0 & 0 & 0 & 0 \\
E_1 & 0 & 0 & 0 & x & x & \mn{x} & 0 & 0 & 0 \\
E_2 & 0 & x & x & 0 & 0 & x & \mn{x} & 0 & 0 \\
E_7 & 0 & 0 & 0 & 0 & 0 & x & 0 & 0 & x \\
E_9 & x & x & x & 0 & 0 & 0 & 0 & x & 0
}\]\begin{tikzpicture}[overlay]
\draw (1.north west) — (1.north east) — (1.south east) — (1.south west) — cycle;
\draw (2.north west) -| (3.south east) -| (2.north west) — cycle;
\draw (4.north west) -| (5.south east) -| (4.north west) — cycle;
\draw[thin] (4.north west) -| (6.south east) -| (4.north west) — cycle;
\draw[thin] (2.north west) -| (7.south east) -| (2.north west) — cycle;
\end{tikzpicture}
\end{document}`Mi sono rifatto a questa discussione, con in più il pacchetto kbordermatrix (che non sta su CTAN! cercalo con google).
Ciao,
A.
3 Novembre 2011 alle 21:42 in risposta a: Rimuovere le parentesi dagli argomenti di un comando #65556::
Credo ti convenga lavorare con tikz. Tempo fa avevo visto un esempio da qualche parte che faceva esattamente quello che vuoi, ma non mi ricordo dove 😕Comunque forse questi possono aiutarti:
http://tex.stackexchange.com/questions/30032/highlighting-diagonal-of-a-square-matrix
http://tex.stackexchange.com/questions/4850/highlighting-table-cellsCiao,
Antonio
1 Novembre 2011 alle 20:11 in risposta a: Testatine in capitoli non numerati modificando \chapter #654781 Novembre 2011 alle 19:54 in risposta a: Testatine in capitoli non numerati modificando \chapter #65477::egreg9″ post=64546L’arciere centra, se è bravo; \newcommand* forse c’entra. 🙂
Oddio! Comincio a non vederci bene!
Non c’entra, però. Prova con
`\renewcommand{\ChapS}[1]{\chaptermark{#1}\oldchap*{#1}}`
Ciao
EnricoQuesto funziona, grazie!
Nel frattempo ho cercato di capire meglio il problema e mi sono reso conto che la causa era minitoc, che ridefiniva \@schapter. La soluzione che ho trovato:
`\apptocmd\mtc@schapter{\chaptermark{#1}}`Qual è la più generale? In altri termini: Dov’è definito \ChapS?
Un po’ fuori argomento, non capisco perché minitoc mette due \def in fila così:
`\let\mtc@schapter\@schapter
\def\@schapter{\addtocontents{toc}{\protect\chapterend}\mtc@schapter}
\def\@schapter{\addtocontents{@@@}{\protect\chapterbegin}\mtc@schapter}
`
Che senso ha?Ciao e grazie,
A.
::
Basta ripristinare la definizione di classicthesis:
`
\titleformat{\chapter}[display]%
{\relax}
{\mbox{}\oldmarginpar{\vspace*{-3\baselineskip}%
\color{halfgray}\chapterNumber\thechapter}}%
{0pt}{\raggedright\spacedallcaps}%
[\normalsize\vspace*{.8\baselineskip}\titlerule]%
`
(da mettere nel preambolo). In realtà in questo modo il titolo del capitolo viene stampato sempre in Palatino (lo stesso carattere del testo). Pantieri in ArsClassica usa invece l’Iwona, che è un carattere senza grazie. Siccome presumo che ti rimanga lo stesso Iwona nei titoli dei paragrafi e sottoparagrafi, per avere una certa uniformità dovresti mantenerlo anche nei titoli dei capitoli.Questo codice ti mostra le differenze:
`\documentclass[10pt,a4paper]{scrbook}
\usepackage[italian]{babel}
\usepackage{subfig}
\usepackage{classicthesis}
\usepackage{arsclassica}
\usepackage{etoolbox}
\usepackage{lipsum}\let\cleardoublepage\relax
\preto\chapter{\vfill\setcounter{chapter}{0}}
\def\classicchapters{%
\titleformat{\chapter}[display]%
{\relax}
{\mbox{}\oldmarginpar{\vspace*{-3\baselineskip}%
\color{halfgray}\chapterNumber\thechapter}}%
{0pt}{\raggedright\spacedallcaps}%
[\normalsize\vspace*{.8\baselineskip}\titlerule]%
}
\def\mixedchapters{%
\titleformat{\chapter}[display]%
{\normalfont\Large\sffamily}% uso il carattere senza grazie
{\mbox{}\oldmarginpar{\vspace*{-3\baselineskip}%
\color{halfgray}\chapterNumber\thechapter}}%
{0pt}{\raggedright\spacedallcaps}%
[\normalsize\vspace*{.8\baselineskip}\titlerule]%
}\begin{document}
\chapter{ArsClassica}
\lipsum[2]\classicchapters
\chapter{ClassicThesis}
\lipsum[2]\mixedchapters
\chapter{Mix}
\lipsum[2]\end{document}`
Se lo vuoi con l’Iwona basta che copi il contenuto del comando \mixedchapters nel tuo preambolo.
Ciao
-
AutoreRisposte