- Questo topic ha 5 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 5 anni, 7 mesi fa da .
-
Topic
-
Il codice qui sotto è un estratto, leggermente modificato, di quello presente in fontsize.
Si tratta di definire un comando che produca un esempio di testo per ogni grandezza: \large,\small,\normalsize, ecc. Il comando in questione ha il terzo argomento opzionale, che contiene una lista di grandezze. Se l’argomento è vuoto allora il comando stampa un esempio per ogni grandezza; altrimenti stampa un esempio solo per le grandezze nella lista.Ora la soluzione che ho adottato, e che funziona correttamnte, è ibrida: in parte usa le funzionalità di etoolbox e in parte usa codice LaTeX3.
Come si fa a ottenere lo stesso risultato ma usando solo LaTeX3?
`
\documentclass{article}
\usepackage[fontsize=11]{fontsize}\makeatletter
\chardef\fsbslash=`\\
% Thanks to @Werner (https://tex.stackexchange.com/a/87423/231952)
\newcommand{\mysizesamples}[1]{%
\def\nextitem{\par}% Separator
\renewcommand*{\do}[1]{\nextitem\bgroup\csname##1\endcsname
\noindent{\csname ##1\endcsname \texttt{\fsbslash ##1}:
\getlength[2]{\f@size}\,pt on \getlength[2]{\the\baselineskip}\,pt.}
Lorem ipsum dolor sit manet\par\egroup
}% How to process each item
\docsvlist{#1}% Process list
}
\makeatother\NewDocumentCommand \myprintsamples { m m O{
tiny,scriptsize,footnotesize,small,
normalsize,large,Large,LARGE,huge,Huge} }
{
\changefontsize[#1]{#2}
\subsubsection*{Text samples for #2 on #1}
\sizesamples{#3}
}\begin{document}
\section{Stampa solo le due dimensioni nel terzo argomento}
\verb!\myprintsamples{13pt}{11pt}[small,footnotesize]!
\myprintsamples{13pt}{11pt}[small,footnotesize]
\section{Stampa tutte le dimensioni}
\verb!\myprintsamples{13pt}{11pt}!
\myprintsamples{13pt}{11pt}
\end{document}
`
Ciao
Ivan
- Devi essere connesso per rispondere a questo topic.