- Questo topic ha 23 risposte, 6 partecipanti ed è stato aggiornato l'ultima volta 13 anni, 4 mesi fa da
alegenn.
-
CreatoreTopic
-
14 Aprile 2013 alle 16:34 #84831::
Per comporre un certo numero di formule logiche, alcune elementari
e che stanno tranquillamente “in linea”, altre un po’ più complesse
“in display” (come si direbbe usando la terminologia di LaTeX),
che comportamento mi conviene adottare?
Trattarle come espressioni matematiche? Esistono pacchetti specifici?
Allego un’immagine per dare un’idea del lavoro che devo faregrazie
m
Attachments:
You must be logged in to view attached files. -
CreatoreTopic
-
AutoreRisposte
-
-
14 Aprile 2013 alle 17:26 #84832::
samiel” post=84237Per comporre un certo numero di formule logiche, alcune elementari
e che stanno tranquillamente “in linea”, altre un po’ più complesse
“in display” (come si direbbe usando la terminologia di LaTeX),
che comportamento mi conviene adottare?
Trattarle come espressioni matematiche? Esistono pacchetti specifici?
Allego un’immagine per dare un’idea del lavoro che devo faregrazie
mDa quello che vedo, non intendendomene di matematica, anche le espressioni che nella tua figura sono in display starebbero tranquillamente in linea. Se sono così importanti da meritare il display, io le metterei in display matematico. Credo che i vari pacchetti amsmath, amssymb eccetera definiscano anche un buon numero di simboli logici.
Ciao
Tommaso
-
14 Aprile 2013 alle 18:28 #84833::
samiel” post=84237Per comporre un certo numero di formule logiche, alcune elementari
e che stanno tranquillamente “in linea”, altre un po’ più complesse
“in display” (come si direbbe usando la terminologia di LaTeX),
che comportamento mi conviene adottare?
Trattarle come espressioni matematiche? Esistono pacchetti specifici?Sì, quelle sono tutte formule “matematiche”. A parte i pacchetti specifici
per comporre matematica, ti segnalo philex e linguex,
pensati per testi di filosofia del linguaggio e linguistica.Ciao
Ivan
-
15 Aprile 2013 alle 11:00 #84834
-
21 Aprile 2013 alle 5:53 #84835::
Ho fatto qualche tentativo, del resto niente di complicato,
e trovato utili materiali qui:
http://www.logicmatters.net/latex-for-logicians/
Poiché tuttavia devo entrare in modalità matematica
per avere i simboli che mi servono, le variabili che in genere
sono lettere (ad esempio, in uno dei casi più elementari,
$ p \leftrightarrow q$) risultano in “corsivo matematico”.
Come posso impostarle stabilmente in tondetto,
secondo l’uso, senza dover scrivere decine di volte \mathrm?m
-
21 Aprile 2013 alle 6:50 #84836::
Per esempio `p${}\leftrightarrow{}$q`
I due gruppi vuoti servono per mantenere attorno al simbolo logico gli spazi necessari; se però metti degli spazi far p e il dollaro di apertura e fra il dollaro di chiusura e q non hai bisogno dei gruppo vuoti.Volendo ti potresti scrivere un comando \logsimb del tipo`\newcommand*\logsimb[1]{\unskip${}#1{}$\ignorespaces}`così da immettere nel tuo testo`p \logsimb{\leftightarrow} q` così da non doverti preoccupare di entrare e uscire dal modo matematico, mettere o non mettere i gruppi vuoti, lasciare o non lasciare spazi fra il simbolo logico e gli operandi. Ovviamante invece di \logsimb puoi usare un nome più corto, tipo [tt]\LS[/tt].
-
21 Aprile 2013 alle 9:37 #84837::
Grazie dell’indicazione. Mi resta un problema.
Le formule sono a volte numerate o comunque indicate
con specifiche sigle, come nell’esempio allegato
nel mio primo post. Ora, l’ambiente equation
consente in automatico una numerazione.
In che modo posso realizzare allo stesso modo
automaticamente una numerazione a volte costituita
da indicazionip articolari, come nel mio esempio D2?m
-
21 Aprile 2013 alle 12:15 #84838::
Non puoi avere la moglie ubriaca e la botte piena, come diceva il vecchio proverbio.Mi pare di avere visto fra le collezioni di pacchetti strani che arrivano con la distribuzione TeX Live un pacchetto che accettava una opzione per scrivere tutta la matematica in tondo; siccome non ricordo più quale fosse, la cosa mi sembra impossibile, ciò scrivere formule numerate o non numerate, ma con le variabili in tondo. In realtà ho trovato quello che cercavo e puoi andare a leggere più avanti.
Per le equazioni etichettate come ti pare usa il pacchetto amsmath: l’ambiente equation* NON numera le equazioni; l\lambiente equation le numera con dei numeri, però se usi il comando \tag{…} puoi inserire l’etichetta che vuoi; \notag dentro equation elimina ogni etichettatura anche numerica. Quindi
`
\begin{equation*}
p \leftrightarrow q
\end{equation*}
bla bla
\begin{equation}
p \leftrightarrow q
\label{equ:coimplicazione}
\end{equation}
bla bla
\begin{equation}
p \leftrightarrow q \tag{D1}
\label{equ:D1}
\end{equation}
`
ti permettono di scrivere (con le variabili in corsivo) una equazione logica non numerata, una equazione logica numerata, una equazione logica etichettata; puoi usare i comandi \label, \ref e \eqref (quest’ultimo definito da amsmath, racchiude l’etichetta numerica o alfanumerica fra parentesi tonde; \ref, invece, riproduce solo il numero o l’etichetta assegnata).Usare contemporaneamente equazioni numerate ed etichettate, e contemporaneamente usare il pacchetto hyperref può dare dei problemi.
[EDIT: aggiunta la questione della matematica composta tutta upright]
Il pacchetto isomath dice che gli stili di composizione della matematica sono quattro: TeX, ISO, French e upright; in quest’ultimo tutte le lettere sono composte in tondo; La documentazione di isomath dice che lo stile upright si può ottenere con i pacchetti eulervm, lucimathx e unicode-math.Unicode-math è solo per XeLaTeX; l’opzione data al pacchetto mediante il comando [tt]\unimathsetup{math-style=upright][/tt] dopo avere caricato il pacchetto unicode-math, dovrebbe essere sufficinete; la documentazione di unicode-math mostra questo risultato nella tabelle 3 della pagina 7.
Componendo con XeLaTeX, quindi, saresti a cavallo.Per comporre con pdfLaTeX, invece, le cose stanno come racconto qui appresso.
Ho esaminato la documentazione del pacchetto lucimathx (che si può leggere, apaprentemente, solo in rete all’indirizzolucimatx; letta la documentazione scopro che è falso che questo pacchetto possa realizzare lo stile upright per tutta la matematica.
Non resta che il pacchetto eulervm (texdoc eulervm); in realtà questo pacchetto ralizza solo lo stile upright, perché i font matematici Euler sono diritti di per se: sono diversi dai font per il testo, quindi anche scrivendo di logica si riconosce che non sono presi dalla collezione dei font di testo e sono in una stile che ricorda il modo di scrivere sulla lavagna, con una specie di corsivo slegato, quindi non la forma tonda. Sono i font della matematica dell’Arte di scrivere con LaTeX, che conosci bene, e aprendo l’Arte puoi vedere bene cosa intendo per font upright, che non vuol dire font tondo.
Il problema con la matematica è che il cambio di font è una operazione molto più complicata che il cambio di font in modo testuale. Questo è dovuto al fatto che in matematica non si ragiona in termini di codifica, famiglia, serie e forma, com per il testo; ma ognuna delle possibili combinazioni di queste quattro caratteristiche forma un gruppo matematico a se stante; TeX, pdftex, e tutte le loro varianti congiunte a formati diversi (un formato è la collezione di macro di un particolare mark up già tradotte in linguaggio macchina — in buona sostanza quando esegui pdflatex in realtà lanci pdftex con il formato pdflatex.fmt) possono usare al massimo 16 gruppi matematici; quello che occorrerebbe in matematica con tutte le varianti di stile che vengono richieste dai vari compositori per soddisfare certe norme o certe consuetudini, fanno si che 16 gruppi possano non essere sufficienti. Ci sarebbero diverse vie per ovviare a questi inconvenienti; ci sto lavorando sopra, ma prima di avere risultati usabili potrebbero volerci mesi; sono appena all’inizio e devo ancora capire molte cose, in particolare sulle varianti richieste e necessarie; non intendo cambia i programmi di composizione, ma i font; che oggi come oggi sono ancora legati al modo con cui veniva f=composta la matematica con LaTeX 209 prima del 1994. Un procedimento a suo modo avanzatissimo, ma di fatto oggi un po’ limitato.
-
21 Aprile 2013 alle 20:33 #84839::
Hai messo davvero molta carne al fuoco e ti ringrazio.
Il fatto che componendo con Xelatex si risolva è molto interessante.
Per quanto riguarda la composizione con pdflatex, dammi un po’ di tempo per capire e soprattutto provare.
In ogni caso, già con le altre indicazioni ho fatto indiscutibili passi avanti.
Ho visto inoltre che esistono parecchi pacchetti (alcuni però piuttosto vecchi)
per svariate esigenze di logica. Le mie sono abbastanza elementari, in ogni caso.
Adesso vedo un po’ di manuali di logica per capire se c’è piena uniformità
nelle convenzioni tipografiche…
m
-
21 Aprile 2013 alle 21:41 #84840::
Ho compilato anche con Xelatex, ma nella mia radicale ignoranza matematica
ho un problema coi pedici. COn pdflatex tutto funziona con la stringa
p \leftrightarrow q \tag{D\ped 1}
Poiché tuttavia mi pare che \ped non funzioni con Xelatex, ho modificato il codice:
`\begin{equation*}
p \leftrightarrow q
\end{equation*}
bla bla
\begin{equation}
p \leftrightarrow q
\label{equ:coimplicazione}
\end{equation}
bla bla
\begin{equation}
p \leftrightarrow q \tag{D_1}
\label{equ:D_1}
\end{equation}`
Solo che ricevo errore:
`! Missing $ inserted.
$
l.194 \end{equation}`
La riga incriminata è appunto quella col pedice; una volta tolto,
la compilazione va a buon fine…m
-
22 Aprile 2013 alle 5:00 #84841::
\ped e \ap sono delle estensioni dell’opzione italian di babel; non sono incluse in polyglossia.
Puoi metterti le tue definizioni, però:`
\providecommand*\ap[1]{\textormath{\textsuperscript{#1}}{_{\mathrm{#1}}}}
\providecommand*\ped[1]{\textormath{\textsubscript{#1}}{^{\mathrm{#1}}}}`
In queste definizioni ho usato \providecommand così lo puoi usare sia con pdflatex con l’opzione italian (\ped e \ap già definiti) sia con xelatex e l’opzione italian di polyglossia (\ped a \ap non definiti).L’errore che ricevi usando _ nel \tag è che questo argomento non viene composto in modo matematico, anche se il \tag si trova dentro l’ambiente equation.
-
22 Aprile 2013 alle 11:54 #84842::
Tuttavia
`\documentclass[a4paper,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{amsmath}
\usepackage[math-style=upright]{unicode-math}
\setmainfont[Ligatures=TeX]{TeX Gyre Pagella}
\setmathfont{Asana Math}
\usepackage{polyglossia}
\setmainlanguage{italian}
\usepackage{microtype}
%\newcommand\ap[1]{\textormath{\textsuperscript{#1}}{^{\mathrm{#1}}}}
%\newcommand\ped[1]{\textormath{\textsubscript{#1}}{_{\mathrm{#1}}}}
\providecommand*\ap[1]{\textormath{\textsuperscript{#1}}{_{\mathrm{#1}}}}
\providecommand*\ped[1]{\textormath{\textsubscript{#1}}{^{\mathrm{#1}}}}\begin{document}
\begin{equation*}
p \leftrightarrow q
\end{equation*}
bla bla
\begin{equation}
p \leftrightarrow q
\label{equ:coimplicazione}
\end{equation}
bla bla
\begin{equation}
p \leftrightarrow q \tag{D\ped{2}}
\label{equ:D\ped{2}}
\end{equation}\end{document}}`
mi dà errore:
`
! Missing \endcsname inserted.
\bgroup
l.8 …qu:D^{\mathup {2}}}{{{D^{\mathup {2}}}}{1}}?
`
Impossibile avere il pedice anche in label?m
-
22 Aprile 2013 alle 14:01 #84843::
Da quel che posso capire l’errore sta nell’uso di [tt]\ped[/tt] all’interno della [tt]\label[/tt], nell’attesa che gli esperti ci spieghino il perché, visto che l’etichetta puoi definirla come vuoi puoi usare il seguente codice, che non presenta quell’errore:
`\documentclass[a4paper,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{amsmath}
\usepackage[math-style=upright]{unicode-math}
\setmainfont[Ligatures=TeX]{TeX Gyre Pagella}
\setmathfont{Asana Math}
\usepackage{polyglossia}
\setmainlanguage{italian}
\usepackage{microtype}
%\newcommand\ap[1]{\textormath{\textsuperscript{#1}}{^{\mathrm{#1}}}}
%\newcommand\ped[1]{\textormath{\textsubscript{#1}}{_{\mathrm{#1}}}}
\providecommand*\ap[1]{\textormath{\textsuperscript{#1}}{_{\mathrm{#1}}}}
\providecommand*\ped[1]{\textormath{\textsubscript{#1}}{^{\mathrm{#1}}}}\begin{document}
\begin{equation*}
p \leftrightarrow q
\end{equation*}
bla bla
\begin{equation}
p \leftrightarrow q
\label{equ:coimplicazione}
\end{equation}
bla bla
\begin{equation}
p \leftrightarrow q \tag{D\ped{2}}
\label{equ:$D_2$}
\end{equation}\end{document}}`
-
22 Aprile 2013 alle 14:27 #84844
-
22 Aprile 2013 alle 20:03 #84845::
Credevo di avertelo spiegato che che la cosa si commentasse da sola leggendo le definizioni di due coamndi \ap e \ped che ti avevo allegato;\ped e \ap sono definiti se usi pdflatex, babel e l’opzione italian; se scrivi in qualunque altra lingua non sino definiti. \ap e \ped distinguono se sei in modo matematico o in modo testo.
Con xelatex, polyglossia e l’impostazione della lingua italian, \ap e \ped non sono definiti; se non li definisci come ti ho mostrato, e usi l’underscore per usare il pedice, l’underscore funziona solo in matematica; \tag compone la sua etichetta in modo testo che verrà usata in modo testo. quindi _ è usato fuori del suo contesto corretto.
Le definizioni che ti ho dato con \providecommand distinguono se sei in modo testo o in modo matematico; se sei in modo testo non usano rispettivamente né ^ per l’apice né _ per il pedice. ma usano i comandi testuali (lo dice il nome) \textsuperscript e \textsubscript che alzano o abbassano rispettivamente quanto deve essere messo ad apice o a pedice e ne aggiustano il corpo, ma lavorando sempre in modo testuale.
Se sui xelatex, polyglossia, italian, e togli il pedice, si sa che funziona; e lo fa prorpio perché togli il segno fuori sel suo contesto. Non c’è nessun mistero, ma è di una chiarezza lampante.
-
22 Aprile 2013 alle 21:46 #84846::
C’è qualcosa che continua a sfuggirmi. Il problema non è \tag, bensì \label.
Prendiamo questo esempio:
`\documentclass[a4paper,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{amsmath}
\usepackage[math-style=upright]{unicode-math}
\setmainfont[Ligatures=TeX]{TeX Gyre Pagella}
\setmathfont{Asana Math}
\usepackage{polyglossia}
\setmainlanguage{italian}
\usepackage{microtype}%\newcommand\ap[1]{\textormath{\textsuperscript{#1}}{^{\mathrm{#1}}}}
%\newcommand\ped[1]{\textormath{\textsubscript{#1}}{_{\mathrm{#1}}}}\providecommand*\ap[1]{\textormath{\textsuperscript{#1}}{^{\mathrm{#1}}}}
\providecommand*\ped[1]{\textormath{\textsubscript{#1}}{_{\mathrm{#1}}}}%\newcommand{\superscript}[1]{\ensuremath{^{\textrm{#1}}}}
%\newcommand{\subscript}[1]{\ensuremath{_{\textrm{#1}}}}%\makeatletter
%\newcommand\textsubscript[1]{\@textsubscript{\selectfont#1}}
%\def\@textsubscript#1{{\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}
%\newcommand\textbothscript[2]{%
% \@textbothscript{\selectfont#1}{\selectfont#2}}
%\def\@textbothscript#1#2{%
% {\m@th\ensuremath{%
% ^{\mbox{\fontsize\sf@size\z@#1}}%
% _{\mbox{\fontsize\sf@size\z@#2}}}}}
%\def\@super{^}\def\@sub{_}
%
%\catcode`^\active\catcode`_\active
%\def\@super@sub#1_#2{\textbothscript{#1}{#2}}
%\def\@sub@super#1^#2{\textbothscript{#2}{#1}}
%\def\@@super#1{\@ifnextchar_{\@super@sub{#1}}{\textsuperscript{#1}}}
%\def\@@sub#1{\@ifnextchar^{\@sub@super{#1}}{\textsubscript{#1}}}
%\def^{\let\@next\relax\ifmmode\@super\else\let\@next\@@super\fi\@next}
%\def_{\let\@next\relax\ifmmode\@sub\else\let\@next\@@sub\fi\@next}
%\makeatother\begin{document}
\begin{equation*}
p \leftrightarrow q
\end{equation*}
bla bla
\begin{equation}
p \leftrightarrow q
\label{equ:coimplicazione}
\end{equation}
bla bla
\begin{equation}
p \leftrightarrow q \tag{D\ped2}
%\label{equ:D\ped2}
\end{equation}x\ap2
x\ped2
$x\ap2$
$x\ped2$
\end{document}`
Se commento la riga \label, tutto funziona correttamente. Il comando \ped
individua se la modalità è o non è matematica, e usa dietro il sipario _ oppure \textsubscript.
Infatti il risultato è corretto. Ma se decommento \label, allora ottengo:
`! Missing \endcsname inserted.
\bgroup
l.8 …qu:D_{\mathup {2}}}{{{D_{\mathup {2}}}}{1}}? `
E qualsiasi stringa io inserisca in \label per il pedice, mi dà errorem
-
23 Aprile 2013 alle 10:36 #84847
-
23 Aprile 2013 alle 15:20 #84848
-
23 Aprile 2013 alle 15:57 #84849::
Questo codice a me funziona benissimo`% !TEX encoding = UTF-8 Unicode
% !TEX TS-program = XeLaTeX\documentclass[a4paper,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{amsmath}
\usepackage[math-style=upright]{unicode-math}
\setmainfont[Ligatures=TeX]{TeX Gyre Pagella}
\setmathfont{Asana Math}
\usepackage{polyglossia}
\setmainlanguage{italian}
\usepackage{microtype}
\DeclareRobustCommand*\ap[1]{\textormath{\textsuperscript{#1}}{_{\mathrm{#1}}}}
\DeclareRobustCommand*\ped[1]{\textormath{\textsubscript{#1}}{^{\mathrm{#1}}}}\begin{document}
\begin{equation*}
p \leftrightarrow q
\end{equation*}
bla bla
\begin{equation}
p \leftrightarrow q
\label{equ:coimplicazione}
\end{equation}
bla bla
\begin{equation}
p \leftrightarrow q \tag{D\ped{2}}
\label{equ:D_2}
\end{equation}
L'equazione~\eqref{equ:D_2} dice che\dots
\end{document}}`Nel file .aux il label è registrato come:`\newlabel{equ:D_2}{{{D\ped {2}}}{1}}` che è identico a quanto tu riporti nel tuo messaggio. Dunque non è chiaro dove sia l’inghippo.
-
23 Aprile 2013 alle 17:25 #84850::
samiel” post=84632C’è qualcosa che continua a sfuggirmi. Il problema non è \tag, bensì \label.
Prendiamo questo esempio:
`\documentclass[a4paper,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{amsmath}
\usepackage[math-style=upright]{unicode-math}
\setmainfont[Ligatures=TeX]{TeX Gyre Pagella}
\setmathfont{Asana Math}
\usepackage{polyglossia}
\setmainlanguage{italian}
\usepackage{microtype}%\newcommand\ap[1]{\textormath{\textsuperscript{#1}}{^{\mathrm{#1}}}}
%\newcommand\ped[1]{\textormath{\textsubscript{#1}}{_{\mathrm{#1}}}}\providecommand*\ap[1]{\textormath{\textsuperscript{#1}}{^{\mathrm{#1}}}}
\providecommand*\ped[1]{\textormath{\textsubscript{#1}}{_{\mathrm{#1}}}}
`
E qualsiasi stringa io inserisca in \label per il pedice, mi dà errorePiù propriamente
`\providerobustcmd*\ap[1]{\textormath{\textsuperscript{#1}}{^{\mathrm{#1}}}}
\providerobustcmd*\ped[1]{\textormath{\textsubscript{#1}}{_{\mathrm{#1}}}}`
oppure, ancora più semplicemente,
`\providerobustcmd\ap{\ifmmode^\expandafter\mathrm\else\expandafter\textsuperscript\fi}
\providerobustcmd\ped{\ifmmode^\expandafter\mathrm\else\expandafter\textsubscript\fi}`
Naturalmente occorre definire [tt]\textsubscript[/tt] (lo fa fixltx2e); [tt]\providerobustcmd[/tt] è di etoolbox caricato da polyglossia.Lascio agli amanti dell’esegesi la spiegazione del codice più semplice. 😉
Ciao
Enrico
-
23 Aprile 2013 alle 17:42 #84851
-
23 Aprile 2013 alle 19:24 #84852::
Non credo che @samiel si diverta a mettere label formati da espressioni matematiche; sta semlicemente cercando di vedere se riesce a riprodurre qualcosa che ha trovato su qualche altro testo di logica.
Poi l’esercizio è diventato una specie di romanzo giallo dove bisogna trovare l’assassino.La mia soluzione funziona benissimo; quella di Enrico anche. La differenza sta essenzialmente nel fatto che io uso la roustificazione mediante il metodo LaTeX, mentre Enrico usa la robustificazione con il metodo di etoolbox.
Nella soluzione di Enrico con il test \ifmmode e gli \expandafter del caso, non viene passato nessuna argomento ai comandi \ap o \ped che restano in lista d’attesa per essere poi elaborati in un secondo tempo; sostanzialmente \textormath fa le stesse cose, in modo un filino più complesso (passando attraverso i comandi di babel \bbl@afterelse e \bbl@afterfi (che sono definiti anche in polyglossia} ma, anche se diverse in pratica, concettualmente si tratta delle stesse cose.
L’assasino del giallo è stato trovato; ora @samiel sa esattamente perché a lui le cose non venivano e per me è stato divertente scoprire che una cosa che ho usato per una ventina d’anni senza problemi è una questione di pura fortuna, dovuta al fatto che non ho mai messo etichette con espressioni matematiche e quindi i comandi \ap e \ped non hanno mai avuto occasione di mostrare la loro fragilità.
Ciao
Claudio
-
23 Aprile 2013 alle 21:10 #84853::
So che le etichette non hanno alcun bisogno di apici o pedici,
e che potrebbero essere chiamante anche “topolino” o “pippo”.
Dal momento però che in quel file avevo attribuito loro la stessa stringa
della numerazione, mi aveva incuriosito capire perché la cosa non funzionava.
In realtà il giallo ha avuto un’appendice singolare. Ho confrontato
il mio codice con quello di OldClaudio, poi ho ricompilato cancellando
i file ausiliari. Ebbene, a questo punto ho ottenuto un messaggio
che mi diceva che era impossibile salvare il file logica.pdf (nato
dalla composizione di logica.tex) con quel nome, e mi proponeva
di attribuirgli un altro nome. Mi spiace di non aver registrato quel messaggio.
Ma qualsiasi nome alternativo proponessi, il problema si riproponeva.
Non sapendo come uscirne, ho addirittura riavviato il computer
e finalmente la compilazione è andata a buon fine. Altro mistero per me!
A questo punto in ogni caso il problema è risolto. Grazie a OldClaudio
per avermi seguito passo passo e a Enrico per il codice alternativom
-
24 Aprile 2013 alle 3:51 #84854::
OldClaudio” post=84675Non credo che @samiel si diverta a mettere label formati da espressioni matematiche; sta semlicemente cercando di vedere se riesce a riprodurre qualcosa che ha trovato su qualche altro testo di logica.
Poi l’esercizio è diventato una specie di romanzo giallo dove bisogna trovare l’assassino.La mia soluzione funziona benissimo; quella di Enrico anche. La differenza sta essenzialmente nel fatto che io uso la roustificazione mediante il metodo LaTeX, mentre Enrico usa la robustificazione con il metodo di etoolbox.
Nella soluzione di Enrico con il test \ifmmode e gli \expandafter del caso, non viene passato nessuna argomento ai comandi \ap o \ped che restano in lista d’attesa per essere poi elaborati in un secondo tempo; sostanzialmente \textormath fa le stesse cose, in modo un filino più complesso (passando attraverso i comandi di babel \bbl@afterelse e \bbl@afterfi (che sono definiti anche in polyglossia} ma, anche se diverse in pratica, concettualmente si tratta delle stesse cose.
L’assasino del giallo è stato trovato; ora @samiel sa esattamente perché a lui le cose non venivano e per me è stato divertente scoprire che una cosa che ho usato per una ventina d’anni senza problemi è una questione di pura fortuna, dovuta al fatto che non ho mai messo etichette con espressioni matematiche e quindi i comandi \ap e \ped non hanno mai avuto occasione di mostrare la loro fragilità.
Ciao
ClaudioOra ho capito pure io 😆
Ricordo di aver letto da qualche parte che uno degli obiettivi di LaTex3 è quello di eliminare (tutti o quanti più possibile) comandi fragili, ricordo male o ciò corrisponde al vero?
Grazie a tutti per le spiegazioni, anche a me non era mai capitato di definire etichette attraverso espressioni matematiche, ma è sempre bene capire cosa si cela dietro le quinte!
Saluti
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.