feat(algebrario): aggiunge nuovo capitolo e aggiorna evan.sty

main
parent ae25a87bd2
commit b678f72a50

@ -309,6 +309,7 @@ Adesso è possibile enunciare il seguente fondamentale teorema:
\end{proof} \end{proof}
\begin{corollary} \begin{corollary}
\label{cor:primo_isomorfismo_iniettivo}
Sia $\phi : A \to B$ un monomorfismo. $A \cong \Imm \phi$. Sia $\phi : A \to B$ un monomorfismo. $A \cong \Imm \phi$.
\end{corollary} \end{corollary}

@ -0,0 +1,285 @@
\section{Introduzione alla teoria dei campi}
\subsection{La caratteristica di un campo}
Si consideri il seguente omomorfismo:
\[ \psi : \ZZ \to \KK, \]
\vskip 0.1in
completamente determinato dalla condizione $\psi(1) = 1$, dacché
$\ZZ$ è generato da $1$. Si studia innanzitutto il caso in cui
$\Ker \psi = (0)$. In questo caso, $\psi$ è un monomorfismo, e per
il \corref{cor:primo_isomorfismo_iniettivo}, $\ZZ \cong \Imm \psi$. \\
Pertanto, $\KK$ ammetterebbe come sottoanello una copia isomorfa di $\ZZ$.
Inoltre, poiché $\KK$ è un campo, deve anche ammetterne gli inversi, e quindi
ammetterebbe come sottocampo una copia isomorfa di $\QQ$. La seguente
definizione classificherà questi tipi di campo. \\
\begin{definition}
Si dice che un campo $\KK$ è di \textbf{caratteristica zero} ($\Char \KK = 0$),
quando $\Ker \psi = (0)$.
\end{definition}
Altrimenti, se $\Ker \psi \neq (0)$, dacché $\ZZ$ è un anello euclideo,
$\Ker \psi$ deve essere monogenerato da un intero $n$, ossia $\Ker \psi = (n)$. \\
Tuttavia non tutti gli interi sono ammissibili. Sia infatti $n$ non primo, allora
$n = ab$ con $a$, $b \neq \pm 1$. Si nota innanzitutto che $\psi(a) \neq 0$,
se infatti fosse nullo, $n$ dovrebbe dividere $a$, impossibile dal momento
che $\card{a} < \card{n}$, \Lightning{}. Analogamente anche $\psi(b) \neq 0$. \\
Se $n$ fosse generatore di $\Ker \psi$ si ricaverebbe allora che:
\[ \underbrace{\psi(a)}_{\neq\,0} \underbrace{\psi(b)}_{\neq\,0} = \psi(n) = 0, \]
\vskip 0.1in
che è assurdo, dal momento che $\KK$, in quanto campo, è anche un dominio.
Quindi $n$ deve essere un numero primo. In particolare, allora, per
il \nameref{th:primo_isomorfismo}, $\ZZp = \ZZ/(p) \cong \Imm \psi$,
ossia $\KK$ contiene una copia isomorfa di $\ZZp$, a cui ci riferiremo
semplicemente con $\FFpp$. \\
Allora, poiché sia $\KK$ che $\FFpp$ sono campi, $\KK$ è uno spazio
vettoriale su $\FFpp$. Si può dunque classificare quest'ultimo tipo di
campi con la seguente definizione:
\begin{definition}
Si dice che un campo $\KK$ è di \textbf{caratteristica $p$} ($\Char \KK = p$)
quando $\Ker \psi = (p)$, con $p$ primo.
\end{definition}
\begin{remark*}
La caratteristica di un campo \textbf{non} distingue i campi finiti
dai campi infiniti. Esistono infatti campi infiniti di caratteristica
$p$, come il campo delle funzioni razionali su $\ZZp$:
\[ \ZZ_p(x) = \left\{ \frac{f(x)}{g(x)} \mid f(x),\, g(x) \in \ZZpx,\, g(x) \neq 0 \right\}. \]
\vskip 0.1in
Infatti $\psi(p) = p \, \psi(1) = 0$.
\end{remark*}
\subsection{Prime proprietà dei campi di caratteristica \texorpdfstring{$p$}{p}}
Come si è appena visto, un campo $\KK$ di caratteristica $p$ contiene
al suo interno un sottocampo $\FFpp$ isomorfo a $\ZZp$, ed è per questo
uno spazio vettoriale su di esso. A partire da questa informazione si
può dimostrare la seguente proposizione.
\begin{proposition}
\label{prop:campo_char_p_prodotto_per_p}
Sia $\KK$ un campo di caratteristica $p$. Allora, per ogni
elemento $v$ di $\KK$, $pv=0$.
\end{proposition}
\begin{proof}
Considerando ogni elemento di $\KK$ come vettore e $p$ come
scalare, si ricava che:
\[ pv=(\underbrace{1+\ldots+1}_{p\text{ volte}})v=
(\underbrace{\psi(1)+\ldots+\psi(1)}_{p\text{ volte}})v=
\psi(p)v=0v=0. \]
\end{proof}
Mentre, partendo da questa proposizione, si può dimostrare il
seguente teorema.
\begin{theorem}[\textit{Teorema del binomio ingenuo}]
\label{th:binomio_ingenuo}
Siano $a$ e $b$ elementi di un campo di caratteristica $p$. Allora
$(a+b)^p = a^p + b^p$.
\end{theorem}
\begin{proof}
Per dimostrare la tesi si applica la formula del binomio di Newton
nel seguente modo:
\[ (a+b)^p = \sum_{i=0}^p \binom{p}{i} a^{p-i}b^p. \]
\vskip 0.1in
Tuttavia, dal momento che $p$ è un fattore di tutti i binomiali per
$1 \leq i \leq p-1$, tutti i termini computati con queste $i$
sono nulli per la \propref{prop:campo_char_p_prodotto_per_p}.
Si desume così l'identità della tesi.
\end{proof}
\subsection{L'omomorfismo di Frobenius}
\begin{definition}
Dato un campo $\KK$ di caratteristica $p$, si definisce
\textbf{omomorfismo di Frobenius} per il campo $\KK$
la funzione:
\[ \Frob : \KK \to \KK,\, a \mapsto a^p. \]
\end{definition}
\begin{remark*}
In effetti, l'omomorfismo di Frobenius è un omomorfismo. \\
Infatti, $\Frob(1) = 1^p = 1$. Inoltre tale funzione
rispetta la linearità per il \nameref{th:binomio_ingenuo}:
\[ \Frob(a + b) = (a+b)^p = a^p + b^p = \Frob(a) + \Frob(b), \]
\vskip 0.1in
e chiaramente anche la moltiplicatività:
\[ \Frob(ab) = (ab)^p = a^p b^p = \Frob(a) \Frob(b). \]
\end{remark*}
\begin{proposition}
\label{prop:frobenius_monomorfismo}
L'omomorfismo di Frobenius di un campo $\KK$ di caratteristica
$p$ è un monomorfismo.
\end{proposition}
\begin{proof}
Si prenda in considerazione $\Ker \Frob$. Esso è sicuramente
un ideale diverso da $\KK$, dacché $1 \notin \Ker \Frob$.
Tuttavia, se $\Ker \Frob \neq (0)$, $\Ker \Frob$, dal
momento che $\KK$, in quanto campo, è un anello euclideo,
e quindi un PID, è monogenerato da un invertibile. \\
Se però così fosse, $\Ker \Frob$ coinciderebbe con il
campo $\KK$ stesso, \Lightning{}. Quindi $\Ker \Frob = (0)$,
da cui la tesi.
\end{proof}
\begin{proposition}
Sia $\KK$ un campo finito di caratteristica $p$. Allora
l'omomorfismo di Frobenius è un automorfismo.
\end{proposition}
\begin{proof}
Dalla \propref{prop:frobenius_monomorfismo} è noto che
$\Frob$ sia già un monomorfismo. Dal momento che
il dominio e il codominio sono lo stesso e constano
entrambi dunque di un numero finito di elementi,
se $\Frob$ non fosse surgettivo, vi sarebbe un elemento
di $\KK$ a cui non è associato nessun elemento di $\KK$
mediante $\Frob$. \\
Per il principio dei cassetti, allora, spartendo
$\card{\KK}$ elementi in $\card{\KK}-1$ elementi,
vi sarebbe almeno un elemento dell'immagine a cui
sarebbero associati due elementi del dominio. Tuttavia
questo è assurdo dal momento che $\Frob$ è un
monomorfismo. Quindi $\Frob$ è un epimorfismo. \\
Dacché $\Frob$ è contemporaneamente un endomorfismo,
un monomorfismo e un epimorfismo, è allora anche
un automorfismo.
\end{proof}
\begin{proposition}
\label{prop:punti_fissi_frobenius_campo}
Sia $\KK$ un campo di caratteristica $p$ e si
definisca l'insieme dei punti fissi del suo
omomorfismo di Frobenius:
\[ \Fix(\Frobexp^n) = \{ a \in \KK \mid \Frobexp^n(a) = a \} .\]
\vskip 0.1in
Allora $\Fix(\Frobexp^n)$ è un sottocampo di $\KK$.
\end{proposition}
\begin{proof}
Affinché $\Fix(\Frobexp^n)$ sia un sottocampo di $\KK$,
la sua somma e la sua moltiplicazione devono essere ben
definite, e ogni suo elemento deve ammettere un inverso
sia additivo che moltiplicativo. \\
Siano allora $a$, $b \in \Fix(\Frobexp^n)$.
$\Frobexp^n$ è un omomorfismo, in quanto è composizione
di omomorfismi (in particolare, dello stesso omomorfismo
$\Frobexp$). Sfruttando le proprietà
degli omomorfismi si dimostra dunque
che $a+b \in \Fix(\Frobexp^n)$:
\[ \Frobexp^n(a+b) = \Frobexp^n(a) + \Frobexp^n(b) = a+b, \]
\vskip 0.1in
e che $ab \in \Fix(\Frobexp^n)$:
\[ \Frobexp^n(ab) = \Frobexp^n(a)\Frobexp^n(b) = ab. \]
\vskip 0.1in
Analogamente si dimostra che $-a \in \Fix(\Frobexp^n)$:
\[ \Frobexp^n(-a) = -\Frobexp^n(a) = -a, \]
\vskip 0.1in
e che $a\inv \in \Fix(\Frobexp^n)$:
\[ \Frobexp^n(a\inv) = \Frobexp^n(a)\inv = a\inv. \]
\end{proof}
\subsection{Classificazione dei campi finiti}
\begin{theorem}
Ogni campo finito $\KK$ di caratteristica $p$ consta
di $p^n$ elementi, con $n \in \NN^+$.
\end{theorem}
\begin{proof}
Come già detto precedentemente, $\KK$ è uno
spazio vettoriale su una copia isomorfa di $\ZZp$,
$\FFpp$. \\
Si consideri allora il grado $[\KK : \FFpp]$. Sicuramente
questo grado non è infinito, dal momento che $\KK$ non
ha infiniti elementi. Quindi $[\KK : \FFpp] = n \in \NN$. \\
Sia dunque $(k_1, k_2, \ldots, k_n)$ una base di $\KK$
su $\FFpp$. Ogni elemento $a$ di $\KK$ si potrà dunque scrivere
come:
\[ a = \alpha_1 k_1 + \ldots + \alpha_n k_n, \quad \alpha_1, \ldots, \alpha_n \in \FFpp,\]
\vskip 0.1in
e dunque vi saranno in totale $p^n$
elementi, dove ogni $p$ è contato dal numero di elementi che è
possibile associare ad ogni coefficiente, ossia $\card{\FFpp} = p$,
per il numero di elementi appartenenti alla base, ossia $[\KK : \FFpp] =
n$, da cui la tesi.
\end{proof}
\begin{theorem}
Per ogni $n \in \NN^+$ e per ogni numero primo $p$ esiste un
campo finito con $p^n$ elementi.
\end{theorem}
\begin{proof}
Si consideri il polinomio $x^{p^n}-x$ su $\ZZp$ e un suo
campo di spezzamento $A$. $\Fix(\Frobexp^n)$, per
la \propref{prop:punti_fissi_frobenius_campo}, è
un sottocampo, e
contiene esattamente le radici di $x^{p^n}-x$, che
in $A$ si spezza in fattori lineari, per definizione. \\
La derivata di $x^{p^n}-x$ è $p^n x^{p^n - 1}-1 \equiv -1$,
dacché $A$ è uno spazio vettoriale su $\ZZp$, e pertanto
vale ancora la \propref{prop:campo_char_p_prodotto_per_p}.
Dal momento che $-1$ e $x^{p^n}-x$ non hanno fattori lineari
in comune, per il \textit{Criterio della derivata},
$x^{p^n}-x$ non ammette radici multiple. \\
Allora $\Fix(\Frobexp^n)$ è un campo con $p^n$ elementi,
ossia tutte le radici di $x^{p^n}-x$ (e coincide quindi
con il campo di spezzamento $A$), da cui la tesi.
\end{proof}

@ -1,6 +1,6 @@
\section{Teoremi rilevanti sui campi finiti} \section{Teoremi rilevanti sui campi finiti}
\subsection{Campo di spezzamento di un irriducibile in $\FFpp$} \subsection{Campo di spezzamento di un irriducibile in \texorpdfstring{$\FFpp$}{F\_p}}
\begin{theorem} \begin{theorem}
Sia $f(x)$ un polinomio irriducibile in $\FFpp$ e sia Sia $f(x)$ un polinomio irriducibile in $\FFpp$ e sia
@ -97,7 +97,7 @@
\Lightning{}. \Lightning{}.
\end{proof} \end{proof}
\subsection{L'inclusione $\FFpm \subseteq \FFpn$ e il polinomio $x^{p^n}-x$} \subsection{L'inclusione \texorpdfstring{$\FFpm \subseteq \FFpn$}{F\_(p\string^m) in F\_(p\string^n)} e il polinomio \texorpdfstring{$x^{p^n}-x$}{x\string^(p\string^n)-x}}
\begin{lemma} \begin{lemma}
\label{lem:alpha_radice} \label{lem:alpha_radice}

@ -1,6 +1,6 @@
\section{Esempi notevoli di anelli euclidei} \section{Esempi notevoli di anelli euclidei}
\subsection{I numeri interi: $\ZZ$} \subsection{I numeri interi: \texorpdfstring{$\ZZ$}{Z}}
Senza ombra di dubbio l'esempio più importante di anello euclideo -- nonché Senza ombra di dubbio l'esempio più importante di anello euclideo -- nonché
l'esempio da cui si è generalizzata proprio la stessa nozione di anello l'esempio da cui si è generalizzata proprio la stessa nozione di anello
@ -20,7 +20,7 @@ Dal momento che così si verifica che $\ZZ$ è un anello euclideo, il \textit{Te
fondamentale dell'aritmetica} è una conseguenza del fondamentale dell'aritmetica} è una conseguenza del
\textit{Teorema \ref{th:euclidei_ufd}}. \textit{Teorema \ref{th:euclidei_ufd}}.
\subsection{I campi: $\KK$} \subsection{I campi: \texorpdfstring{$\KK$}{K}}
Ogni campo $\KK$ è un anello euclideo, seppur banalmente. Infatti, eccetto proprio Ogni campo $\KK$ è un anello euclideo, seppur banalmente. Infatti, eccetto proprio
per $0$, ogni elemento è "divisibile" per ogni altro elemento: siano $a$, $b \in \KK$, per $0$, ogni elemento è "divisibile" per ogni altro elemento: siano $a$, $b \in \KK$,
@ -36,7 +36,7 @@ Chiaramente $g$ soddisfa il primo assioma della funzione grado. Inoltre,
poiché ogni elemento è "divisibile", il resto è sempre zero -- non è pertanto poiché ogni elemento è "divisibile", il resto è sempre zero -- non è pertanto
necessario verificare nessun'altra proprietà. necessario verificare nessun'altra proprietà.
\subsection{I polinomi di un campo: $\KK[x]$} \subsection{I polinomi di un campo: \texorpdfstring{$\KK[x]$}{K[x]}}
I polinomi di un campo $\KK$ formano un anello euclideo rilevante I polinomi di un campo $\KK$ formano un anello euclideo rilevante
nello studio dell'algebra astratta. Come suggerisce la nello studio dell'algebra astratta. Come suggerisce la
@ -62,7 +62,7 @@ euclideo\footnote{Curiosamente i polinomi di $\KK[x]$ e i campi $\KK$ sono gli u
$\Ker \varphi = (x-\alpha)$. $\Ker \varphi = (x-\alpha)$.
\end{example} \end{example}
\subsection{Gli interi di Gauss: $\ZZ[i]$} \subsection{Gli interi di Gauss: \texorpdfstring{$\ZZ[i]$}{Z[i]}}
Un importante esempio di anello euclideo è il dominio degli interi di Gauss $\ZZ[i]$, definito come: Un importante esempio di anello euclideo è il dominio degli interi di Gauss $\ZZ[i]$, definito come:
@ -109,8 +109,6 @@ di $\ZZ$ e quella di $\ZZ[i].$ Infatti, se $a \in \ZZ$, il grado di $a$ in $\ZZ$
sono uno il quadrato dell'altro. In particolare, è possibile ridefinire il grado sono uno il quadrato dell'altro. In particolare, è possibile ridefinire il grado
di $\ZZ$ proprio in modo tale da farlo coincidere con quello di $\ZZ[i]$. \\ di $\ZZ$ proprio in modo tale da farlo coincidere con quello di $\ZZ[i]$. \\
\newpage
\begin{theorem} \begin{theorem}
$\ZZ[i]$ è un anello euclideo. $\ZZ[i]$ è un anello euclideo.
\end{theorem} \end{theorem}
@ -138,7 +136,7 @@ di $\ZZ$ proprio in modo tale da farlo coincidere con quello di $\ZZ[i]$. \\
\[\left|r\right| \leq \frac{\left|b\right|}{\sqrt{2}} < \left|b\right| \implies \left|r\right|^2 < \left|b\right|^2 \implies g(r) < g(b).\] \[\left|r\right| \leq \frac{\left|b\right|}{\sqrt{2}} < \left|b\right| \implies \left|r\right|^2 < \left|b\right|^2 \implies g(r) < g(b).\]
\end{proof} \end{proof}
\subsection{Gli interi di Eisenstein: $\ZZ[\omega]$} \subsection{Gli interi di Eisenstein: \texorpdfstring{$\ZZ[\omega]$}{Z[ω]}}
Sulla scia di $\ZZ[i]$ è possibile definire anche l'anello degli Sulla scia di $\ZZ[i]$ è possibile definire anche l'anello degli
interi di Eisenstein, aggiungendo a $\ZZ$ la prima radice cubica interi di Eisenstein, aggiungendo a $\ZZ$ la prima radice cubica

@ -1,4 +1,4 @@
\section{Irriducibili e corollari di aritmetica in $\ZZi$} \section{Irriducibili e corollari di aritmetica in \texorpdfstring{$\ZZi$}{Z[i]}}
Come già dimostrato, $\ZZi$ è un anello euclideo con la seguente Come già dimostrato, $\ZZi$ è un anello euclideo con la seguente
funzione grado: funzione grado:
@ -10,7 +10,7 @@ importante in aritmetica, il \nameref{th:teorema_natale},
che discende direttamente come corollario di un teorema più che discende direttamente come corollario di un teorema più
generale riguardante $\ZZi$. generale riguardante $\ZZi$.
\subsection{Il teorema di Natale di Fermat e gli irriducibili in $\ZZi$} \subsection{Il teorema di Natale di Fermat e gli irriducibili in \texorpdfstring{$\ZZi$}{Z[i]}}
\begin{lemma} \begin{lemma}
\label{lem:riducibile_due_quadrati} \label{lem:riducibile_due_quadrati}

@ -1,6 +1,6 @@
\section{Irriducibilità in $\ZZx$ e in $\QQx$} \section{Irriducibilità in \texorpdfstring{$\ZZx$}{Z[x]} e in \texorpdfstring{$\QQx$}{Q[x]}}
\subsection{Criterio di Eisenstein e proiezione in $\ZZpx$} \subsection{Criterio di Eisenstein e proiezione in \texorpdfstring{$\ZZpx$}{Z\_p[x]}}
Prima di studiare le irriducibilità in $\ZZ$, si guarda Prima di studiare le irriducibilità in $\ZZ$, si guarda
alle irriducibilità nei vari campi finiti $\ZZp$, con alle irriducibilità nei vari campi finiti $\ZZp$, con
@ -178,7 +178,7 @@ verrà ripresa anche in seguito
irriducibile. Pertanto anche $f(x)$ lo è. irriducibile. Pertanto anche $f(x)$ lo è.
\end{example} \end{example}
\subsection{Alcuni irriducibili di $\ZZ_2[x]$} \subsection{Alcuni irriducibili di \texorpdfstring{$\ZZ_2[x]$}{Z\_2[x]}}
Tra tutti gli anelli $\ZZpx$, $\ZZ_2[x]$ ricopre sicuramente Tra tutti gli anelli $\ZZpx$, $\ZZ_2[x]$ ricopre sicuramente
un ruolo fondamentale, dal momento che è il meno costoso un ruolo fondamentale, dal momento che è il meno costoso

@ -1,4 +1,4 @@
\section{I polinomi di un campo: $\KKx$} \section{I polinomi di un campo: \texorpdfstring{$\KKx$}{K[x]}}
\subsection{Elementi preliminari} \subsection{Elementi preliminari}
@ -89,7 +89,7 @@ ora invece la definizione di radice.
quindi un UFD, \Lightning{}. Quindi le radici sono esattamente $k \leq n$, da cui la tesi. quindi un UFD, \Lightning{}. Quindi le radici sono esattamente $k \leq n$, da cui la tesi.
\end{proof} \end{proof}
\subsection{Sottogruppi moltiplicativi finiti di $\KK$} \subsection{Sottogruppi moltiplicativi finiti di \texorpdfstring{$\KK$}{K}}
Si illustra adesso un teorema che riguarda i sottogruppi Si illustra adesso un teorema che riguarda i sottogruppi
moltiplicativi finiti di $\KK$, da cui conseguirà, moltiplicativi finiti di $\KK$, da cui conseguirà,
@ -203,7 +203,7 @@ qualsiasi $p$ primo. \\
Quindi $\card{X_d}>0$, e $G$ è ciclico. Quindi $\card{X_d}>0$, e $G$ è ciclico.
\end{proof} \end{proof}
\subsection{Il quoziente $\KKx/(f(x))$} \subsection{Il quoziente \texorpdfstring{$\KKx/(f(x))$}{K[x]/(f(x))}}
Nell'ambito dello studio delle radici di un polinomio, Nell'ambito dello studio delle radici di un polinomio,
il quoziente $\KKx/(f(x))$ gioca un ruolo fondamentale. il quoziente $\KKx/(f(x))$ gioca un ruolo fondamentale.

@ -1,4 +1,4 @@
\section{Estensioni algebriche di $\KK$} \section{Estensioni algebriche di \texorpdfstring{$\KK$}{K}}
\subsection{Morfismi di valutazione, elementi algebrici e trascendenti} \subsection{Morfismi di valutazione, elementi algebrici e trascendenti}

@ -51,3 +51,25 @@ Pertanto ora è possibile enunciare la definizione di \textit{campo di spezzamen
isomorfi tra loro\footnote{Per la dimostrazione di questo risultato isomorfi tra loro\footnote{Per la dimostrazione di questo risultato
si rimanda a TODO}. si rimanda a TODO}.
\end{remark*} \end{remark*}
\begin{theorem}
Sia $A$ un campo e sia $B \supseteq A$ un campo di spezzamento
di $f(x) \in A[x]$ su $A$, con $f(x)$ non costante. Sia $\deg f(x) = n$.
Allora $[B : A] \leq n!$.
\end{theorem}
\begin{proof}
Siano $\lambda_1$, $\lambda_2,\,\ldots,$ $\lambda_n$ le radici
di $f(x)$. Allora $[\KK(\lambda_1) : \KK] \leq n$, dacché
$\lambda_1$ è radice di $f(x)$. \\
Sia ora $f(x)=(x-\lambda_1)g(x)$, con $\deg g(x) = n-1$. Sicuramente
$\lambda_2$ è radice di $g(x)$, pertanto $[\KK(\lambda_1, \lambda_2) : \KK(\lambda_1)] \leq n-1$. Reiterando il ragionamento si può applicare infine il \nameref{th:torri}:
\[ [\KK(\lambda_1, \ldots, \lambda_n) : \KK] = [\KK(\lambda_1, \ldots, \lambda_n) : \KK(\lambda_1, \ldots, \lambda_{n-1})] \cdots [\KK(\lambda_1) : \KK] \leq 1 \cdot 2 \cdots n = n!, \]
\vskip 0.1in
da cui la tesi.
\end{proof}

@ -1,4 +1,4 @@
\section{Teorema fondamentale dell'Algebra e radici reali in $\QQx$} \section{Teorema fondamentale dell'Algebra e radici reali in \texorpdfstring{$\QQx$}{Q[]}}
Si enuncia adesso il \nameref{th:algebra}, senza tuttavia Si enuncia adesso il \nameref{th:algebra}, senza tuttavia
fornirne una dimostrazione\footnote{Per la dimostrazione si rimanda fornirne una dimostrazione\footnote{Per la dimostrazione si rimanda

Binary file not shown.

@ -1,6 +1,6 @@
\PassOptionsToPackage{main=italian}{babel} \PassOptionsToPackage{main=italian}{babel}
\documentclass[11pt]{scrartcl} \documentclass[11pt]{scrartcl}
\usepackage[sexy]{evan} \usepackage{evan}
\usepackage[utf8]{inputenc} \usepackage[utf8]{inputenc}
\usepackage[italian]{babel} \usepackage[italian]{babel}
\usepackage{algorithm2e} \usepackage{algorithm2e}
@ -19,96 +19,6 @@
\addbibresource{bibliography.bib} \addbibresource{bibliography.bib}
\newcommand{\nsqrt}[2]{\!\sqrt[#1]{#2}\,}
\newcommand{\card}[1]{\left|#1\right|}
\newcommand{\zeroset}{\{0\}}
\newcommand{\setminuszero}{\setminus \{0\}}
\newcommand{\corref}[1]{\textit{Corollario \ref{#1}}}
\newcommand{\exref}[1]{\textit{Esercizio \ref{#1}}}
\newcommand{\exmplref}[1]{\textit{Esempio \ref{#1}}}
\newcommand{\propref}[1]{\textit{Proposizione \ref{#1}}}
\newcommand{\lemref}[1]{\textit{Lemma \ref{#1}}}
\newcommand{\thref}[1]{\textit{Teorema \ref{#1}}}
\newcommand{\BB}{\mathcal{B}}
\newcommand{\HH}{\mathbb{H}}
\newcommand{\KK}{\mathbb{K}}
\newcommand{\ZZp}{\mathbb{Z}_p}
\newcommand{\CCx}{\mathbb{C}[x]}
\newcommand{\FFpp}{\mathbb{F}_p}
\newcommand{\FFpd}{\mathbb{F}_{p^d}}
\newcommand{\FFpm}{\mathbb{F}_{p^m}}
\newcommand{\FFpn}{\mathbb{F}_{p^n}}
\newcommand{\FFp}[1]{\mathbb{F}_{p^{#1}}}
\newcommand{\KKx}{\mathbb{K}[x]}
\newcommand{\QQx}{\mathbb{Q}[x]}
\newcommand{\RRx}{\mathbb{R}[x]}
\newcommand{\ZZi}{\mathbb{Z}[i]}
\newcommand{\ZZom}{\mathbb{Z}[\omega]}
\newcommand{\ZZpx}{\mathbb{Z}_p[x]}
\newcommand{\ZZx}{\mathbb{Z}[x]}
\renewcommand{\ii}{\mathbf{i}}
\newcommand{\jj}{\mathbf{j}}
\newcommand{\kk}{\mathbf{k}}
\newcommand{\valalpha}{\varphi_\alpha}
\newcommand{\Frob}{\mathcal{F}}
\newcommand{\Frobexp}{\mathcal{F}{\mkern 1.5mu}}
\newcommand{\dual}[1]{#1^{*}}
\newcommand{\LL}[2]{\mathcal{L} \left(#1, \, #2\right)}
\newcommand{\M}[1]{\mathcal{M}_{#1}\left(\KK\right)}
\newcommand{\nsg}{\mathrel{\unlhd}}
\renewcommand{\vec}[1]{\underline{#1}}
\newcommand{\hatpi}{\hat{\pi}}
\newcommand{\hatpip}{\hat{\pi}_p}
\theoremstyle{definition}
\DeclareMathOperator{\existsone}{\exists !}
\DeclareMathOperator{\Imm}{Imm}
\DeclareMathOperator{\MCD}{MCD}
\DeclareMathOperator{\mcm}{mcm}
\DeclareMathOperator{\tr}{tr}
\let\oldemptyset\emptyset
\let\emptyset\varnothing
\let\oldcirc\circ
\let\circ\undefined
\DeclareMathOperator{\circ}{\oldcirc}
\let\oldexists\exists
\let\exists\undefined
\DeclareMathOperator{\exists}{\oldexists}
\let\oldforall\forall
\let\forall\undefined
\DeclareMathOperator{\forall}{\oldforall}
\let\oldnexists\nexists
\let\nexists\undefined
\DeclareMathOperator{\nexists}{\oldnexists}
\let\oldland\land
\let\land\undefined
\DeclareMathOperator{\land}{\oldland}
\let\oldlnot\lnot
\let\lnot\undefined
\DeclareMathOperator{\lnot}{\oldlnot}
\let\oldlor\lor
\let\lor\undefined
\DeclareMathOperator{\lor}{\oldlor}
\setlength\parindent{0pt}
\begin{document} \begin{document}
\title{L'Algebrario} \title{L'Algebrario}
@ -192,7 +102,13 @@
\thispagestyle{empty} \thispagestyle{empty}
~\newpage ~\newpage
\include{10. Teoremi rilevanti sui campi finiti} \include{10. Introduzione a teoria dei campi}
\newpage
\thispagestyle{empty}
~\newpage
\include{11. Teoremi rilevanti sui campi finiti}
\newpage \newpage
\thispagestyle{empty} \thispagestyle{empty}

@ -6,7 +6,7 @@
year={2013}, year={2013},
publisher={Pisa University Press}, publisher={Pisa University Press},
shorthand={DM} shorthand={DM}
}, }
@book{herstein2010algebra, @book{herstein2010algebra,
title={Algebra}, title={Algebra},
author={Herstein, I.N.}, author={Herstein, I.N.},
@ -14,19 +14,19 @@
year={2010}, year={2010},
publisher={Editori Riuniti University Press}, publisher={Editori Riuniti University Press},
shorthand={H} shorthand={H}
}, }
@Inbook{Remmert1991, @Inbook{Remmert1991,
author="Remmert, R.", author="Remmert, R.",
title="The Fundamental Theorem of Algebra", title="The Fundamental Theorem of Algebra",
bookTitle="Numbers", bookTitle="Numbers",
year="1991", year="1991",
publisher="Springer New York", publisher="Springer New York",
address="New York, NY", address="New York, NY",
pages="97--122", pages="97--122",
isbn="978-1-4612-1005-4", isbn="978-1-4612-1005-4",
doi="10.1007/978-1-4612-1005-4_5", doi="10.1007/978-1-4612-1005-4_5",
url="https://doi.org/10.1007/978-1-4612-1005-4_5" url="https://doi.org/10.1007/978-1-4612-1005-4_5"
}, }
@article{10.2307/2315810, @article{10.2307/2315810,
ISSN = {00029890, 19300972}, ISSN = {00029890, 19300972},
URL = {http://www.jstor.org/stable/2315810}, URL = {http://www.jstor.org/stable/2315810},

@ -12,16 +12,9 @@
% \▓▓▓▓▓▓ % % \▓▓▓▓▓▓ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Original file:
% https://github.com/vEnhance/dotfiles/blob/main/texmf/tex/latex/evan/evan.sty % https://github.com/vEnhance/dotfiles/blob/main/texmf/tex/latex/evan/evan.sty
% ░█▄█░▄▀▄░█░░▒█░░░▀█▀░▄▀▄░░░█▒█░▄▀▀▒██▀
% ▒█▒█░▀▄▀░▀▄▀▄▀▒░░▒█▒░▀▄▀▒░░▀▄█▒▄██░█▄▄
%
% If you don't know how to use this file, read:
% +--------------------------------------------+
% | https://web.evanchen.cc/faq-latex.html#L-4 |
% +--------------------------------------------+
%
% TL;DR of the Boost license conditions are as follows: % TL;DR of the Boost license conditions are as follows:
% %
% 1. Any SOURCE VERSIONS must cite evan.sty and the Boost license below. % 1. Any SOURCE VERSIONS must cite evan.sty and the Boost license below.
@ -62,145 +55,88 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ProvidesPackage{evan} \ProvidesPackage{evan}
%%fakesection Argument processing
% Default Arguments
% We include "Evan" in all of these to make sure
% that they don't collide with anything in external packages
\newif\ifevanfancy\evanfancytrue
\newif\ifevanhdr\evanhdrtrue
\newif\ifevanhref\evanhreftrue
\newif\ifevansetup\evansetuptrue
\newif\ifevanthm\evanthmtrue
\newif\ifevansecthm\evansecthmfalse
\newif\ifevanht\evanhtfalse
\newif\ifevanpkg\evanpkgtrue
\newif\ifevanpdf\evanpdftrue
\newif\ifevanauthor\evanauthortrue
\newif\ifevanchinese\evanchinesefalse
\newif\ifevanmdthm\evanmdthmfalse
\newif\ifevandiagrams\evandiagramsfalse
\newif\ifevanpatchasy\evanpatchasyfalse
\newif\ifevanhints\evanhintsfalse
\newif\ifevanasy\evanasytrue
\newif\ifevancolorsec\evancolorsecfalse
\newif\ifevantitlemark\evantitlemarktrue
\newif\ifevanvonenabled\evanvonenabledfalse
\newif\ifevanbritish\evanbritishtrue
%Receive Arguments
\DeclareOption{chinese}{\evanhreffalse\evanchinesetrue} % Chinese support
% allow href to override this one
\DeclareOption{sexy}{\evansecthmtrue\evanmdthmtrue\evancolorsectrue} % long docs
\DeclareOption{fancy}{\evanfancytrue}
\DeclareOption{nofancy}{\evanfancyfalse}
\DeclareOption{hdr}{\evanhdrtrue}
\DeclareOption{nohdr}{\evanhdrfalse}
\DeclareOption{href}{\evanhreftrue}
\DeclareOption{nohref}{\evanhreffalse}
\DeclareOption{nosetup}{\evansetupfalse}
\DeclareOption{thm}{\evanthmtrue}
\DeclareOption{nothm}{\evanthmfalse}
\DeclareOption{secthm}{\evansecthmtrue}
\DeclareOption{nosecthm}{\evansecthmfalse}
\DeclareOption{ht}{\evanhttrue}
\DeclareOption{nopdf}{\evanpdffalse}
\DeclareOption{nopkg}{\evanpkgfalse}
\DeclareOption{noauthor}{\evanauthorfalse}
\DeclareOption{titlemark}{\evantitlemarktrue} % Sets title in ohead, not \rightmark
\DeclareOption{sectionmark}{\evantitlemarkfalse} % Uses \rightmark not title in ohead
\DeclareOption{mdthm}{\evanmdthmtrue}
\DeclareOption{nomdthm}{\evanmdthmfalse}
\DeclareOption{diagrams}{\evandiagramstrue}
\DeclareOption{nodiagrams}{\evandiagramsfalse}
\DeclareOption{colorsec}{\evancolorsectrue}
\DeclareOption{nocolorsec}{\evancolorsecfalse}
\DeclareOption{patchasy}{\evanpatchasytrue}
\DeclareOption{noasy}{\evanasyfalse}
\DeclareOption{hints}{\evanhintstrue}
\DeclareOption{von}{\evanvonenabledtrue}
\DeclareOption{british}{\evanbritishtrue}
\DeclareOption{american}{\evanbritishfalse}
\ProcessOptions\relax \ProcessOptions\relax
% if packages not loaded, turn off mdthm and asy
\ifevanpkg\else\evanmdthmfalse\fi
\ifevanpkg\else\evanasyfalse\fi
% If no setup, turn off theorems
\ifevansetup\else\evanthmfalse\fi
%%fakesection Some macros
%Small commands
\usepackage{amsmath,amssymb} \usepackage{amsmath,amssymb}
\usepackage{iftex} \usepackage{iftex}
\ifevanpkg \usepackage[minimal]{yhmath}
\usepackage[minimal]{yhmath}
\fi \setlength\parindent{0pt}
% Personal commands
\newcommand{\card}[1]{\left|#1\right|}
\newcommand{\nsqrt}[2]{\!\sqrt[#1]{#2}\,}
\newcommand{\zeroset}{\{0\}}
\newcommand{\setminuszero}{\setminus \{0\}}
\newcommand{\corref}[1]{\textit{Corollario \ref{#1}}}
\newcommand{\exref}[1]{\textit{Esercizio \ref{#1}}}
\newcommand{\exmplref}[1]{\textit{Esempio \ref{#1}}}
\newcommand{\propref}[1]{\textit{Proposizione \ref{#1}}}
\newcommand{\lemref}[1]{\textit{Lemma \ref{#1}}}
\newcommand{\thref}[1]{\textit{Teorema \ref{#1}}}
\newcommand{\BB}{\mathcal{B}}
\newcommand{\HH}{\mathbb{H}}
\newcommand{\KK}{\mathbb{K}}
\newcommand{\ZZp}{\mathbb{Z}_p}
\newcommand{\CCx}{\mathbb{C}[x]}
\newcommand{\FFpp}{\mathbb{F}_p}
\newcommand{\FFpd}{\mathbb{F}_{p^d}}
\newcommand{\FFpm}{\mathbb{F}_{p^m}}
\newcommand{\FFpn}{\mathbb{F}_{p^n}}
\newcommand{\FFp}[1]{\mathbb{F}_{p^{#1}}}
\newcommand{\KKx}{\mathbb{K}[x]}
\newcommand{\QQx}{\mathbb{Q}[x]}
\newcommand{\RRx}{\mathbb{R}[x]}
\newcommand{\ZZi}{\mathbb{Z}[i]}
\newcommand{\ZZom}{\mathbb{Z}[\omega]}
\newcommand{\ZZpx}{\mathbb{Z}_p[x]}
\newcommand{\ZZx}{\mathbb{Z}[x]}
\newcommand{\ii}{\mathbf{i}}
\newcommand{\jj}{\mathbf{j}}
\newcommand{\kk}{\mathbf{k}}
\newcommand{\valalpha}{\varphi_\alpha}
\newcommand{\Frob}{\mathcal{F}}
\newcommand{\Frobexp}{\mathcal{F}{\mkern 1.5mu}}
\newcommand{\dual}[1]{#1^{*}}
\newcommand{\LL}[2]{\mathcal{L} \left(#1, \, #2\right)}
\newcommand{\M}[1]{\mathcal{M}_{#1}\left(\KK\right)}
\newcommand{\nsg}{\mathrel{\unlhd}}
\renewcommand{\vec}[1]{\underline{#1}}
\newcommand{\hatpi}{\hat{\pi}}
\newcommand{\hatpip}{\hat{\pi}_p}
% evan.sty original commands
\newcommand{\cbrt}[1]{\sqrt[3]{#1}} \newcommand{\cbrt}[1]{\sqrt[3]{#1}}
\newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor} \newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor}
\newcommand{\ceiling}[1]{\left\lceil #1 \right\rceil} \newcommand{\ceiling}[1]{\left\lceil #1 \right\rceil}
\newcommand{\mailto}[1]{\href{mailto:#1}{\texttt{#1}}} \newcommand{\mailto}[1]{\href{mailto:#1}{\texttt{#1}}}
\newcommand{\ol}{\overline}
\newcommand{\ul}{\underline}
\newcommand{\wt}{\widetilde}
\newcommand{\wh}{\widehat}
\newcommand{\eps}{\varepsilon} \newcommand{\eps}{\varepsilon}
%\renewcommand{\iff}{\Leftrightarrow}
%\renewcommand{\implies}{\Rightarrow}
\newcommand{\vocab}[1]{\textbf{\color{blue}\sffamily #1}} \newcommand{\vocab}[1]{\textbf{\color{blue}\sffamily #1}}
\providecommand{\alert}{\vocab} \providecommand{\alert}{\vocab}
\providecommand{\half}{\frac{1}{2}}
\newcommand{\catname}{\mathsf} \newcommand{\catname}{\mathsf}
\newcommand{\hrulebar}{
\par\hspace{\fill}\rule{0.95\linewidth}{.7pt}\hspace{\fill}
\par\nointerlineskip \vspace{\baselineskip}
}
\providecommand{\arc}[1]{\wideparen{#1}} \providecommand{\arc}[1]{\wideparen{#1}}
%For use in author command % From H113 "Introduction to Abstract Algebra" at UC Berkeley
\newcommand{\plusemail}[1]{\\ \normalfont \texttt{\mailto{#1}}}
%More commands and math operators
\DeclareMathOperator{\cis}{cis}
\DeclareMathOperator*{\lcm}{lcm}
\DeclareMathOperator*{\argmin}{arg min}
\DeclareMathOperator*{\argmax}{arg max}
%Convenient Environments
\newenvironment{soln}{\begin{proof}[Solution]}{\end{proof}}
\newenvironment{parlist}{\begin{inparaenum}[(i)]}{\end{inparaenum}}
\newenvironment{gobble}{\setbox\z@\vbox\bgroup}{\egroup}
%Inequalities
\newcommand{\cycsum}{\sum_{\mathrm{cyc}}}
\newcommand{\symsum}{\sum_{\mathrm{sym}}}
\newcommand{\cycprod}{\prod_{\mathrm{cyc}}}
\newcommand{\symprod}{\prod_{\mathrm{sym}}}
%From H113 "Introduction to Abstract Algebra" at UC Berkeley
\newcommand{\CC}{\mathbb C} \newcommand{\CC}{\mathbb C}
\newcommand{\FF}{\mathbb F} \newcommand{\FF}{\mathbb F}
\newcommand{\NN}{\mathbb N} \newcommand{\NN}{\mathbb N}
\newcommand{\QQ}{\mathbb Q} \newcommand{\QQ}{\mathbb Q}
\newcommand{\RR}{\mathbb R} \newcommand{\RR}{\mathbb R}
\newcommand{\ZZ}{\mathbb Z} \newcommand{\ZZ}{\mathbb Z}
\newcommand{\charin}{\text{ char }}
\DeclareMathOperator{\sign}{sign}
\DeclareMathOperator{\Aut}{Aut} \DeclareMathOperator{\Aut}{Aut}
\DeclareMathOperator{\Inn}{Inn} \DeclareMathOperator{\Inn}{Inn}
\DeclareMathOperator{\Syl}{Syl} \DeclareMathOperator{\Syl}{Syl}
\DeclareMathOperator{\Gal}{Gal} \DeclareMathOperator{\Gal}{Gal}
\DeclareMathOperator{\GL}{GL} % General linear group \DeclareMathOperator{\GL}{GL}
\DeclareMathOperator{\SL}{SL} % Special linear group \DeclareMathOperator{\SL}{SL}
%From Kiran Kedlaya's "Geometry Unbound" %From Kiran Kedlaya's "Geometry Unbound"
\newcommand{\abs}[1]{\left\lvert #1 \right\rvert} \newcommand{\abs}[1]{\left\lvert #1 \right\rvert}
@ -209,188 +145,82 @@
\newcommand{\ray}[1]{\overrightarrow{#1}} \newcommand{\ray}[1]{\overrightarrow{#1}}
\newcommand{\seg}[1]{\overline{#1}} \newcommand{\seg}[1]{\overline{#1}}
%From M275 "Topology" at SJSU % From M275 "Topology" at SJSU
\newcommand{\id}{\mathrm{id}} \newcommand{\id}{\mathrm{id}}
\newcommand{\taking}[1]{\xrightarrow{#1}} \newcommand{\taking}[1]{\xrightarrow{#1}}
\newcommand{\inv}{^{-1}} \newcommand{\inv}{^{-1}}
%From M170 "Introduction to Graph Theory" at SJSU
\DeclareMathOperator{\diam}{diam}
\DeclareMathOperator{\ord}{ord} \DeclareMathOperator{\ord}{ord}
\newcommand{\defeq}{\overset{\mathrm{def}}{=}} \newcommand{\defeq}{\overset{\mathrm{def}}{=}}
%From the USAMO .tex files % From the USAMO .tex files
\newcommand{\ts}{\textsuperscript}
\newcommand{\dg}{^\circ} \newcommand{\dg}{^\circ}
\newcommand{\ii}{\item}
% From Math 55 and Math 145 at Harvard
\newenvironment{subproof}[1][Proof]{%
\begin{proof}[#1] \renewcommand{\qedsymbol}{$\blacksquare$}}%
{\end{proof}}
\newcommand{\liff}{\leftrightarrow} \newcommand{\liff}{\leftrightarrow}
\newcommand{\lthen}{\rightarrow} \newcommand{\lthen}{\rightarrow}
\newcommand{\opname}{\operatorname} \newcommand{\opname}{\operatorname}
\newcommand{\surjto}{\twoheadrightarrow} \newcommand{\surjto}{\twoheadrightarrow}
\newcommand{\injto}{\hookrightarrow} \newcommand{\injto}{\hookrightarrow}
\newcommand{\On}{\mathrm{On}} % ordinals \DeclareMathOperator{\Char}{char}
\DeclareMathOperator{\img}{im} % Image \DeclareMathOperator{\Dom}{Dom}
\DeclareMathOperator{\Img}{Im} % Image \DeclareMathOperator{\Fix}{\textit{Fix}\,}
\DeclareMathOperator{\coker}{coker} % Cokernel \DeclareMathOperator{\End}{End}
\DeclareMathOperator{\Coker}{Coker} % Cokernel \DeclareMathOperator{\existsone}{\exists !}
\DeclareMathOperator{\Ker}{Ker} % Kernel \DeclareMathOperator{\Hom}{Hom}
\DeclareMathOperator{\Imm}{Imm}
\DeclareMathOperator{\Ker}{Ker}
\DeclareMathOperator{\rank}{rank} \DeclareMathOperator{\rank}{rank}
\DeclareMathOperator{\Spec}{Spec} % spectrum \DeclareMathOperator{\MCD}{MCD}
\DeclareMathOperator{\Tr}{Tr} % trace \DeclareMathOperator{\Mor}{Mor}
\DeclareMathOperator{\pr}{pr} % projection \DeclareMathOperator{\mcm}{mcm}
\DeclareMathOperator{\ext}{ext} % extension \DeclareMathOperator{\tr}{tr}
\DeclareMathOperator{\pred}{pred} % predecessor
\DeclareMathOperator{\dom}{dom} % domain \let\oldemptyset\emptyset
\DeclareMathOperator{\ran}{ran} % range \let\emptyset\varnothing
\DeclareMathOperator{\Hom}{Hom} % homomorphism
\DeclareMathOperator{\Mor}{Mor} % morphisms \let\oldcirc\circ
\DeclareMathOperator{\End}{End} % endomorphism \let\circ\undefined
\DeclareMathOperator{\circ}{\oldcirc}
% Things Lie
\newcommand{\kb}{\mathfrak b} \let\oldexists\exists
\newcommand{\kg}{\mathfrak g} \let\exists\undefined
\newcommand{\kh}{\mathfrak h} \DeclareMathOperator{\exists}{\oldexists}
\newcommand{\kn}{\mathfrak n}
\newcommand{\ku}{\mathfrak u} \let\oldforall\forall
\newcommand{\kz}{\mathfrak z} \let\forall\undefined
\DeclareMathOperator{\Ext}{Ext} % Ext functor \DeclareMathOperator{\forall}{\oldforall}
\DeclareMathOperator{\Tor}{Tor} % Tor functor
\newcommand{\gl}{\opname{\mathfrak{gl}}} % frak gl group \let\oldnexists\nexists
\def\sl{\opname{\mathfrak{sl}}} % frak sl group chktex 6 \let\nexists\undefined
\DeclareMathOperator{\nexists}{\oldnexists}
% More script letters etc.
\newcommand{\SA}{\mathcal A} \let\oldland\land
\newcommand{\SB}{\mathcal B} \let\land\undefined
\newcommand{\SC}{\mathcal C} \DeclareMathOperator{\land}{\oldland}
\newcommand{\SF}{\mathcal F}
\newcommand{\SG}{\mathcal G} \let\oldlnot\lnot
\newcommand{\SH}{\mathcal H} \let\lnot\undefined
\newcommand{\OO}{\mathcal O} \DeclareMathOperator{\lnot}{\oldlnot}
\newcommand{\SCA}{\mathscr A} \let\oldlor\lor
\newcommand{\SCB}{\mathscr B} \let\lor\undefined
\newcommand{\SCC}{\mathscr C} \DeclareMathOperator{\lor}{\oldlor}
\newcommand{\SCD}{\mathscr D}
\newcommand{\SCE}{\mathscr E} \title{}
\newcommand{\SCF}{\mathscr F} \author{Gabriel Antonio Videtta}
\newcommand{\SCG}{\mathscr G} \date{\today}
\newcommand{\SCH}{\mathscr H}
\PassOptionsToPackage{usenames,svgnames,dvipsnames,table}{xcolor}
% Mathfrak primes \usepackage{xcolor}
\newcommand{\km}{\mathfrak m} \usepackage[colorlinks=true]{hyperref}
\newcommand{\kp}{\mathfrak p} \hypersetup{urlcolor=RubineRed,linkcolor=RoyalBlue,citecolor=ForestGreen}
\newcommand{\kq}{\mathfrak q} \usepackage[nameinlink]{cleveref}
%% Napkin commands \usepackage{amsthm}
\newcommand{\prototype}[1]{ \usepackage{thmtools}
\emph{{\color{red} Prototypical example for this section:} #1} \par\medskip \usepackage[framemethod=TikZ]{mdframed}
}
\newenvironment{moral}{% \mdfdefinestyle{mdbluebox}{%
\begin{mdframed}[linecolor=green!70!black]%
\bfseries\color{green!70!black}}%
{\end{mdframed}}
%%fakesection Asymptote setup
\ifevanasy
\ifevanpatchasy
\usepackage{patchasy}
\else
\usepackage{asymptote}
\fi
\begin{asydef}
defaultpen(fontsize(10pt));
size(8cm); // set a reasonable default
usepackage("amsmath");
usepackage("amssymb");
settings.tex="pdflatex";
settings.outformat="pdf";
// Replacement for olympiad+cse5 which is not standard
import geometry;
// recalibrate fill and filldraw for conics
void filldraw(picture pic = currentpicture, conic g, pen fillpen=defaultpen, pen drawpen=defaultpen)
{ filldraw(pic, (path) g, fillpen, drawpen); }
void fill(picture pic = currentpicture, conic g, pen p=defaultpen)
{ filldraw(pic, (path) g, p); }
// some geometry
pair foot(pair P, pair A, pair B) { return foot(triangle(A,B,P).VC); }
pair orthocenter(pair A, pair B, pair C) { return orthocentercenter(A,B,C); }
pair centroid(pair A, pair B, pair C) { return (A+B+C)/3; }
// cse5 abbreviations
path CP(pair P, pair A) { return circle(P, abs(A-P)); }
path CR(pair P, real r) { return circle(P, r); }
pair IP(path p, path q) { return intersectionpoints(p,q)[0]; }
pair OP(path p, path q) { return intersectionpoints(p,q)[1]; }
path Line(pair A, pair B, real a=0.6, real b=a) { return (a*(A-B)+A)--(b*(B-A)+B); }
// cse5 more useful functions
picture CC() {
picture p=rotate(0)*currentpicture;
currentpicture.erase();
return p;
}
pair MP(Label s, pair A, pair B = plain.S, pen p = defaultpen) {
Label L = s;
L.s = "$"+s.s+"$";
label(L, A, B, p);
return A;
}
pair Drawing(Label s = "", pair A, pair B = plain.S, pen p = defaultpen) {
dot(MP(s, A, B, p), p);
return A;
}
path Drawing(path g, pen p = defaultpen, arrowbar ar = None) {
draw(g, p, ar);
return g;
}
\end{asydef}
\fi
%%fakesection BEGIN MAIN SETUP
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifevansetup
%%fakesection Set up author and date
\ifevanauthor
\title{} % empty title to avoid crashes
\ifluatex
\author{Gabriel Antonio Videtta}
\else
\author{Gabriel Antonio Videtta}
\fi
\date{\today}
\fi
%%fakesection Hyperref
\ifevanpkg
\PassOptionsToPackage{usenames,svgnames,dvipsnames,table}{xcolor}
\usepackage{xcolor}
\ifevanhref
\usepackage[colorlinks=true]{hyperref}
\hypersetup{urlcolor=RubineRed,linkcolor=RoyalBlue,citecolor=ForestGreen}
\fi
\usepackage[nameinlink]{cleveref}
\fi
%%fakesection New theorem styles
\ifevanthm
\usepackage{amsthm}
\usepackage{thmtools}
\fi
\ifevanmdthm
\ifevanthm
%% theorem packages loaded already
\else
\usepackage{amsthm}
\usepackage{thmtools}
\fi
\usepackage[framemethod=TikZ]{mdframed}
\mdfdefinestyle{mdbluebox}{%
roundcorner=10pt, roundcorner=10pt,
linewidth=1pt, linewidth=1pt,
skipabove=12pt, skipabove=12pt,
@ -399,15 +229,15 @@
linecolor=blue, linecolor=blue,
nobreak=true, nobreak=true,
backgroundcolor=TealBlue!5, backgroundcolor=TealBlue!5,
} }
\declaretheoremstyle[ \declaretheoremstyle[
headfont=\sffamily\bfseries\color{MidnightBlue}, headfont=\sffamily\bfseries\color{MidnightBlue},
mdframed={style=mdbluebox}, mdframed={style=mdbluebox},
headpunct={\\[3pt]}, headpunct={\\[3pt]},
postheadspace={0pt} postheadspace={0pt}
]{thmbluebox} ]{thmbluebox}
\mdfdefinestyle{mdbluebox2}{% \mdfdefinestyle{mdbluebox2}{%
roundcorner=10pt, roundcorner=10pt,
linewidth=1pt, linewidth=1pt,
skipabove=12pt, skipabove=12pt,
@ -416,15 +246,15 @@
linecolor=blue, linecolor=blue,
nobreak=true, nobreak=true,
backgroundcolor=BlueViolet!9, backgroundcolor=BlueViolet!9,
} }
\declaretheoremstyle[ \declaretheoremstyle[
headfont=\sffamily\bfseries\color{RoyalPurple}, headfont=\sffamily\bfseries\color{RoyalPurple},
mdframed={style=mdbluebox2}, mdframed={style=mdbluebox2},
headpunct={\\[3pt]}, headpunct={\\[3pt]},
postheadspace={0pt} postheadspace={0pt}
]{thmbluebox2} ]{thmbluebox2}
\mdfdefinestyle{mdredbox}{% \mdfdefinestyle{mdredbox}{%
linewidth=0.5pt, linewidth=0.5pt,
skipabove=12pt, skipabove=12pt,
frametitleaboveskip=5pt, frametitleaboveskip=5pt,
@ -436,15 +266,15 @@
nobreak=true, nobreak=true,
backgroundcolor=Salmon!5, backgroundcolor=Salmon!5,
linecolor=RawSienna, linecolor=RawSienna,
} }
\declaretheoremstyle[ \declaretheoremstyle[
headfont=\bfseries\color{RawSienna}, headfont=\bfseries\color{RawSienna},
mdframed={style=mdredbox}, mdframed={style=mdredbox},
headpunct={\\[3pt]}, headpunct={\\[3pt]},
postheadspace={0pt}, postheadspace={0pt},
]{thmredbox} ]{thmredbox}
\mdfdefinestyle{mdredbox2}{% \mdfdefinestyle{mdredbox2}{%
roundcorner=10pt, roundcorner=10pt,
linewidth=1pt, linewidth=1pt,
skipabove=12pt, skipabove=12pt,
@ -453,15 +283,15 @@
linecolor=red, linecolor=red,
nobreak=true, nobreak=true,
backgroundcolor=WildStrawberry!5, backgroundcolor=WildStrawberry!5,
} }
\declaretheoremstyle[ \declaretheoremstyle[
headfont=\sffamily\bfseries\color{Maroon}, headfont=\sffamily\bfseries\color{Maroon},
mdframed={style=mdredbox2}, mdframed={style=mdredbox2},
headpunct={\\[3pt]}, headpunct={\\[3pt]},
postheadspace={0pt} postheadspace={0pt}
]{thmredbox2} ]{thmredbox2}
\mdfdefinestyle{mdgreenbox}{% \mdfdefinestyle{mdgreenbox}{%
skipabove=8pt, skipabove=8pt,
linewidth=2pt, linewidth=2pt,
rightline=false, rightline=false,
@ -470,17 +300,17 @@
bottomline=false, bottomline=false,
linecolor=ForestGreen, linecolor=ForestGreen,
backgroundcolor=ForestGreen!5, backgroundcolor=ForestGreen!5,
} }
\declaretheoremstyle[ \declaretheoremstyle[
headfont=\bfseries\sffamily\color{ForestGreen!70!black}, headfont=\bfseries\sffamily\color{ForestGreen!70!black},
bodyfont=\normalfont, bodyfont=\normalfont,
spaceabove=2pt, spaceabove=2pt,
spacebelow=1pt, spacebelow=1pt,
mdframed={style=mdgreenbox}, mdframed={style=mdgreenbox},
headpunct={ --- }, headpunct={ --- },
]{thmgreenbox} ]{thmgreenbox}
\mdfdefinestyle{mdgreenbox2}{% \mdfdefinestyle{mdgreenbox2}{%
roundcorner=10pt, roundcorner=10pt,
linewidth=1pt, linewidth=1pt,
skipabove=12pt, skipabove=12pt,
@ -489,15 +319,15 @@
linecolor=ForestGreen, linecolor=ForestGreen,
nobreak=true, nobreak=true,
backgroundcolor=ForestGreen!5, backgroundcolor=ForestGreen!5,
} }
\declaretheoremstyle[ \declaretheoremstyle[
headfont=\sffamily\bfseries\color{ForestGreen!70!black}, headfont=\sffamily\bfseries\color{ForestGreen!70!black},
mdframed={style=mdgreenbox2}, mdframed={style=mdgreenbox2},
headpunct={\\[3pt]}, headpunct={\\[3pt]},
postheadspace={0pt} postheadspace={0pt}
]{thmgreenbox2} ]{thmgreenbox2}
\mdfdefinestyle{mdblackbox}{% \mdfdefinestyle{mdblackbox}{%
skipabove=8pt, skipabove=8pt,
linewidth=3pt, linewidth=3pt,
rightline=false, rightline=false,
@ -506,16 +336,16 @@
bottomline=false, bottomline=false,
linecolor=black, linecolor=black,
backgroundcolor=RedViolet!5!gray!10, backgroundcolor=RedViolet!5!gray!10,
} }
\declaretheoremstyle[ \declaretheoremstyle[
headfont=\bfseries, headfont=\bfseries,
bodyfont=\normalfont\small, bodyfont=\normalfont\small,
spaceabove=0pt, spaceabove=0pt,
spacebelow=0pt, spacebelow=0pt,
mdframed={style=mdblackbox} mdframed={style=mdblackbox}
]{thmblackbox} ]{thmblackbox}
\mdfdefinestyle{mdblackbox2}{% \mdfdefinestyle{mdblackbox2}{%
skipabove=8pt, skipabove=8pt,
linewidth=3pt, linewidth=3pt,
rightline=false, rightline=false,
@ -524,137 +354,69 @@
bottomline=false, bottomline=false,
linecolor=gray, linecolor=gray,
backgroundcolor=RedViolet!5!gray!10, backgroundcolor=RedViolet!5!gray!10,
} }
\declaretheoremstyle[ \declaretheoremstyle[
headfont=\bfseries, headfont=\bfseries,
bodyfont=\normalfont\small, bodyfont=\normalfont\small,
spaceabove=0pt, spaceabove=0pt,
spacebelow=0pt, spacebelow=0pt,
mdframed={style=mdblackbox2} mdframed={style=mdblackbox2}
]{thmblackbox2} ]{thmblackbox2}
\newcommand{\listhack}{$\empty$\vspace{-2em}} \newcommand{\listhack}{$\empty$\vspace{-2em}}
\fi
\declaretheorem[%
%%fakesection Theorem setup
\ifevanthm
\theoremstyle{definition}
%Branching here: the option secthm changes theorems to be labelled by section
\ifevanmdthm
\ifevansecthm
\declaretheorem[%
style=thmbluebox,name=Teorema,numberwithin=section]{theorem} style=thmbluebox,name=Teorema,numberwithin=section]{theorem}
\else
\declaretheorem[% \declaretheorem[style=thmgreenbox2,name=Lemma,sibling=theorem]{lemma}
style=thmbluebox,name=Teorema]{theorem} \declaretheorem[style=thmredbox2,name=Proposizione,sibling=theorem]{proposition}
\fi \declaretheorem[style=thmbluebox2,name=Corollario,sibling=theorem]{corollary}
\declaretheorem[style=thmgreenbox2,name=Lemma,sibling=theorem]{lemma} \declaretheorem[style=thmbluebox,name=Teorema,numbered=no]{theorem*}
\declaretheorem[style=thmredbox2,name=Proposizione,sibling=theorem]{proposition} \declaretheorem[style=thmgreenbox2,name=Lemma,numbered=no]{lemma*}
\declaretheorem[style=thmbluebox2,name=Corollario,sibling=theorem]{corollary} \declaretheorem[style=thmredbox2,name=Proposizione,numbered=no]{proposition*}
\declaretheorem[style=thmbluebox,name=Teorema,numbered=no]{theorem*} \declaretheorem[style=thmbluebox2,name=Corollario,numbered=no]{corollary*}
\declaretheorem[style=thmgreenbox2,name=Lemma,numbered=no]{lemma*} \declaretheorem[style=thmgreenbox,name=Claim,sibling=theorem]{claim}
\declaretheorem[style=thmredbox2,name=Proposizione,numbered=no]{proposition*} \declaretheorem[style=thmgreenbox,name=Claim,numbered=no]{claim*}
\declaretheorem[style=thmbluebox2,name=Corollario,numbered=no]{corollary*} \declaretheorem[style=thmredbox,name=Esempio,sibling=theorem]{example}
\else \declaretheorem[style=thmredbox,name=Esempio,numbered=no]{example*}
\ifevansecthm \declaretheorem[style=thmblackbox, name=Definizione,sibling=theorem]{definition}
\declaretheorem[name=Teorema,numberwithin=section]{theorem} \declaretheorem[style=thmblackbox, name=Definizione,numbered=no]{definition*}
\else \declaretheorem[style=thmblackbox2,name=Osservazione,sibling=theorem]{remark}
\declaretheorem[name=Teorema]{theorem} \declaretheorem[style=thmblackbox2,name=Osservazione,numbered=no]{remark*}
\fi \declaretheorem[name=Congettura,sibling=theorem]{conjecture}
\declaretheorem[name=Lemma,sibling=theorem]{lemma} \declaretheorem[name=Congettura,numbered=no]{conjecture*}
\declaretheorem[name=Proposizione,sibling=theorem]{proposition} \declaretheorem[name=Esercizio,sibling=theorem]{exercise}
\declaretheorem[name=Corollario,sibling=theorem]{corollary} \declaretheorem[name=Esercizio,numbered=no]{exercise*}
\declaretheorem[name=Teorema,numbered=no]{theorem*} \declaretheorem[name=Asserzione,sibling=theorem]{fact}
\declaretheorem[name=Lemma,numbered=no]{lemma*} \declaretheorem[name=Asserzione,numbered=no]{fact*}
\declaretheorem[name=Proposizione,numbered=no]{proposition*} \declaretheorem[name=Problema,sibling=theorem]{problem}
\declaretheorem[name=Corollario,numbered=no]{corollary*} \declaretheorem[name=Problema,numbered=no]{problem*}
\fi \declaretheorem[name=Domanda,sibling=theorem]{ques}
\declaretheorem[name=Domanda,numbered=no]{ques*}
\ifevanmdthm
\declaretheorem[style=thmgreenbox,name=Claim,sibling=theorem]{claim} \Crefname{claim}{Claim}{Claim}
\declaretheorem[style=thmgreenbox,name=Claim,numbered=no]{claim*} \Crefname{conjecture}{Congettura}{Congetture}
\else \Crefname{exercise}{Esercizio}{Esercizi}
\declaretheorem[name=Claim,sibling=theorem]{claim} \Crefname{fact}{Asserzione}{Asserzioni}
\declaretheorem[name=Claim,numbered=no]{claim*} \Crefname{problem}{Problema}{Problemi}
\fi \Crefname{ques}{Domanda}{Domande}
\ifevanmdthm \addtokomafont{partprefix}{\rmfamily}
\declaretheorem[style=thmredbox,name=Esempio,sibling=theorem]{example} \renewcommand*{\partformat}{\color{purple}
\declaretheorem[style=thmredbox,name=Esempio,numbered=no]{example*}
\else
\declaretheorem[name=Esempio,sibling=theorem]{example}
\declaretheorem[name=Esempio,numbered=no]{example*}
\fi
% Remark-style theorems
%\theoremstyle{remark}
\ifevanmdthm
\declaretheorem[style=thmblackbox, name=Definizione,sibling=theorem]{definition}
\declaretheorem[style=thmblackbox, name=Definizione,numbered=no]{definition*}
\declaretheorem[style=thmblackbox2,name=Osservazione,sibling=theorem]{remark}
\declaretheorem[style=thmblackbox2,name=Osservazione,numbered=no]{remark*}
\else
\declaretheorem[name=Definizione,sibling=theorem]{definition}
\declaretheorem[name=Definizione,numbered=no]{definition*}
\declaretheorem[name=Osservazione,sibling=theorem]{remark}
\declaretheorem[name=Osservazione,numbered=no]{remark*}
\fi
\declaretheorem[name=Congettura,sibling=theorem]{conjecture}
\declaretheorem[name=Congettura,numbered=no]{conjecture*}
\declaretheorem[name=Esercizio,sibling=theorem]{exercise}
\declaretheorem[name=Esercizio,numbered=no]{exercise*}
\declaretheorem[name=Asserzione,sibling=theorem]{fact}
\declaretheorem[name=Asserzione,numbered=no]{fact*}
\declaretheorem[name=Problema,sibling=theorem]{problem}
\declaretheorem[name=Problema,numbered=no]{problem*}
\declaretheorem[name=Domanda,sibling=theorem]{ques}
\declaretheorem[name=Domanda,numbered=no]{ques*}
\ifevanpkg
\Crefname{claim}{Claim}{Claim}
\Crefname{conjecture}{Congettura}{Congetture}
\Crefname{exercise}{Esercizio}{Esercizi}
\Crefname{fact}{Asserzione}{Asserzioni}
\Crefname{problem}{Problema}{Problemi}
\Crefname{ques}{Domanda}{Domande}
\fi
\fi
%%fakesection Fancy section and chapter heads
\ifevancolorsec
\@ifundefined{KOMAClassName}{}{
\@ifundefined{chapter}{}{
\addtokomafont{partprefix}{\rmfamily}
\renewcommand*{\partformat}{\color{purple}
\scalebox{2.5}{\thepart}\enlargethispage{2em}} \scalebox{2.5}{\thepart}\enlargethispage{2em}}
\addtokomafont{chapterprefix}{\raggedleft}
\RedeclareSectionCommand[beforeskip=0.5em]{chapter} \renewcommand*{\sectionformat}%
\renewcommand*{\chapterformat}{\mbox{% {\color{purple}\S\thesection\enskip}
\scalebox{1.5}{\chapappifchapterprefix{\nobreakspace}}% \renewcommand*{\subsectionformat}%
\scalebox{2.718}{\color{purple}\thechapter}\enskip}} {\color{purple}\S\thesubsection\enskip}
} \renewcommand*{\subsubsectionformat}%
\renewcommand*{\sectionformat}% {\color{purple}\S\thesubsubsection\enskip}
{\color{purple}\S\thesection\enskip} \KOMAoptions{numbers=noenddot}
\renewcommand*{\subsectionformat}%
{\color{purple}\S\thesubsection\enskip} \usepackage{listings}
\renewcommand*{\subsubsectionformat}% \usepackage{mathrsfs}
{\color{purple}\S\thesubsubsection\enskip} \usepackage{textcomp}
\KOMAoptions{numbers=noenddot} \lstset{basicstyle=\ttfamily\scriptsize,
%\usetocstyle{KOMAlike}
}
\fi
%%fakesection Loads a bunch of useful packages (but allow disabling)
\ifevanpkg
\ifevanvonenabled
\IfFileExists{von.sty}{\usepackage{von}}{}
\fi
\usepackage{listings}
\usepackage{mathrsfs}
\usepackage{textcomp}
\lstset{basicstyle=\ttfamily\scriptsize,
backgroundcolor=\color{green!2!white}, backgroundcolor=\color{green!2!white},
breakatwhitespace=true, breakatwhitespace=true,
breaklines=true, breaklines=true,
@ -672,156 +434,39 @@
showstringspaces=false, showstringspaces=false,
stringstyle=\color{orange}, stringstyle=\color{orange},
tabsize=4, tabsize=4,
} % chktex 6 }
\lstdefinelanguage{gitcommit}{
alsoletter={:}, \usepackage[shortlabels]{enumitem}
morecomment=[l]{|}, \usepackage[obeyFinal,textsize=scriptsize,shadow]{todonotes}
morekeywords={commit,Author:,Date:,chore,doc,edit,feat,fix,polish,style,tests,}, \usepackage{textcomp}
sensitive=true, \usepackage{multirow}
} \usepackage{ellipsis}
\lstdefinelanguage{gitlog}{ \usepackage{mathtools}
morekeywords={chore,doc,edit,feat,fix,polish,style,tests,}, \usepackage{microtype}
morecomment=[s]{[}{]}, % chktex 9 \usepackage{xstring}
sensitive=true, \usepackage{wrapfig}
}
\addtokomafont{subtitle}{\Large}
\usepackage[shortlabels]{enumitem} \setkomafont{author}{\Large\scshape}
\usepackage[obeyFinal,textsize=scriptsize,shadow]{todonotes} \setkomafont{date}{\Large\normalsize}
\usepackage{textcomp}
\usepackage{multirow} \providecommand{\thetitle}{\@title}
\usepackage{ellipsis} % don't use ugly unicode ellipsis \providecommand{\theauthor}{\@author}
% Tiny optimizations: \providecommand{\thedate}{\@date}
\usepackage{mathtools}
\usepackage{microtype} \usepackage[headsepline]{scrlayer-scrpage}
\usepackage{xstring} \renewcommand{\headfont}{}
\usepackage{wrapfig} \addtolength{\textheight}{3.14cm}
\ifevanbritish\usepackage[cleanlook,british]{isodate}\fi % day-first date \setlength{\footskip}{0.5in}
\setlength{\headsep}{10pt}
% a list I like for walkthrough's --- Drew-style parts
\newlist{walk}{enumerate}{3} \ihead{\footnotesize\textbf{\rightmark}}
\setlist[walk]{label=\bfseries (\alph*)} \ohead{\footnotesize\textit{\thetitle}}
% list item for MO style rubrics
\newcommand{\worth}[1]{\def\hfill{\hskip 20pt plus 1fill}\dotfill% \automark{section}
\IfEq{#1}{0}{\textbf{0~points}}% \chead{}
{\textbf{\color{blue}#1~point\IfEndWith{#1}{1}{}{s}}}% \cfoot{\pagemark}
\par}
\newcommand{\subworth}[1]{\def\hfill{\hskip 20pt plus 1fill}\dotfill% \hfuzz=\maxdimen
\IfEq{#1}{0}{{\footnotesize0~points}}% \tolerance=10000
{\textbf{\footnotesize#1~point\IfEndWith{#1}{1}{}{s}}}% \hbadness=10000
\par}
\newlist{rubric}{enumerate}{2}
\setlist[rubric,1]{label=\Roman*.}
\setlist[rubric,2]{label=(\Roman{rubrici}.\alph*)}
\fi
%%fakesection \maketitle configuration
\@ifundefined{KOMAClassName}%
{} % do nothing outside KOMA class
{% If KOMA exists. . .
\addtokomafont{subtitle}{\Large}
\setkomafont{author}{\Large\scshape}
\setkomafont{date}{\Large\normalsize}
}
\providecommand{\thetitle}{\@title}
\providecommand{\theauthor}{\@author}
\providecommand{\thedate}{\@date}
%%fakesection Commutative diagrams support
\ifevandiagrams
\usepackage{tikz-cd}
\usetikzlibrary{decorations.pathmorphing}
\fi
%%fakesection Page setup
\ifevanfancy
\@ifundefined{KOMAClassName}
{
\usepackage{fancyhdr}
\setlength{\headheight}{0.75in}
\setlength{\oddsidemargin}{0in}
\setlength{\evensidemargin}{0in}
\setlength{\voffset}{-1.0in}
\setlength{\headsep}{10pt}
\setlength{\textwidth}{6.5in}
\setlength{\headwidth}{6.5in}
\setlength{\textheight}{8.75in}
\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
\setlength{\footskip}{0.3in}
\ifevanhdr
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0.0pt}
\pagestyle{fancy}
\lhead{Gabriel Antonio Videtta}
\chead{}
\rhead{\nouppercase{\leftmark}}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\fi
}
{
\usepackage[headsepline]{scrlayer-scrpage}
\renewcommand{\headfont}{}
\addtolength{\textheight}{3.14cm}
\setlength{\footskip}{0.5in}
\setlength{\headsep}{10pt}
\ihead{\footnotesize\textbf{\theauthor} --- \thedate}
\automark{section}
\chead{}
\ohead{\footnotesize\textbf{\thetitle}}
\cfoot{\pagemark}
}
\fi
%%fakesection Unicode
\ifevanpkg
\ifluatex
\usepackage{fontspec}
% https://tex.stackexchange.com/a/572220/76888
\directlua{luaotfload.add_fallback
("evans_fallbacks",
{
"NotoColorEmoji:mode=harf;",
"Source Han Sans TW:style=Regular;",
"Noto Serif CJK SC:style=Regular;",
}
)}
\setmainfont{lmroman10-regular}[
BoldFont=lmroman10-bold,
ItalicFont=lmroman10-italic,
BoldItalicFont=lmroman10-bolditalic,
SlantedFont=lmromanslant10-regular,
BoldSlantedFont=lmromanslant10-bold,
SmallCapsFont=lmromancaps10-regular,
RawFeature={fallback=evans_fallbacks}
]
\setsansfont{lmsans10-regular}[
BoldFont=lmsans10-bold,
ItalicFont=lmsans10-oblique,
BoldItalicFont=lmsans10-boldoblique,
RawFeature={fallback=evans_fallbacks}
]
\else
\ifevanchinese
\usepackage[italian]{babel}
\usepackage[encapsulated]{CJK}
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\newenvironment{bsmi}{\begin{CJK}{UTF8}{bsmi}}{\end{CJK}}
\newcommand{\cn}[1]{\begin{bsmi}#1\end{bsmi}}
\AtBeginDocument{\begin{CJK}{UTF8}{bsmi}}
\AtEndDocument{\end{CJK}}
\fi
\fi
\fi
%%fakesection Hints
\ifevanhints
\usepackage{answers}
\Newassociation{hint}{hintitem}{hints}
\renewcommand{\solutionextension}{out}
\Opensolutionfile{hints}
\newcommand{\makehints}{\Closesolutionfile{hints}\input{hints.out}} % chktex 27
\fi
%%fakesection END MAIN SETUP
\fi

Loading…
Cancel
Save