3. Matrix e ambienti simili | Manuale in LaTeX
Esistono numerosi ambienti per le strutture simili a matrice di composizione definite nel pacchetto amsmath
. Sono tutti simili all’ambiente standard in LaTeX array
in sintassi e layout. In generale, un’ampia varietà di strutture matematiche bidimensionali e layout tabulari possono essere descritti come array.
Tre ambienti - casi
, matrix
e pmatrix
- Sostituire i comandi del LaTeX standard. I comandi standard utilizzano una notazione diversa in modo da non poter essere utilizzati insieme ai moduli ambientali discussi qui. Il pacchetto amsmath
produrrà un messaggio di errore se viene utilizzato uno dei vecchi comandi. Al contrario, se si tenta di utilizzare i moduli ambientali amsmath
senza caricare il pacchetto, molto probabilmente riceverai il seguente messaggio di errore:"Carattero della scheda di allineamento fuori posto e"
.
3.1. L’ambiente “casi”
L’ambiente Case
viene utilizzato per gestire le costruzioni, in cui una singola equazione ha alcune varianti. Tali costruzioni sono molto comuni in matematica. Produce un array con due colonne, entrambe allineate a sinistra.
1\usepackage{amsmath}
2% -------------------------------------------------------------------------------
3\begin{equation}
4P_{r - j} = \begin{cases}
5 0 & \text{if $r - j$ is odd,} \\
6r! \, (-1)^{(r - j)/2} & \text{if $r - j$ is even.}
7\end{cases}
8\end{equation}
Notare l’uso del comando \text
e della" modalità matematica incorporata “nelle stringhe di testo.
3.2. Gli ambienti di matrice
Gli ambienti di matrice, a differenza del “array” di LaTe, non accettano un argomento che specifica i formati delle colonne. Invece, forniscono un formato predefinito: fino a 10 colonne centrate. La spaziatura differisce anche leggermente dal valore predefinito in “Array”. I seguenti esempi illustrano gli ambienti matrix
, pmatrix
, bmatrix
, bmatrix
, vmatrix
e vmatrix
.
1\usepackage{amsmath}
2% -------------------------------------------------------------------------------
3\begin{gather*}
4\begin{matrix} 0 & 1 \\ 1 & 0 \end{matrix} \quad \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix} \\
5\begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} \quad \begin{Bmatrix} 1 & 0 \\ 0 & -1 \end{Bmatrix} \\
6\begin{vmatrix} a & b \\ c & d \end{vmatrix} \quad \begin{Vmatrix} i & 0 \\ 0 & -i \end{Vmatrix}
7\end{gather*}
Il contatore maxmatrixcols
determina il numero massimo di colonne in un ambiente a matrice. È possibile modificarlo usando il comando standard di LaTex. Il valore del parametro di lunghezza \ArrayColsep
determina la quantità di spazio tra le colonne. Proprio come negli array standard, ma non viene aggiunto spazio su entrambi i lati dell’array. Altre colonne renderà il LaTeX di lavoro più difficile e richiede più risorse. Tuttavia, è possibile l’impostazione di “maxmatrixcols” a 20 o superiore senza un notevole successo delle prestazioni, poiché con le tipiche implementazioni di oggi tali limiti sono meno importanti.
1\usepackage{amsmath}
2\setcounter{MaxMatrixCols}{20}
3% -------------------------------------------------------------------------------
4\[
5\begin{Vmatrix}
6\,a&b&c&d&e&f&g&h&i&j &\cdots\,{} \\
7&a&b&c&d&e&f&g&h&i &\cdots\,{} \\
8& &a&b&c&d&e&f&g&h &\cdots\,{} \\
9& & &a&b&c&d&e&f&g &\cdots\,{} \\
10& & & &\ddots&\ddots&\hdotsfor[2]{5}\,{}
11\end{Vmatrix} \]
In questo esempio il comando \hdotsfor
viene utilizzato per produrre una riga di punti in una matrice, che copre un determinato numero di colonne. Il parametro opzionale (qui 2) può essere utilizzato per specificare un moltiplicatore per lo spazio predefinito (3 unità matematiche) tra i punti. Lo spazio sottile e il gruppo Brace \, {}
Alla fine di ogni riga semplicemente rendono il layout migliore; Insieme producono due spazi sottili, circa 6MU o 1/3EM.
Per produrre una piccola matrice inline per l’uso nel testo, è possibile utilizzare l’ambiente “Smallmatrix”.
1\usepackage{amsmath}
2% -------------------------------------------------------------------------------
3To show the effect of the matrix on surrounding lines inside a paragraph, we put it here:
4$ \left( \begin{smallmatrix}
51 & 0 \\ 0 & -1
6\end{smallmatrix} \right) $
7and follow it with enough text to ensure that there is at least one full line below the matrix.
Si noti che le righe di testo non sono sparse anche se la linea prima della piccola matrice contiene lettere con discendenti.
3.3. Impilamento in abbonamenti e rivestimenti
A volte potrebbe essere necessario compromettere diverse righe all’interno di un pedice o apice. Per fare ciò, puoi usare il comando \Scadack
con righe di delimitazione di\\
.
L’ambiente “Subarray” è una struttura leggermente più generale che ti consente di allineare le linee a sinistra o a destra, piuttosto che centrali.
1\usepackage{amsmath}
2% -------------------------------------------------------------------------------
3\begin{gather}
4\sum_{\substack{0 \le i \le m \\ 0 < j < n}} P(i, j) \\
5\sum_{\begin{subarray}{l}
6i \in \Lambda \\
70 \le i \le m \\
80 < j < n
9\end{subarray}} P(i, j)
10\end{gather}
Si noti che entrambi gli ambienti devono essere racchiusi tra parentesi graffe quando appaiono come apice o pedice.
3.4. Diagrammi commutativi
Il pacchetto Amscd
definisce alcuni comandi per la produzione di semplici diagrammi commutativi basati su array. Esistono alcune utili forme di stenografia per specificare frecce decorate e altri connettori. Tuttavia, ha limitazioni, ad esempio, questi connettori possono essere solo orizzontali o verticali.
Nell’ambiente CD
, le notazioni@>>> ``@<<<
,@vvv
e@@aaa
producono rispettivamente a destra, a sinistra, giù e in alto. L’esempio seguente mostra anche l’uso del comando \dichiarathoperator
.
1\usepackage{amsmath,amscd}
2\DeclareMathOperator\add{add}
3\DeclareMathOperator\cf {cf}
4\DeclareMathOperator\cov{cov}
5\DeclareMathOperator\non{non}
6% -------------------------------------------------------------------------------
7\[ \begin{CD}
8\cov (L) @>>> \non (K) @>>> \cf (K) \\
9@VVV @AAA @AAA \\
10\add (L) @>>> \add (K) @>>> \cov (K) \\
11\end{CD} \]
Vediamo come vengono specificate le decorazioni. Per le frecce orizzontali, il materiale tra il primo e il secondo simboli o
<
saranno composti come appescrive e il materiale tra il secondo e il terzo verrà composto come un pedice. Allo stesso modo, il materiale tra il primo e il secondo, o il secondo e il terzo, a
o V
di frecce verticali sarà composto come sinistro o destro “sceneggiatura laterale”. Vedremo l’uso di questo formato nel prossimo esempio.
Le notazioni @=
e @|
Dai doppie linee orizzontali e verticali.
Invece di una freccia visibile, puoi usare una “freccia nulla” (@.
) per compilare un array dove necessario.
1\usepackage{amsmath, amscd}
2\DeclareMathOperator{\End}{End}
3% -------------------------------------------------------------------------------
4\[ \begin{CD}
5S^{W_\Lambda}\otimes T @>j>> T \\
6@VVV @VV{\End P}V \\
7(S \otimes T)/I @= (Z\otimes T)/J
8\end{CD} \]
Un layout simile può essere prodotto nel LaTeX standard. Ma non sembra buono.
1\[\begin{array}{ccc}
2S^{\mathcal{W}_\Lambda}\otimes T & \stackrel{j}{\longrightarrow} & T \\
3\Big\downarrow & & \Big\downarrow\vcenter{\rlap{$\scriptstyle{\mathrm{End}}\,P$}} \\
4(S\otimes T)/I & = & (Z\otimes T)/J
5\end{array}\]
Questo esempio mostra abbastanza chiaramente quanto meglio risultati produce il pacchetto Amscd
: la notazione è più semplice, le frecce orizzontali sono più lunghe, la spaziatura tra gli elementi è molto migliorata. I pacchetti più specializzati ti aiuteranno a ottenere risultati ancora più belli.
3.5. Delimitatori che circondano un array: il pacchetto Delarray
In questa sezione, discuteremo di un’utile estensione generale al pacchetto Array
. Utilizzando questa estensione, l’utente può specificare l’apertura e la chiusura dei delimitatori estensibili per circondare un ambiente di matematica “Array”. Diamo un’occhiata all’esempio:
1\usepackage{delarray}
2% -------------------------------------------------------------------------------
3\[ \mathcal{Q} =
4\begin{array}[t] ( {cc} ) X & Y \end{array}
5\begin{array}[t] [ {cc} ] A & B \\ C & D \end{array}
6\begin{array}[b] \lgroup{cc}\rgroup L \\ M \end{array}
7\]
Si noti che il pacchetto
delarray
è indipendente daamsmath
ma carica automaticamente il pacchettoarray
se necessario.
I delimitatori sono posizionati su entrambi i lati di {cc}
.
Questo esempio illustra anche la caratteristica più utile del pacchetto Delarray
: l’uso degli argomenti opzionali[t]
e[b]
, che non sono consentiti con gli ambienti a matrice di Amsmath
. Questi mostrano che l’uso della sintassi di Delarray
non è equivalente all’ambiente circostante con\left
e \a destra
, poiché i delimitatori sono sollevati e l’array stesso.