Skip to content

Commit

Permalink
Merge pull request #6 from mdbrnowski/adjustments
Browse files Browse the repository at this point in the history
Adjustments (mostly design)
  • Loading branch information
mdbrnowski authored Sep 6, 2023
2 parents 9d2598b + 9d9fae6 commit 8f08c94
Show file tree
Hide file tree
Showing 24 changed files with 335 additions and 194 deletions.
102 changes: 59 additions & 43 deletions mystd.sty
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
\ProvidesPackage{mystd}

\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{fontspec}
\newfontfamily{\cyrillic}[
UprightFont=*rm,
BoldFont=*bx,
ItalicFont=*ti,
BoldItalicFont=*bi,
Extension=.otf,
Ligatures=TeX
]{cmun}
\setmonofont{JetBrainsMono}[
Path=./fonts/,
Scale=0.85,
Extension = .ttf,
Extension=.ttf,
UprightFont=*-Regular,
BoldFont=*-Bold,
ItalicFont=*-Italic,
Expand All @@ -16,13 +22,20 @@
\usepackage{amsmath,amssymb,amsthm,amsfonts}
\usepackage[svgnames,dvipsnames]{xcolor}

\definecolor{MainColor1}{HTML}{BF0040} %#BF0040
\definecolor{AccColor1}{HTML}{C41E3A} %#C41E3A
\definecolor{AccColor2}{HTML}{233F8D} %#233F8D
\definecolor{AccColor3}{HTML}{D19820} %#D19820
\definecolor{AccColor4}{HTML}{148670} %#148670

\definecolor{LinkColor1}{HTML}{2653C3} %#2653C3
\definecolor{LinkColor2}{HTML}{0C3291} %#0C3291
\colorlet{ColAccGood}{AccColor4} %#148670
\definecolor{ColAccBad}{HTML}{D14B20} %#D14B20

\definecolor{BoxColor1}{HTML}{092877} %#092877
\definecolor{BoxColor2}{HTML}{B24A00} %#B24A00
\colorlet{MainColor}{AccColor1} %#C41E3A
\definecolor{LinkColor1}{HTML}{329B71} %#329B71
\colorlet{LinkColor2}{AccColor2} %#233F8D

\definecolor{BoxColor1}{HTML}{081D56} %#081D56
\definecolor{BoxColor2}{HTML}{A8760F} %#A8760F

\usepackage[colorlinks=true]{hyperref}
\hypersetup{urlcolor=LinkColor1,linkcolor=LinkColor2,citecolor=LinkColor2}
Expand All @@ -31,13 +44,18 @@
\usepackage{relsize}
\usepackage{yhmath} % for wideparen
\usepackage{esint} % better integrals
\usepackage{nicematrix}
\usepackage{graphicx}
\usepackage{float}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\usepackage{tkz-euclide}
\usetikzlibrary{shapes.geometric,calc,positioning,fit,decorations.markings}

\usetikzlibrary{math,shapes.geometric,calc,positioning,fit,decorations.markings}
\tikzset{>=latex}
\usepackage{nicematrix}
\NiceMatrixOptions{
custom-line={letter=I, tikz=densely dashed, total-width=\pgflinewidth},
custom-line={letter=S, tikz=solid, total-width=\pgflinewidth}
}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

Expand Down Expand Up @@ -85,18 +103,12 @@
\renewcommand{\iff}{\Leftrightarrow}
\renewcommand{\implies}{\Rightarrow}

\newcommand{\vocab}[1]{\textbf{\color{MainColor1} #1}}
\newcommand{\vocab}[1]{\emph{\color{MainColor} #1}}
\newcommand{\hrulebar}{
\par\hspace{\fill}\rule{0.95\linewidth}{.7pt}\hspace{\fill}
\par\nointerlineskip \vspace{\baselineskip}
}

\ifstdpolish
\newenvironment{solution}{\begin{proof}[Rozwiązanie]}{\end{proof}}
\else
\newenvironment{solution}{\begin{proof}[Solution]}{\end{proof}}
\fi

\newcommand{\NN}{\mathbb N}
\newcommand{\ZZ}{\mathbb Z}
\newcommand{\QQ}{\mathbb Q}
Expand Down Expand Up @@ -144,16 +156,22 @@
\renewcommand{\partname}{}
}

\ifstdpolish
\newenvironment{solution}{\begin{proof}[Rozwiązanie]\small}{\end{proof}}
\else
\newenvironment{solution}{\begin{proof}[Solution]\small}{\end{proof}}
\fi

\ifstdthm
\usepackage[framemethod=TikZ]{mdframed}
\mdfdefinestyle{mdbluebox}{%
linewidth=0.5pt,
skipabove=12pt,
innerbottommargin=9pt,
skipbelow=2pt,
nobreak=true,
linewidth=0.5pt,
innerbottommargin=9pt,
linecolor=BoxColor1,
backgroundcolor=BoxColor1!5,
nobreak=true
}
\declaretheoremstyle[
headfont=\sffamily\bfseries\color{BoxColor1},
Expand All @@ -162,23 +180,22 @@
postheadspace={0pt}
]{thmbluebox}
\mdfdefinestyle{mdredbox}{%
linewidth=0.5pt,
skipabove=12pt,
frametitleaboveskip=5pt,
frametitlebelowskip=0pt,
skipbelow=2pt,
frametitlefont=\bfseries,
innertopmargin=4pt,
innerbottommargin=8pt,
nobreak=true,
skipabove=8pt,
linewidth=2pt,
rightline=false,
leftline=true,
topline=false,
bottomline=false,
linecolor=BoxColor2,
backgroundcolor=BoxColor2!5,
nobreak=true
}
\declaretheoremstyle[
headfont=\bfseries\color{BoxColor2},
bodyfont=\normalfont\small,
mdframed={style=mdredbox},
headpunct={\\[3pt]},
postheadspace={0pt},
postheadspace={0pt}
]{thmredbox}
\mdfdefinestyle{mdblackbox}{%
skipabove=8pt,
Expand All @@ -193,9 +210,9 @@
\declaretheoremstyle[
headfont=\bfseries,
bodyfont=\normalfont\small,
mdframed={style=mdblackbox},
spaceabove=0pt,
spacebelow=0pt,
mdframed={style=mdblackbox}
spacebelow=0pt
]{thmblackbox}
\else
\declaretheoremstyle[headfont=\bfseries,bodyfont=\normalfont,spaceabove=\topsep,spacebelow=\topsep]{thmbluebox}
Expand Down Expand Up @@ -256,20 +273,20 @@
\ifstdcolorsec
\@ifundefined{chapter}{}{
\addtokomafont{partprefix}{\rmfamily}
\renewcommand*{\partformat}{\color{MainColor1}
\renewcommand*{\partformat}{\color{MainColor}
\scalebox{2.5}{\thepart}\enlargethispage{2em}}
\addtokomafont{chapterprefix}{\raggedleft}
\RedeclareSectionCommand[beforeskip=0.5em]{chapter}
\renewcommand*{\chapterformat}{\mbox{%
\scalebox{1.5}{\chapappifchapterprefix{\nobreakspace}}%
\scalebox{2.718}{\color{MainColor1}\thechapter}\enskip}}
\scalebox{2.718}{\color{MainColor}\thechapter}\enskip}}
}
\renewcommand*{\sectionformat}%
{\color{MainColor1}\S\thesection\enskip}
{\color{MainColor}\S\thesection\enskip}
\renewcommand*{\subsectionformat}%
{\color{MainColor1}\S\thesubsection\enskip}
{\color{MainColor}\S\thesubsection\enskip}
\renewcommand*{\subsubsectionformat}%
{\color{MainColor1}\S\thesubsubsection\enskip}
{\color{MainColor}\S\thesubsubsection\enskip}
\KOMAoptions{numbers=noenddot}
\fi

Expand All @@ -295,16 +312,15 @@
frame=none
}
\usepackage[shortlabels]{enumitem}
\usepackage{textcomp}
\usepackage{multirow}
\usepackage{multicol}
% Tiny optimizations:
\usepackage{mathtools}
\usepackage{microtype}

\addtokomafont{subtitle}{\Large}
\setkomafont{author}{\Large\scshape}
\setkomafont{date}{\Large\normalsize}
\setkomafont{author}{\Large\slshape}
\setkomafont{date}{\small}
\setkomafont{caption}{\small}
\providecommand{\thetitle}{\@title}
\providecommand{\theauthor}{\@author}
\providecommand{\thedate}{\@date}
Expand All @@ -313,8 +329,8 @@
\addtolength{\textheight}{3.14cm}
\setlength{\footskip}{0.5in}
\setlength{\headsep}{10pt}
\ihead{\footnotesize\textbf{\theauthor}}
\automark{section}
\ihead{\footnotesize\textsl{\textbf{\theauthor}}}
\chead{}
\ohead{\footnotesize\textbf{\thetitle}}
\cfoot{\pagemark}
Expand Down
22 changes: 10 additions & 12 deletions src/algebra/algebra.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,23 @@
\usepackage[pretty,polish]{mystd}
\title{Algebra}
\author{Michał Dobranowski}
\date{semestr zimowy 2022 \\ v0.21}
\date{semestr zimowy 2022 \\ v1.0}

\DeclareMathOperator{\Arg}{Arg}
\DeclareMathOperator{\Lin}{Lin}
\DeclareMathOperator{\Ker}{Ker}
\DeclareMathOperator{\nullity}{null}
\newcommand{\gr}{\ensuremath{\operatorname{gr}\!}}

% highlight for matrix
\tikzset{highlight/.style={rectangle,
fill=AccColor1,
opacity=0.25,
rounded corners=0.5mm,
inner sep=1.7pt,
fit=#1}
}

\begin{document}
\maketitle
\begin{abstract}
Expand All @@ -30,17 +39,6 @@
\subsection{Przestrzenie wektorowe}
\input{lec4_vector_spaces.tex}

% highlight for matrix
\tikzset{highlight/.style={rectangle,
fill=MainColor1!15,
rounded corners = 0.6 mm,
inner sep=1pt,
fit=#1}}
\NiceMatrixOptions{
custom-line = {letter = I, tikz = densely dashed, total-width = \pgflinewidth},
custom-line = {letter = S, tikz = solid, total-width = \pgflinewidth}
}

\section{Macierze}
\input{lec5_matrices.tex}

Expand Down
30 changes: 15 additions & 15 deletions src/algebra/lec10_geometry.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
W tej sekcji skupimy się na przestrzeni $\RR^3(\RR)$, w której wektory będziemy interpretować często jako punkty lub wektory zaczepione w środku układu współrzędnych. Przez $\RR^n$ oznaczymy zbiór punktów, a przez $\overrightarrow{\RR^n}$ zbiór wektorów. W przestrzeni $\RR^3$ osie \vocab{prawoskrętnego}\footnote{to znaczy zgodnego z regułą prawej ręki --- wnętrze obracającej się dłoni zakreśla łuk od osi $OX$ do $OY$, przy czym kciuk ma zwrot zgodny z osią $OZ$} układu współrzędnych $(x, y, z)$ będą rozpięte przez \vocab{wersory} (wektory o jednostkowej długości):
W tej sekcji skupimy się na przestrzeni $\RR^3(\RR)$, w której wektory będziemy interpretować często jako punkty lub wektory zaczepione w środku układu współrzędnych. Przez $\RR^n$ oznaczymy zbiór punktów, a przez $\overrightarrow{\RR^n}$ zbiór wektorów. W przestrzeni $\RR^3$ osie \vocab{prawoskrętnego}\footnote{To znaczy zgodnego z regułą prawej ręki --- wnętrze obracającej się dłoni zakreśla łuk od osi $OX$ do $OY$, przy czym kciuk ma zwrot zgodny z osią $OZ$.} układu współrzędnych $(x, y, z)$ będą rozpięte przez \vocab{wersory} (wektory o~jednostkowej długości):
\[ \mathbf{\hat{i}} = (1, 0, 0), \quad \mathbf{\hat{j}} = (0, 1, 0), \quad \mathbf{\hat{k}} = (0, 0, 1). \]

\begin{definition}
Expand Down Expand Up @@ -53,7 +53,7 @@
Równość zachodzi tylko w przypadku, gdy $\alpha = 0$, czyli gdy $\mathbf{u}, \mathbf{v}$ są liniowo zależne.
\end{proof}

\begin{corollary}[Nierówność trójkąta]
\begin{corollary}[nierówność trójkąta]
\label{c:triangle inequality}
Dla dowolnych wektorów $\mathbf{u}, \mathbf{v} \in E_n$ zachodzi nierówność
\[ \Vert \mathbf{u} + \mathbf{v} \Vert \leq \Vert \mathbf{u} \Vert + \Vert \mathbf{v} \Vert, \]
Expand Down Expand Up @@ -185,7 +185,7 @@ \subsection{Przestrzeń trójwymiarowa}
gdzie $\Vert\mathbf{u}\times\mathbf{v}\Vert$ to pole równoległoboku rozpiętego przez wektory $\mathbf{u}, \mathbf{v}$, jak na rysunku poniżej.

\begin{center}
\begin{tikzpicture}[vect/.style={->,>=latex',thick,MainColor1}]
\begin{tikzpicture}[vect/.style={->,>=latex',thick,AccColor1}]
\def\a{3}
\def\bx{1.7} \def\by{.8}
\def\cx{.9} \def\cy{2.5}
Expand Down Expand Up @@ -289,7 +289,7 @@ \subsection{Odległości}
\[ d(\Phi, \Psi) = \min_{A \in \Phi, B \in \Psi} d(A, B) \]
Z twierdzenia Pitagorasa wynika, że wektor między tymi dwoma punktami będzie prostopadły do powierzchni obu danych figur.

\begin{theorem}[Odległość punktu od płaszczyzny]
\begin{theorem}[odległość punktu od płaszczyzny]
\label{t:distance between point and plane}
Odległość punktu $Q = (x_1, y_1, z_1)$ od płaszczyzny $\pi : Ax + Bx + Cx + D = 0$ jest równa
\[ d(Q, \pi) = \frac{|Ax_1 + By_1 + Cz_1 + D|}{\sqrt{A^2 + B^2 + C^2}}. \]
Expand All @@ -312,7 +312,7 @@ \subsection{Odległości}

Jeśli szukamy odległości między dwoma płaszczyznami, to wystarczy sprawdzić, czy są one równoległe (to znaczy, czy ich wektory normalne są równoległe). Jeśli nie, to odległość jest oczywiście zerowa; w przeciwnym wypadku wystarczy wziąć dowolny punkt z jednej płaszczyzny i znaleźć odległość między tym punktem a drugą płaszczyzną.

\begin{theorem}[Odległość punktu od prostej]
\begin{theorem}[odległość punktu od prostej]
Odległość punktu $Q$ od prostej $l$ jest równa
\[ d(Q, l) = \frac{\Vert \mathbf{v} \times \overrightarrow{LQ}\Vert}{\Vert\mathbf{v}\Vert}, \]
gdzie $\mathbf{v}$ jest wektorem kierunkowym prostej $l$, a $L \in l$.
Expand All @@ -325,11 +325,11 @@ \subsection{Odległości}
\tkzDefPoints{2/5/Q,-1/3/L,1/2/L'}
\tkzDefPointBy[projection = onto L--L'](Q) \tkzGetPoint{H}
\tkzDefPointBy[translation = from L to L'](Q) \tkzGetPoint{Q'}
\tkzFillPolygon[color=MainColor1!10](L,L',Q',Q)
\tkzFillPolygon[color=AccColor1, opacity=0.2](L,L',Q',Q)
\tkzDrawLine[add= .5 and .5](L,L')
\tkzDrawSegment[dashed](Q,H)
\tkzDrawSegments[MainColor1, vector style](L,Q L,L')
\tkzDrawSegments[dotted, MainColor1](L',Q' Q,Q')
\tkzDrawSegments[AccColor1, vector style](L,Q L,L')
\tkzDrawSegments[dotted, AccColor1](L',Q' Q,Q')
\tkzDrawPoints(Q, L)
\tkzLabelSegment[swap](L,L'){$\mathbf{v}$}
\tkzLabelPoints[above right](Q)
Expand All @@ -343,7 +343,7 @@ \subsection{Odległości}

Jeśli dwie proste są równoległe, to odległość między nimi można obliczyć przez wzięcie dowolnego punktu z jednej prostej i obliczenie jego odległości od drugiej prostej. Jeśli proste się przecinają, to odległość między nimi jest zerowa. Sytuacja się komplikuje, jeśli dane dwie proste nie są równoległe lub przecinające się (to znaczy są \vocab{skośne}).

\begin{theorem}[Odległość prostych skośnych]
\begin{theorem}[odległość prostych skośnych]
\label{t:distance between lines}
Niech $l_1, l_2$ są prostymi skośnymi. Odległość między nimi jest równa
\[ d(l_1, l_2) = \frac{|(\mathbf{v} \times \mathbf{u}) \circ \overrightarrow{L_1L_2}|}{\Vert\mathbf{v}\times\mathbf{u}\Vert}, \]
Expand All @@ -358,7 +358,7 @@ \subsection{Odległości}
\end{proof}

\subsection{Przykłady}
\begin{example}[Współliniowość punktów]
\begin{example}[współliniowość punktów]
Sprawdź, czy punkty $A = (1, 0, 2), B = (3, 1, -1), C = (-1, -1, 5)$ są współliniowe.
\end{example}
\begin{solution}
Expand All @@ -367,11 +367,11 @@ \subsection{Przykłady}
z czego wynika, że punkty $A, B, C$ są współliniowe.
\end{solution}

\begin{example}[Współpłaszczyznowość punktów]
\begin{example}[współpłaszczyznowość punktów]
Sprawdź, czy punkty $A = (0, 2, 2), B = (2, 1, 0), C = (3, -1, 2), D = (1, -2, 3)$ są współpłaszczyznowe.
\end{example}
\begin{solution}
Punkty $A, B, C, D$ są współpłaszczyznowe wtedy i tylko wtedy, gdy wektory $\overrightarrow{AB}, \overrightarrow{AC}, \overrightarrow{AD}$ rozpinają równoległościan o zerowej objętości. Na podstawie twierdzenia \ref{t:volume of parallelepiped} i faktu \ref{f:triple product} wystarczy obliczyć
Punkty $A, B, C, D$ są współpłaszczyznowe wtedy i tylko wtedy, gdy wektory $\overrightarrow{AB}, \overrightarrow{AC}, \overrightarrow{AD}$ rozpinają równoległościan o zerowej objętości. Na podstawie twierdzenia \ref{t:volume of parallelepiped} i~faktu \ref{f:triple product} wystarczy obliczyć
\[ \begin{vmatrix}
\overrightarrow{AB} \\
\overrightarrow{AC} \\
Expand All @@ -384,7 +384,7 @@ \subsection{Przykłady}
z czego wynika, że punkty $A, B, C, D$ nie są współpłaszczyznowe.
\end{solution}

\begin{example}[Wzajemne położenie prostych, odległość]
\begin{example}[wzajemne położenie prostych, odległość]
Zbadaj wzajemne położenie prostych
\[ l_1 : \begin{cases}
x = 1 - 3t \\
Expand All @@ -410,7 +410,7 @@ \subsection{Przykłady}
Z tego wynika również, że proste są skośne; nie są przecinające się, bo $d(l_1, l_2) \neq 0$.
\end{solution}

\begin{example}[Wzajemne położenie prostych, wspólna płaszczyzna]
\begin{example}[wzajemne położenie prostych, wspólna płaszczyzna]
Zbadaj wzajemne położenie prostych
\[ l_1 : \begin{cases}
x = t \\
Expand Down Expand Up @@ -454,4 +454,4 @@ \subsection{Przykłady}
Podobnie, jeśli chcemy znaleźć rzut prostokątny punktu $P$ na płaszczyznę $\pi$, to należy znaleźć prostą $l$ taką, że $l \perp \pi$ oraz $P \in l$ (jak poprzednio, wektor kierunkowy szukanej prostej będzie wektorem normalnym płaszczyzny $\pi$).
\end{remark*}

Zastosowanie powyższej uwagi niech będzie ćwiczeniem dla Czytelnika\footnote{który z pewnością zauważył już, że wykorzystaliśmy ją w dowodzie twierdzenia \ref{t:distance between point and plane}}.
Zastosowanie powyższej uwagi niech będzie ćwiczeniem dla Czytelnika\footnote{Który to Czytelnik z pewnością zauważył już, że wykorzystaliśmy ją w dowodzie twierdzenia \ref{t:distance between point and plane}.}.
4 changes: 2 additions & 2 deletions src/algebra/lec11_linear_map.tex
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
Dla każdego odwzorowania liniowego $f : V \to W$, jądro $f$ jest podprzestrzenią $V$, a obraz $f$ jest podprzestrzenią $W$.
\end{fact}

Wymiar jądra pewnego odwzorowania $f$ nazywamy \vocab{zerowością} i oznaczamy $\nullity f$, a wymiar jego obrazu nazywamy \vocab{rzędem} i oznaczamy $\rank f$.
Wymiar jądra pewnego odwzorowania $f$ nazywamy \vocab{zerowością} i oznaczamy $\nullity f$, a~wymiar jego obrazu nazywamy \vocab{rzędem} i oznaczamy $\rank f$.

\begin{example}
Weźmy odwzorowanie $f : \RR^3 \to \RR^2$ takie, że
Expand Down Expand Up @@ -268,7 +268,7 @@ \subsection{Macierze odwzorowań liniowych}
\begin{solution}
Z twierdzenia \ref{t:changing transformation matrix when changing bases} mamy
\[ M_f(B_1, B_2) = P_{B_2 \to B_2'} \cdot M_f(B_1', B_2') \cdot P_{B_1' \to B_1}. \]
Macierz przejścia $B_2 \to B_2'$ jest bardzo łatwo wyznaczyć, ponieważ $B_2$ to baza kanoniczna. W przypadku macierzy przejścia $B_1' \to B_1$ najłatwiej będzie wyznaczyć jej odwrotność, ponieważ $B_1$ jest bazą kanoniczną. Mamy więc
Macierz przejścia $B_2 \to B_2'$ jest bardzo łatwo wyznaczyć, ponieważ $B_2$ to baza kanoniczna. W~przypadku macierzy przejścia $B_1' \to B_1$ najłatwiej będzie wyznaczyć jej odwrotność, ponieważ $B_1$ jest bazą kanoniczną. Mamy więc
\[ M_f(B_1, B_2) = \begin{bmatrix}
1 & -1 \\
1 & 1
Expand Down
Loading

0 comments on commit 8f08c94

Please sign in to comment.