Generuj zestaw zadań
import os
import sys
from random import choice
import ipywidgets as widgets
from IPython.display import display, Image, Markdown, Latex
from pdf2image import convert_from_path
import generator_zadan.generatory as gz
print(gz.__version__)
0.2.10
Wybierz zadania
Wskazówka
Można komórki uruchamiać wielokrotnie. Aż się trafi ciekawszy przykład.
Można zmieniać parametry funkcji generujących.
Zmień
zadanie_nrna odpowiednio rozróżnialnezadanie_1,zadanie_2itp. Tylko te będą potem przekazywane do funkcji generującej zestaw. Domyślnie pięć zadań. Można to zmienić niżej przy wywołaniu funkcji generuj_LaTeX().Na potrzeby dokumentacji na początku numery ustawione ma pierwszych pięć przykładów.
Liczby zespolone
Równanie liniowe
Show code cell source
zadanie = gz.rownanie_liniowe()
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n')[0].replace('\\', '')))
display(Latex('$$' + zadanie[0].split('\n')[2] + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex('$' + zadanie[1] + '$'))
zadanie_1 = zadanie
** Zadanie ************************************************************************************
Rozwiązać równanie w zbiorze liczb zespolonych. Sprawdzić rozwiązanie.
** Rozwiązanie ********************************************************************************
Równanie kwadratowe
Show code cell source
zadanie = gz.rownanie_kwadratowe()
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n')[0].replace('\\', '')))
display(Latex('$$' + zadanie[0].split('\n')[2] + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex('$' + zadanie[1] + '$'))
zadanie_2 = zadanie
** Zadanie ************************************************************************************
Rozwiązać równanie w zbiorze liczb zespolonych. Sprawdzić jedno z rozwiązań.
** Rozwiązanie ********************************************************************************
Pierwiastek zespolony
Show code cell source
zadanie = gz.pierwiastek_zespolony(stopien=choice([3, 4]), nr_zadania=1234)
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n')[0].replace('\\', '')))
display(Latex('$$' + zadanie[0].split('\[')[1].split('\]')[0] + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
temp = zadanie[1].split('\n\t')[2] + zadanie[1].split('\n\t')[5][4:]
display(Latex(f'$${temp}$$'))
display(Markdown(f''))
print("\033[32m*\033[0m" * 95)
zadanie_3 = zadanie
** Zadanie ************************************************************************************
Wyznaczyć wszystkie zadane pierwiastki zespolone i zaznaczyć je na płaszczyźnie zespolonej
** Rozwiązanie ********************************************************************************

***********************************************************************************************
Równanie zespolone ze sprzężeniem
Show code cell source
zadanie = gz.rownanie_ze_sprzezeniem(calkowite=choice([False, True]), kwadratowe=choice([False, True]))
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n')[0].replace('\\', '')))
display(Latex('$$' + zadanie[0].split('\n')[2] + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
rozwiazanie = zadanie[1].replace('$ \\\\ \n$', ' $ ').replace('$\\\\\n$', ' $ ').replace('$ \\\\\n$', ' $ ').split('$')
for i in range(1, len(rozwiazanie) - 1):
display(Latex('$$' + rozwiazanie[i] + '$$'))
zadanie_2 = zadanie
** Zadanie ************************************************************************************
Rozwiązać równanie w zbiorze liczb zespolonych
** Rozwiązanie ********************************************************************************
Obszar zespolony
Show code cell source
zadanie = gz.obszar_zespolony(typ=choice([1, 2, 3, 4, 5]), nr_zadania=1234)
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n')[0].replace('\\', '')))
display(Latex('$$' + zadanie[0].split('\[')[1].split('\]')[0] + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex('$$\\begin{gather*}' + zadanie[1].split('{gather*}')[1] + '{gather*}$$'))
display(Markdown(f''))
zadanie_4 = zadanie
** Zadanie ************************************************************************************
Zaznaczyć na płaszczyźnie zespolonej obszar spełniający warunek
** Rozwiązanie ********************************************************************************

Działania w różnych postaciach
zadanie = gz.dzialania_zespolone()
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n\t')[0]))
display(Latex('$$' + (zadanie[0].split('\n\t')[2]) + '$$'))
display(Markdown(zadanie[0].split('\n\t')[4]))
print("\033[34m*\033[0m" * 95)
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex('$$' + zadanie[1].split('$')[1] + '$$'))
print("\033[32m*\033[0m" * 95)
zadanie_5 = zadanie
** Zadanie ************************************************************************************
Obliczyć
Wynik zapisać w postaci algebraicznej, trygonometrycznej i wykładniczej.
***********************************************************************************************
** Rozwiązanie ********************************************************************************
***********************************************************************************************
Macierze
Wyznacznik
zadanie = gz.wyznacznik(wymiar=choice([4,5,6]))
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0][:30].replace('A', '*A*')))
display(Latex(zadanie[0][30:]))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex(zadanie[1].replace("$", "$$")))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Obliczyć wyznacznik macierzy A
** Rozwiązanie ********************************************************************************
Równanie macierzowe
Show code cell source
print("\033[34m** Zadanie **" + '*' * 81 + '\033[0m')
zadanie = gz.rownanie_macierzowe()
display(Markdown(zadanie[0].split(':')[0]))
display(Latex(zadanie[0].split(':')[1]))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex(zadanie[1].replace('$ \\\\ \n\t$', ',\\quad ').replace('$', '$$')))
zadanie_3 = zadanie
** Zadanie ***********************************************************************************
Rozwiązać równanie
** Rozwiązanie ********************************************************************************
Wyznacznik z parametrem
Show code cell source
zadanie = gz.wyznacznik_parametr(wymiar=choice([2, 3, 4]), gotowiec=True)
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0][:91].replace('\\ ', ' ').replace('$', '*')))
display(Latex(zadanie[0][91:]))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex(zadanie[1].replace('$ \\\\ \n\t$', ',\\quad ').replace('$', '$$')))
zadanie_4 = zadanie
** Zadanie ************************************************************************************
Dla jakich rzeczywistych wartości parametru x wyznacznik macierzy A jest różny od zera?
** Rozwiązanie ********************************************************************************
Macierz odwrotna z parametrem
Show code cell source
zadanie = gz.macierz_odwrotna_parametr(wymiar=choice([2, 3, 4]), gotowiec=True)
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0][:79].replace('$', '*')))
display(Latex(zadanie[0][79:].split('W')[0]))
display(Markdown('W' + zadanie[0][79:].split('W')[1].replace('$', '*')))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
rozwiazanie = zadanie[1].replace('$\\\\\n\t$', ' $ ').split('$')
for i in range(1, len(rozwiazanie) - 1):
display(Latex('$$' + rozwiazanie[i] + '$$'))
zadanie_5 = zadanie
** Zadanie ************************************************************************************
Dla jakich rzeczywistych wartości parametru x macierz A posiada odwrotność?
Wyznaczyć macierz odwrotną dla x=-1.
** Rozwiązanie ********************************************************************************
Wektor własne
Show code cell source
zadanie = gz.wartosci_wlasne(wymiar=choice([2, 3, 4]), zespolone=choice([False, True]))
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0][:51]))
display(Latex(zadanie[0][51:]))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex(zadanie[1].split(', \quad')[0].replace("$", "$$")))
display(Markdown("Wartości własne"))
display(Latex("$$" + (zadanie[1].split(', \quad')[1]).split("$")[1] + "$$"))
display(Markdown("Wektory własne"))
display(Latex("$$" + (zadanie[1].split(', \quad')[1]).split("$")[3] + "$$"))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Wyznaczyć wartości własne i wektory własne macierzy
** Rozwiązanie ********************************************************************************
Wartości własne
Wektory własne
Rząd macierzy
Show code cell source
zadanie = gz.rzad_macierzy()
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0][:25].replace('A', '*A*')))
display(Latex(zadanie[0][25:]))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex(zadanie[1].replace("$", "$$")))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Wyznaczyć rząd macierzy A
** Rozwiązanie ********************************************************************************
Diagonalizacja macierzy
Show code cell source
zadanie = gz.diagonalizacja_macierzy(choice([2, 3, 4]))
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0][:53]))
display(Latex(zadanie[0][53:]))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex(zadanie[1].split(', \quad')[0].replace("$", "$$")))
display(Markdown("Wartości własne"))
display(Latex("$$" + (zadanie[1].split(', \quad')[1]).split("$")[1] + "$$"))
display(Markdown("Wektory własne"))
display(Latex("$$" + (zadanie[1].split(', \quad')[1]).split("$")[3] + "$$"))
display(Markdown("Diagonalizacja:"))
try:
display(Latex("$$" + (zadanie[1].split(', \quad')[1]).split("$")[5]
+ '\quad ' + (zadanie[1].split(', \quad')[1]).split("$")[7] + "$$"))
except Exception:
display(Markdown("Macierz nie jest diagonalizowalna"))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Przeprowadzić diagonalizację macierzy (jeśli możliwa)
** Rozwiązanie ********************************************************************************
Wartości własne
Wektory własne
Diagonalizacja:
Diagonalizacja z wielokrotnymi wartościami własnymi
Show code cell source
zadanie = gz.diagonalizacja_macierzy_z_wielokrotnym_wartosciami_wlasnymi(choice([2, 3, 4]))
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0][:39]))
display(Latex(zadanie[0][39:]))
print("\033[34m*\033[0m" * 95)
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex(zadanie[1].split(', \quad')[0].replace("$", "$$")))
display(Markdown("Wartości własne"))
display(Latex("$$" + (zadanie[1].split(', \quad')[1]).split("$")[1] + "$$"))
display(Markdown("Wektory własne"))
display(Latex("$$" + (zadanie[1].split(', \quad')[1]).split("$")[3] + "$$"))
display(Markdown("Diagonalizacja:"))
try:
display(Latex("$$" + (zadanie[1].split(', \quad')[1]).split("$")[5]
+ '\quad ' + (zadanie[1].split(', \quad')[1]).split("$")[7] + "$$"))
except Exception:
display(Markdown("Macierz nie jest diagonalizowalna"))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Przeprowadzić diagonalizację macierzy
***********************************************************************************************
** Rozwiązanie ********************************************************************************
Wartości własne
Wektory własne
Diagonalizacja:
Regresja
zadanie = gz.regresja(stopien=1, nr_zadania=1234)
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n')[0].replace('\\', '')))
display(Latex('$$' + zadanie[0].split('\[')[1].split('\]')[0] + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
temp = zadanie[1].split('_L')[0].split('[\n\t\t')[1] + '_L'
display(Latex(f'$${temp}$$'))
display(Latex(f"$${zadanie[1].split('_L')[1][12:].split('raisebox')[0][:-11]}$$"))
display(Markdown(f''))
zadanie_5 = zadanie
** Zadanie ************************************************************************************
Wyznaczyć prostą regresji dla punktów
** Rozwiązanie ********************************************************************************

Układy równań liniowych
Układ Cramera
Show code cell source
zadanie = gz.uklad_Cramera(choice([2, 3, 4, 5]))
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n')[0].split('$')[0] +
'*' + zadanie[0].split('$')[1].split('$')[0] + '*'))
display(Latex('$$' + zadanie[0].split('\[')[1].split('\]')[0] + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex(zadanie[1].replace('$ \\\\ \n\t$', ',\\quad ').replace('$', '$$')))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Z układu równań wyznaczyć niewiadomą y
** Rozwiązanie ********************************************************************************
Układ nieoznaczony
Show code cell source
zadanie = gz.uklad_rownan_nieoznaczony()
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n')[0].replace('\\ ', ' ')))
display(Latex('$$' + zadanie[0].split('\[')[1].split('\]')[0] + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex(zadanie[1].replace('$ \\\\ \n\t$', ',\\quad ').replace('$', '$$')))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Rozwiązać układ równań. Jeśli możliwe podać trzy przykładowe rozwiązania. Jedno rozwiązanie sprawdzić.
** Rozwiązanie ********************************************************************************
Geometria analityczna
Równanie prostej
Show code cell source
zadanie = gz.rownanie_prostej()
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n\t')[0]))
display(Latex('$$' + (zadanie[0].split('\n\t')[2]) + '$$'))
display(Markdown(zadanie[0].split('\n\t')[4]))
display(Latex('$$' + (zadanie[0].split('\n\t')[6]) + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex('$' + zadanie[1] + '$'))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Wyznaczyć równanie prostej przechodzącej przez punkty
Obliczyć odległość wyznaczonej prostej od punktu
** Rozwiązanie ********************************************************************************
Równanie płaszczyzny
Show code cell source
zadanie = gz.rownanie_plaszczyzny()
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n\t')[0]))
display(Latex('$$' + (zadanie[0].split('\n\t')[2]) + '$$'))
display(Markdown(zadanie[0].split('\n\t')[4]))
display(Latex('$$' + (zadanie[0].split('\n\t')[6]) + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex('$' + zadanie[1] + '$'))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Wyznaczyć równanie płaszczyzny przechodzącej przez punkty
Obliczyć odległość wyznaczonej płaszczyzny od punktu
** Rozwiązanie ********************************************************************************
Punkty symetryczny do płaszczyzny
Show code cell source
zadanie = gz.punkt_symetryczny_do_plaszczyzny()
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n\t')[0]))
display(Latex('$$' + (zadanie[0].split('\n\t')[2]) + '$$'))
display(Markdown(zadanie[0].split('\n\t')[4]))
display(Latex('$$' + (zadanie[0].split('\n\t')[6]) + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Markdown(zadanie[1].split('$')[0]))
display(Latex('$$' + zadanie[1].split('$')[1] + '$$'))
display(Markdown(zadanie[1].split('$')[4][2:]))
display(Latex('$$' + zadanie[1].split('$')[5] + ' \quad ' + zadanie[1].split('$')[3] + '$$'))
display(Markdown(zadanie[1].split('$')[6][6:]))
display(Latex('$$' + zadanie[1].split('$')[7] + '$$'))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Wyznaczyć punkt symetryczny do punktu
względem płaszczyzny
** Rozwiązanie ********************************************************************************
Prosta prostopadła:
Punkt przecięcia to:
Punkt symetryczny to:
Punkty symetryczny do prostej
Show code cell source
zadanie = gz.punkt_symetryczny_do_prostej()
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n\t')[0]))
display(Latex('$$' + (zadanie[0].split('\n\t')[2]) + '$$'))
display(Markdown(zadanie[0].split('\n\t')[4]))
display(Latex('$$' + (zadanie[0].split('\n\t')[6]) + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Markdown(zadanie[1].split('$')[0]))
display(Latex('$$' + zadanie[1].split('$')[1].split('\\quad')[0] + '$$'))
display(Markdown(zadanie[1].split('$')[2][8:]))
display(Latex('$$' + zadanie[1].split('$')[3] + ' \quad ' + zadanie[1].split('$')[1].split('\quad')[1] + '$$'))
display(Markdown(zadanie[1].split('$')[4][12:]))
display(Latex('$$' + zadanie[1].split('$')[5] + '$$'))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Wyznaczyć punkt symetryczny do punktu
względem prostej
** Rozwiązanie ********************************************************************************
Płaszczyzna prostopadła:
Punkt przecięcia to:
Punkt symetryczny to:
Proste skośne
Show code cell source
zadanie = gz.odleglosc_prostych_skosnych()
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n\t')[0]))
display(Latex('$$' + (zadanie[0].split('\n\t')[2]) + '$$'))
display(Latex('$$' + (zadanie[0].split('\n\t')[3]) + '$$'))
display(Markdown(zadanie[0].split('\n\t')[4][3:]))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Markdown('Płaszczyzna zawierająca *l<sub>2</sub>* i równoległa do *l<sub>1</sub>* to'))
display(Latex('$$' + (zadanie[1].split('$')[5]) + '$$'))
display(Markdown('Odległość prostych skośnych to'))
display(Latex('$$' + (zadanie[1].split('$')[7]) + '$$'))
display(Markdown('Punkty realizujące minimalną odległość to'))
display(Latex('$$' + (zadanie[1].split('$')[9]).replace('\\ ', '\qquad ') + '$$'))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Obliczyć odległość prostych skośnych
Wyznaczyć punkty realizujące minimalną odległość.
** Rozwiązanie ********************************************************************************
Płaszczyzna zawierająca l2 i równoległa do l1 to
Odległość prostych skośnych to
Punkty realizujące minimalną odległość to
Kąty w trójkącie
Show code cell source
zadanie = gz.katy_w_trojkacie(prosty=choice([False, True]), calkowite=choice([False, True]))
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown('Wyznaczyć miary kątów wewnętrznych trójkąta *ABC*, gdzie'))
display(Latex('$$' + (zadanie[0].split('\n\t')[2]) + '$$'))
display(Markdown('Sprawdzić, czy sumują się do 180\u00b0'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex('$' + zadanie[1] + '$'))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Wyznaczyć miary kątów wewnętrznych trójkąta ABC, gdzie
Sprawdzić, czy sumują się do 180°
** Rozwiązanie ********************************************************************************
Pole trójkąta
Show code cell source
zadanie = gz.pole_trojkata(calkowite=choice([False, True]))
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(
f'Wyznaczyć pole trójkąta *ABC* oraz długość wysokości opuszczonej z wierzchołka *{zadanie[0].split("ka ")[1].split(" dla")[0]}*' + ' dla'))
display(Latex('$$' + (zadanie[0].split('\n\t')[2]) + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex('$' + zadanie[1].replace('\\ \\', '\qquad') + '$'))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Wyznaczyć pole trójkąta ABC oraz długość wysokości opuszczonej z wierzchołka C dla
** Rozwiązanie ********************************************************************************
Płaszczyzna styczna
Show code cell source
zadanie = gz.plaszczyzna_styczna()
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(
f'Wyznaczyć płaszczyznę styczną do powierzchni'))
display(Latex('$$' + (zadanie[0].split('$$')[1]) + '$$'))
display(Markdown('w punkcie'))
display(Latex('$' + zadanie[0].split('punkcie ')[1] + '$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex('$' + zadanie[1].replace('\\ \\', '\qquad') + '$'))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Wyznaczyć płaszczyznę styczną do powierzchni
w punkcie
** Rozwiązanie ********************************************************************************
Granice
Granice ciągów
Show code cell source
zadanie = gz.granica_ciagu(typ=choice([0, 1, 2, 3]))
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n\t')[0]))
display(Latex('$$' + (zadanie[0].split('\n\t')[2]) + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex('$' + zadanie[1] + '$'))
zadanie_1 = zadanie
** Zadanie ************************************************************************************
Obliczyć granicę
** Rozwiązanie ********************************************************************************
Granice funkcji
Show code cell source
zadanie = gz.granica_funkcji(typ=2) # typ=choice(range(12))
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n\t')[0]))
display(Latex('$$' + (zadanie[0].split('\n\t')[2]) + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex('$' + zadanie[1] + '$'))
zadanie_2 = zadanie
** Zadanie ************************************************************************************
Obliczyć granicę
** Rozwiązanie ********************************************************************************
Asymptoty
zadanie = zadanie = gz.asymptoty(typ=choice(range(1,11))) # typ=choice(range(1,11))
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n\t')[0]))
display(Latex('$$' + (zadanie[0].split('\n\t')[2]) + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex(zadanie[1].split('\\\\')[0]))
for i in range(1,len(zadanie[1].split('\\\\'))):
display(Markdown((zadanie[1].split('\\\\')[i].split('$')[0])))
display(Latex('$' + zadanie[1].split('\\\\')[i].split('$')[1] + '$'))
zadanie_2 = zadanie
** Zadanie ************************************************************************************
Wyznaczyć wszystkie asymptoty funkcji
** Rozwiązanie ********************************************************************************
Asymptota ukośna w minus nieskończoności o równaniu
Asymptota ukośna w plus nieskończoności o równaniu
Styczna i normalna
Show code cell source
zadanie = gz.styczna_normalna(typ=choice([1, 2]))
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n\t')[0]))
display(Latex('$$' + (zadanie[0].split('\n\t')[2]) + '$$'))
display(Markdown('w punkcie o współrzędnej'))
display(Latex('$ x_0' + zadanie[0].split('x_0')[1]))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Markdown('Prosta styczna: '))
display(Latex('$$' + zadanie[1].split('$')[1][:-1] + '$$'))
display(Markdown('Prosta normalna: '))
display(Latex('$$' + zadanie[1].split('$')[3] + '$$'))
zadanie_3 = zadanie
** Zadanie ************************************************************************************
Wyznaczyć równanie stycznej i normalnej do wykresu funkcji
w punkcie o współrzędnej
** Rozwiązanie ********************************************************************************
Prosta styczna:
Prosta normalna:
Monotonicznoźć
Show code cell source
zadanie = gz.monotonicznosc(choice([1, 2, 3]))
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n\t')[0]))
display(Latex('$$' + (zadanie[0].split('\n\t')[2]) + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Markdown('$$' + zadanie[1].split('$')[1] + '$$'))
display(Markdown('$$' + zadanie[1].split('$')[3].split('\\implies')[0] + '\\implies' + '$$'))
display(Markdown('$$' + '\\implies' + zadanie[1].split('$')[3].split('\\implies')[1] + '$$'))
display(Markdown('$$' + zadanie[1].split('$')[5].split('\\implies')[0] + '\\implies' + '$$'))
display(Markdown('$$' + '\\implies' + zadanie[1].split('$')[5].split('\\implies')[1] + '$$'))
display(Markdown('$$' + zadanie[1].split('$')[7].replace('\\left\\{', '\\left\\lbrace').replace('\\right\\}',
'\\right\\rbrace') + '$$'))
zadanie_4 = zadanie
** Zadanie ************************************************************************************
Zbadać monotoniczność i ekstrema funkcji
** Rozwiązanie ********************************************************************************
$$f’(x)=- \frac{x \left(x + 2\right)}{3 \left(x + 1\right)^{2}}$$
$$f’(x) > 0 \textnormal{ dla: }x > -2 \wedge x < 0 \wedge x \neq -1 \implies$$
$$\implies f(x) \textnormal{ rośnie dla } x \in \left(-2,-1 \right)\textnormal{ oraz } x \in \left(-1,0 \right) $$
$$f’(x) < 0 \textnormal{ dla: }0 < x \vee x < -2 \implies$$
$$\implies f(x) \textnormal{ maleje dla } x \in \left( -\infty, -2 \right)\textnormal{ oraz } x \in \left(0, \infty \right) $$
$$f’(x) = 0 \textnormal{ dla } x \in \left\lbrace -2, \ 0\right\rbrace \implies f_{\min}\left(-2\right) = 2 \textnormal{ oraz } f_{\max}\left(0\right) = \frac{2}{3}$$
zadanie_5 = gz.asymptoty(typ=6)
zadanie_5
('Wyznaczyć wszystkie asymptoty funkcji\n\t\\[\n\t\tf(x)= \\frac{- x^{2} + e^{x}}{2 x}.\n\t\\]\n',
'$D_f\\colon \\mathbb{R}\\setminus \\left\\{0\\right\\}.$\\\\Asymptota pionowa dwustronna w $x_0=0.$ \\\\Asymptota ukośna w minus nieskończoności o równaniu $y=- \\frac{x}{2}.$ ')
Całki nieoznaczone
Przez podstawianie i przez części
Show code cell source
zadanie = gz.calka_nieoznaczona(typ=choice([1, 2, 3, 4]))
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n\t')[0]))
display(Latex('$$' + (zadanie[0].split('\n\t')[2]) + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex('$$' + zadanie[1].split('=')[1] + '$'))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Obliczyć całkę
** Rozwiązanie ********************************************************************************
Wymierne
Show code cell source
zadanie = gz.calka_wymierna(wlasciwy=choice([False, True]))
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n\t')[0]))
display(Latex('$$' + (zadanie[0].split('\n\t')[2]) + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex('$' + zadanie[1] + '$'))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Obliczyć całkę
** Rozwiązanie ********************************************************************************
Całki oznaczone
Pole obszaru
Show code cell source
zadanie = gz.pole_obszaru(typ=choice([1, 2, 3, 4, 5]))
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].replace('\\[', '$$').replace('\\]', '$$')))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Markdown(zadanie[1].replace('$', '$$').replace('\,', '')))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Obliczyć pole obszaru ograniczonego wykresami krzywych $$ f(x) = 2 x^{2} - x \quad \textnormal{ oraz } \quad g(x) = 2 - x $$
** Rozwiązanie ********************************************************************************
Pole obszaru to $$\int\limits_{-1}^{1}\left(2 - 2 x^{2}\right)dx = \frac{8}{3}$$
Całki podwójne
Po trójkącie
Show code cell source
zadanie = gz.calka_podwojna(typ=1, nr_zadania=1234)
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].replace('\\,', '').replace('$', '*', ).replace('**', '$$', 2)))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
img1 = open(f'pics/calka_podwojna1234x.png', 'rb').read()
wi1 = widgets.Image(value=img1, format='jpg', width=300, height=400)
img2 = open(f'pics/calka_podwojna1234y.png', 'rb').read()
wi2 = widgets.Image(value=img2, format='jpg', width=300, height=400)
a = [wi1, wi2]
wid = widgets.HBox(a)
display(wid)
print(len(zadanie[1].split('$')))
if len(zadanie[1].split('$')) == 5:
display(Markdown(f'Względem *{zadanie[1].split("$")[1]}*'))
display(Markdown('$$' + zadanie[1].split('$')[3].split('$')[0] + '$$'))
else:
display(Markdown(f'Względem *{zadanie[1].split("$")[1]}*'))
display(Markdown('$$' + zadanie[1].split('$')[3].split('$')[0] + '$$'))
display(Markdown(f'Względem *{zadanie[1].split("$")[5]}*'))
display(Markdown('$$' + zadanie[1].split('$')[7].split('$')[0] + '$$'))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Obliczyć $$\iint\limits_D\left(- 2 x - 2 y\right)dxdy$$ gdzie D - trójkąt ABC dla A=(0,-2), B=(-3,-3), C=(0,0)
** Rozwiązanie ********************************************************************************
9
Względem Ox:
$$\int\limits_{-3}^{0}\left(\int\limits_{\frac{x}{3} - 2}^{x}\left(- 2 x - 2 y\right)dy\right)dx =\ldots=\int\limits_{-3}^{0}\left(- \frac{20 x^{2}}{9} - \frac{16 x}{3} + 4\right)dx = \ldots = 16$$
Względem Oy:
$$\int\limits_{-3}^{-2}\left(\int\limits_{y}^{3 y + 6}\left(- 2 x - 2 y\right)dx\right)dy + \int\limits_{-2}^{0}\left(\int\limits_{y}^{0}\left(- 2 x - 2 y\right)dx\right)dy =\ldots=\int\limits_{-3}^{-2}\left( - 12 y^{2} - 48 y - 36 \right)dy + \int\limits_{-2}^{0}\left( 3 y^{2} \right)dy = \ldots = 16$$
Po obszarze ograniczonym krzywymi
Show code cell source
zadanie = gz.calka_podwojna(typ=2, nr_zadania=1111) # nr by wykluczyć zduplikowanie wykresu
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(
zadanie[0].split('krzywymi')[0].replace('\\,', '').replace('$', '*', ).replace('**', '$$', 2) + 'krzywymi'))
display(Markdown('$$' + zadanie[0].split('$')[7] + '\\quad \\text{' + zadanie[0].split('$')[8][1:] + '} \\quad ' +
zadanie[0].split('$')[9] + '$$'))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
img1 = open(f'pics/calka_podwojna1111x.png', 'rb').read()
wi1 = widgets.Image(value=img1, format='jpg', width=300, height=400)
img2 = open(f'pics/calka_podwojna1111y.png', 'rb').read()
wi2 = widgets.Image(value=img2, format='jpg', width=300, height=400)
a = [wi1, wi2]
wid = widgets.HBox(a)
display(wid)
print(len(zadanie[1].split('$')))
if len(zadanie[1].split('$')) == 5:
display(Markdown(f'Względem *{zadanie[1].split("$")[1]}*'))
display(Markdown('$$' + zadanie[1].split('$')[3].split('$')[0] + '$$'))
else:
display(Markdown(f'Względem *{zadanie[1].split("$")[1]}*'))
display(Markdown('$$' + zadanie[1].split('$')[3].split('$')[0] + '$$'))
display(Markdown(f'Względem *{zadanie[1].split("$")[5]}*'))
display(Markdown('$$' + zadanie[1].split('$')[7].split('$')[0] + '$$'))
zadanie_nr = zadanie
** Zadanie ************************************************************************************
Obliczyć $$\iint\limits_D\left(x + \frac{y}{2}\right)dxdy$$ gdzie D - obszar ograniczony krzywymi
$$y=2 x^{2} - 3 x\quad \text{ oraz } \quad y=x$$
** Rozwiązanie ********************************************************************************
9
Względem Ox:
$$\int\limits_{0}^{2}\left(\int\limits_{2 x^{2} - 3 x}^{x}\left(x + \frac{y}{2}\right)dy\right)dx =\ldots=\int\limits_{0}^{2}\left(- x^{4} + x^{3} + 2 x^{2}\right)dx = \ldots = \frac{44}{15}$$
Względem Oy:
$$\int\limits_{-9/8}^{0}\left(\int\limits_{\frac{3}{4} - \frac{\sqrt{8 y + 9}}{4}}^{\frac{\sqrt{8 y + 9}}{4} + \frac{3}{4}}\left(x + \frac{y}{2}\right)dx\right)dy + \int\limits_{0}^{2 }\left(\int\limits_{y}^{\frac{\sqrt{8 y + 9}}{4} + \frac{3}{4}}\left(x + \frac{y}{2}\right)dx\right)dy =\ldots=\int\limits_{-9/8}^{0}\left(\frac{y \sqrt{8 y + 9}}{4} + \frac{3 \sqrt{8 y + 9}}{8}\right)dy + \int\limits_{0}^{2}\left(- y^{2} + \frac{y \sqrt{8 y + 9}}{8} + \frac{5 y}{8} + \frac{3 \sqrt{8 y + 9}}{16} + \frac{9}{16}\right)dx = \ldots = \frac{44}{15}$$
Szeregi Fouriera
zadanie = gz.szereg_Fouriera(
typ_l=choice([0, 1, 2, 3, 4]),
typ_p=choice([0, 1, 2, 3, 4]),
bez_wykresu=True,
tylko_koncowy=True,
nr_zadania=123)
print(f"\033[34m** Zadanie **" + '*' * 82 + '\033[0m')
display(Markdown(zadanie[0].split('\n')[0]))
display(Latex('$$' + zadanie[0].split('\[')[1].split('\]')[0] + '$$'))
display(Markdown(zadanie[0].split('\n')[7].replace('$', '$$')))
print("\033[32m** Rozwiązanie **" + '*' * 78 + '\033[0m')
display(Latex('$' + zadanie[1].split('$')[1] + '$'))
display(Latex('$' + zadanie[1].split('$')[3] + '$'))
display(Markdown(f''))
display(Markdown(f''))
zadanie_5 = zadanie
** Zadanie ************************************************************************************
Rozwinąć w szereg Fouriera funkcję
o okresie zasadniczym $$2T=2.$$ Naszkicować wykres funkcji, do której zbieżny jest uzyskany szereg.
** Rozwiązanie ********************************************************************************


Ustaw nazwy
Wskazówka
Nazwy mogą być puste, tzn. ‘’. Nie wszystkie, bo na ich podstawie tworzona jest nazwa pliku.
‘kolor_odpowiedzi’ jest ważny dla pliku tex:
‘red’ - odpowiedzi ukryte, ale dostępne po kliknięciu,
‘white’ - ukrywa, ale zostawia miejsce,
‘brak’ - ukrywa i chowa miejsce,
dla innych kolorów odpowiedzi są pokazywane, ale można je ukryć po kliknięciu.
Dlatego potrzebna jest dwukrotna kompilacja i potrzebny jest czytnik pdf z obsługą warst i JavaScript. Zalecam Adobe Acrobat Reader
# bez podkreśleń !!! bo są błędy w kompilacji z podkreśleniami
kierunek = 'Teleinformatyka' # np. AiR
grupa = 'Grupa-2' # np. Grupa-11
przedmiot = 'Wprowadzenie do analizy' # np. Algebra
semestr = 'Sem 1' # np. Semestr-1
kolokwium = 'Kol 1' # np. Kolokwium nr 2
data = '03 grudnia 2024' # tego już w nazwie pliku nie będzie
kolor_odpowiedzi = 'brak'
nazwa_pliku = f'{kierunek}-{grupa}-{przedmiot}-{semestr}-{kolokwium}'
nazwa_pliku
'Teleinformatyka-Grupa-2-Wprowadzenie do analizy-Sem 1-Kol 1'
Generuj plik LaTeX z wybranych zadań
Wskazówka
Wynik jest gotową zawartością pliku LaTeX.
W mybinder (interaktywna sesja) można skopiować.
Kompilować dwukrotnie pdflatex.
W przypadku zadań z obrazkami trzeba też je pobierać w odpowiednie miejsce.
Lepiej po prostu wygenerować pdf poniżej.
# Wynik jest gotową zawartością pliku LaTeX. Można skopiować i wkleić.
# Kompilować dwukrotnie pdflatex.
LaTeX_source = gz.generuj_LaTeX(kierunek,
grupa,
przedmiot,
semestr,
kolokwium,
data,
kolor_odpowiedzi,
zadanie_1, zadanie_2, zadanie_3, zadanie_4, zadanie_5)
print(LaTeX_source)
% !TeX spellcheck = pl_PL-Polish
\documentclass[a4paper,12pt]{article}
\linespread{1.3} %odstepy miedzy liniami
\usepackage[a4paper, lmargin=2cm, rmargin=2cm, tmargin=2cm, bmargin=2cm]{geometry}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{color}
\usepackage{enumitem}
\usepackage{fancyhdr}
\usepackage{float}
\usepackage{graphicx}
\usepackage{ifthen}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{ocgx}
\usepackage{polski}
\usepackage{tcolorbox}
\tcbuselibrary{most}
\tcbuselibrary{skins}
\tcbuselibrary{raster}
% brak - bez odpowiedzi i bez miejsca, white - bez odpowiedzi z miejscem, red = odpowiedzi ukryte ale dostepne
\newcommand{\kolorodpowiedzi}{brak}
\renewcommand{\footrulewidth}{0.4pt}% linia pozioma na końcu strony - default is 0pt
\DeclareFontShape{OMX}{cmex}{m}{n}
{<-7.5> cmex7
<7.5-8.5> cmex8
<8.5-9.5> cmex9
<9.5-> cmex10}{}
\DeclareSymbolFont{largesymbols}{OMX}{cmex}{m}{n}
\newcommand{\ukryte}{1} % domyślnie odpowiedzi są do pokazywania po kliknięciu
\ifthenelse{\equal{\kolorodpowiedzi}{red}} % ukrywamy od pokazywania gdy kolor jest red
{\renewcommand{\ukryte}{0}}{}
\newcommand{\zOdpowiedziami}[3]{
\ifthenelse{\equal{#1}{brak}}{}{
\ifthenelse{\equal{#1}{white}}{\vphantom{#3}}{
\switchocg{#2}{\textcolor{\kolorodpowiedzi}{\\Rozwiązanie: }}
\begin{ocg}{Warstwa odpowiedzi}{#2}{\ukryte}
\textcolor{\kolorodpowiedzi}{#3}
\end{ocg}}}}
\pdfinfo{/Author (https://generator-zadan.readthedocs.io)}
\begin{document}
\pagestyle{fancy}
\setlength{\headheight}{27.29453pt}
\fancyhead{}
\fancyhead[L]{\textbf{Teleinformatyka\\Wprowadzenie do analizy - Grupa-2}}
\fancyhead[R]{\textbf{Kol 1\\ 03 grudnia 2024}}
\fancyfoot{}
\fancyfoot[R]{\tiny\textbf{7 grudnia 2024, 19:53}}
% \hspace{1cm}
\begin{enumerate}[label= \textbf{Zadanie \arabic*. }, leftmargin=1cm, align=left, itemsep=0pt]
\item Obliczyć granicę
\[
\lim\limits_{n \rightarrow \infty} \frac{- 3 n^{3} - n + 5}{- 3 n^{5} + 4 n^{3} + 4 n^{2} - 2 n - 1}
\]
\zOdpowiedziami{\kolorodpowiedzi}{ocg0}
{$0$}
\item Wyznaczyć wszystkie asymptoty funkcji
\[
f(x)= x - \operatorname{atan}{\left(x \right)} + 1.
\]
\zOdpowiedziami{\kolorodpowiedzi}{ocg1}
{$D_f\colon \mathbb{R}.$\\Asymptota ukośna w minus nieskończoności o równaniu $y=x + 1 + \frac{\pi}{2}.$ \\Asymptota ukośna w plus nieskończoności o równaniu $y=x - \frac{\pi}{2} + 1.$ }
\item Wyznaczyć równanie stycznej i normalnej do wykresu funkcji
\[
f(x) = \frac{e^{x^{2} - x - 2}}{2 - 2 x}
\]
w punkcie $x_0 = 2.$
\zOdpowiedziami{\kolorodpowiedzi}{ocg2}
{Styczna: $y = \frac{3}{2} - x,$ \quad
Normalna: $y = x - \frac{5}{2}$}
\item Zbadać monotoniczność i ekstrema funkcji
\[
f(x)=\frac{- x^{2} + 2 x + 2}{3 x + 3}
\]
\zOdpowiedziami{\kolorodpowiedzi}{ocg3}
{$f'(x)=- \frac{x \left(x + 2\right)}{3 \left(x + 1\right)^{2}}$\newline
$f'(x) > 0 \textnormal{ dla: }x > -2 \wedge x < 0 \wedge x \neq -1 \implies f(x) \textnormal{ rośnie dla } x \in \left(-2,-1 \right)\textnormal{ oraz } x \in \left(-1,0 \right) $\newline
$f'(x) < 0 \textnormal{ dla: }0 < x \vee x < -2 \implies f(x) \textnormal{ maleje dla } x \in \left( -\infty, -2 \right)\textnormal{ oraz } x \in \left(0, \infty \right) $\newline
$f'(x) = 0 \textnormal{ dla } x \in \left\{ -2, \ 0\right\} \implies f_{\min}\left(-2\right) = 2 \textnormal{ oraz } f_{\max}\left(0\right) = \frac{2}{3}$}
\item Rozwinąć w szereg Fouriera funkcję
\[
f(x)=\left\{\begin{matrix}
- \sin{\left(x \right)} & \textnormal{ dla } & x\in\left[-1,0\right)\\
0 & \textnormal{ dla } & x\in\left[0,1\right)
\end{matrix}\right.
\]
o okresie zasadniczym $2T=2.$ Naszkicować wykres funkcji, do której zbieżny jest uzyskany szereg.
\zOdpowiedziami{\kolorodpowiedzi}{ocg4}
{$a_0=1 - \cos{\left(1 \right)},\quad a_n=\frac{\left(-1\right)^{n} \cos{\left(1 \right)} - 1}{\pi^{2} n^{2} - 1},\quad b_n=\frac{\left(-1\right)^{n} \pi n \sin{\left(1 \right)}}{\pi^{2} n^{2} - 1},$\\
$S(x) = - \frac{\pi \sin{\left(1 \right)} \sin{\left(\pi x \right)}}{-1 + \pi^{2}} + \frac{2 \pi \sin{\left(1 \right)} \sin{\left(2 \pi x \right)}}{-1 + 4 \pi^{2}} - \frac{3 \pi \sin{\left(1 \right)} \sin{\left(3 \pi x \right)}}{-1 + 9 \pi^{2}} + \frac{\left(-1 - \cos{\left(1 \right)}\right) \cos{\left(\pi x \right)}}{-1 + \pi^{2}} + \frac{\left(-1 + \cos{\left(1 \right)}\right) \cos{\left(2 \pi x \right)}}{-1 + 4 \pi^{2}} + \frac{\left(-1 - \cos{\left(1 \right)}\right) \cos{\left(3 \pi x \right)}}{-1 + 9 \pi^{2}} - \frac{\cos{\left(1 \right)}}{2} + \frac{1}{2} + \dots $\\
\includegraphics[width = 224pt]{../pics/szereg_Fouriera_123_funkcja}
\includegraphics[width = 224pt]{../pics/szereg_Fouriera_123_inf}
}
\end{enumerate}
\end{document}
Wskazówka
Poniżej można zapisać gotowy plik na dysku. Można go edytować.
W mybinder można go pobrać w menu po lewej stronie z katalogu wygenerowane.
Kompilować dwukrotnie.
if not os.path.exists('wygenerowane'):
os.makedirs('wygenerowane')
print(" ! Tworzę katalog wygenerowane ", file=sys.stderr)
with open(f'./wygenerowane/{nazwa_pliku}.tex', 'w',
encoding='utf-8') as LaTeX_file:
print(LaTeX_source, file=LaTeX_file)
! Tworzę katalog wygenerowane
Generuj plik Pdf z pliku Latex
Wskazówka
Można wygenerować gotowego pdf-a.
W mybinder (interaktywna sesja) plik pdf jest w menu po lewej. Można pobrać. W mybinder wszystkie pakiety LaTeX-a są zainstalowane. U siebie pewnie trzeba będzie coś doinstalować.
Kompilacja wykonuje się dwukrotnie.
Uwaga
Przy ponownej kompilacji online pliku z taką samą nazwą podgląd pdf-a w przeglądarce może pokazywać poprzednią wersję.
Trzeba wygenerowanego pdf-a pobrać na dysk lokalny i tam go oglądać. Albo podejrzeć niżej pdf-a przetworzonego na jpg.
import subprocess
for i in range(2):
result = subprocess.run(
'cd wygenerowane && pdflatex "' + f'{nazwa_pliku}' + '".tex',
capture_output=True,
shell=True)
# w razie problemów poniżej można zobaczyć komunikaty
# trzeba odkomentować
# for i in str(result).split(', '):
# print(i.replace('\\n', '\n'))
Uwaga
To co widać niżej to jest obraz stworzony z pdf-a. Kolor odpowiedzi jest ‘blue’ - czyli widoczne, do ukrycia po kliknięciu (w pliku pdf). Kolor można zmieniać w pliku tex.
Widoczna jest tylko pierwsza strona.
