Vogliamo proporvi la migliore soluzione che abbiamo trovato online. Ci auguriamo che lo troviate molto utile e se volete comunicarci eventuali miglioramenti, sentitevi liberi di farlo.
Soluzione:
Una ripresa della mia risposta in Come vengono definiti gli operatori big? Vengono fornite due macro completamente separate (foo
e barr
), a seconda che si voglia utilizzare l'operatore displaystyle
si voglia ingrandire o mantenere le stesse dimensioni di textstyle
.
documentclass{article}
usepackage{amsmath}
DeclareMathOperator*{foo}{scalerel*{+}{sum}}
DeclareMathOperator*{barr}{scalerel*{+}{textstylesum}}
usepackage{scalerel}
begin{document}
[
foo_{i=3}^{6}(f^2(i))
]
This is inline: (foo_{i=3}^{6}(f^2(i)) )
[
barr_{i=3}^{6}(f^2(i))
]
This is inline: (barr_{i=3}^{6}(f^2(i)) )
end{document}
Si può facilmente fare in modo che il "big plus" abbia le stesse dimensioni di sum
:
documentclass{article}
usepackage{amsmath}
DeclareMathOperator*{foo}{scalerel*{+}{sum}}
DeclareMathOperator*{barr}{scalerel*{+}{textstylesum}}
usepackage{scalerel}
begin{document}
[
foo_{i=3}^{6}(f^2(i))
]
This is inline: (foo_{i=3}^{6}(f^2(i)) )
[
barr_{i=3}^{6}(f^2(i))
]
This is inline: (barr_{i=3}^{6}(f^2(i)) )
end{document}
Non è possibile copiare il codice LaTeX3 nel proprio preambolo senza compiere le opportune azioni preliminari. Di seguito mostro come la stessa idea possa essere implementata attraverso il codice LaTeX2e. Questa soluzione supporta anche lo standard amsmath
per quanto riguarda i punti e l'elemento [no
]sumlimits
:
% My standard header for TeX.SX answers:
documentclass[a4paper]{article} % To avoid confusion, let us explicitly
% declare the paper format.
usepackage[T1]{fontenc} % Not always necessary, but recommended.
% End of standard header. What follows pertains to the problem at hand.
usepackage{amsmath}
makeatletter
newcommand*@bigplus[1]{vcenter{hbox{#1$[email protected] +$}}}
newcommand*bigplus{%
DOTSB % omit this line if you are not using the amsmath package
mathop{%
mathchoice
{@bigplus huge}%
{@bigplus LARGE}%
{@bigplus {}}%
{@bigplus footnotesize}%
}%
[email protected] % omit this line if you are not using the amsmath package
}
makeatother
begin{document}
In-line: ( bigplus_{i=3}^{6} f^2(i) ).
Displayed: [ bigplus_{i=3}^{6} f^2(i) ]
Behavior with dots:
[
bigplus_{i_{1}=0}^{n_{1}}dotsbigplus_{i_{k}=0}^{n_{k}}
f(i_{1},dots,i_{k})
]
end{document}
Questo è l'output:
Aggiunta
Come ha fatto notare @egreg nel suo commento, la risposta di cui sopra - che, tuttavia, imita semplicemente ciò che il metodo mathtools
fa per bigtimes
-è difettosa. La soluzione corretta è usare il pacchetto mathabx
che, contrariamente a quanto affermato nella domanda, fornisce il pacchetto bigplus
"operatore grande". Questa soluzione utilizza caratteri tratti da font appositamente progettati e, quindi, non dipende dalle estensioni fornite dal pacchetto graphics
/graphicx
.graphics
/graphicx
pacchettoe; in particolare, funziona anche con l'uscita DVI (per quanto possa valere).
Se non vi piacciono le modifiche apportate dal pacchetto mathabx
ai simboli matematici in generale, si possono sempre caricare i font appropriati e definire solo i comandi che interessano.
L'esempio seguente definisce bigplus
così come bigtimes
. Permettetemi alcune osservazioni:
-
il codice supporta le caratteristiche dell'opzione
amsmath
per quanto riguarda
i punti e i "limiti", se quel pacchetto è loaded; -
contrariamente a quanto previsto dal pacchetto
mathabx
stesso, il pacchettomathx
è definita in modo tale da sfruttare le dimensioni dei caratteri
dimensioni dei caratteri più piccole installate nelle distribuzioni odierne.
Quest'ultimo espediente permette di migliorare l'output a dimensioni inferiori a 10 punti, rendendolo più gradevole di quanto non lo sia nelle soluzioni che usano graphics
il ridimensionamento.
Ecco il codice:
% My standard header for TeX.SX answers:
documentclass[a4paper]{article} % To avoid confusion, let us explicitly
% declare the paper format.
usepackage[T1]{fontenc} % Not always necessary, but recommended.
% End of standard header. What follows pertains to the problem at hand.
usepackage{amsmath}
makeatletter
newcommand*@bigplus[1]{vcenter{hbox{#1$[email protected] +$}}}
newcommand*bigplus{%
DOTSB % omit this line if you are not using the amsmath package
mathop{%
mathchoice
{@bigplus huge}%
{@bigplus LARGE}%
{@bigplus {}}%
{@bigplus footnotesize}%
}%
[email protected] % omit this line if you are not using the amsmath package
}
makeatother
begin{document}
In-line: ( bigplus_{i=3}^{6} f^2(i) ).
Displayed: [ bigplus_{i=3}^{6} f^2(i) ]
Behavior with dots:
[
bigplus_{i_{1}=0}^{n_{1}}dotsbigplus_{i_{k}=0}^{n_{k}}
f(i_{1},dots,i_{k})
]
end{document}
Ed ecco l'output che ne deriva:
Sezione recensioni e valutazioni
Saremmo lieti se potessi diffondere questa cronaca se ti fosse utile.