Wikibooks plwikibooks https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna MediaWiki 1.47.0-wmf.23 first-letter Media Specjalna Dyskusja Wikipedysta Dyskusja wikipedysty Wikibooks Dyskusja Wikibooks Plik Dyskusja pliku MediaWiki Dyskusja MediaWiki Szablon Dyskusja szablonu Pomoc Dyskusja pomocy Kategoria Dyskusja kategorii Wikijunior Dyskusja Wikijuniora TimedText TimedText talk Moduł Dyskusja modułu Wydarzenie Dyskusja wydarzenia Ogólna teoria względności/Wprowadzenie do ogólnej teorii względności 0 14454 559122 558854 2026-10-11T13:49:43Z Persino 2851 559122 wikitext text/x-wiki <noinclude><!-- -->{{SkomplikowanaStronaStart<!-- -->| stopka strony = {{Kreska nawigacja|{{AktualnaKsiążka}}|{{NastępnyArtykuł}}|{{PoprzedniArtykuł}}}}<!-- -->}}</noinclude> '''Ogólna teoria względności''' jest współczesną teorią, która opisuje grawitację w sposób bardziej dokładny niż teoria grawitacji Newtona, która jest on opisana przez: {{CentrujWzór|<MATH>\vec{F}_{AB}=-G{{m_1m_2}\over{r^2}}{{\vec{r}}\over{r}}</MATH>|1.1}} * gdzie {{Formuła|<MATH>\vec F_{AB}</MATH>}} siła grawitacji działa wzdłuż wektora {{Formuła|<MATH>\vec{r}</MATH>}} (jest to różnica położenia ciała B i ciała A), która charakteryzuje oddziaływanie ciała A na ciało B, ale o zwrocie przeciwnym niż wektor położenia ciała B względem ciała A. == Postulaty teorii względności == '''Postulat pierwszy''' - jest uogólnienie zasady Galileusza, ale też i Einsteina ze szczególnej teorii względności, że układy poruszające się z przyspieszeniem zerowym lub mającym pewną wartość, to w tych układach spełnione są prawa fizyki. '''Postulat drugi''' - prędkość światła jest taka sama we wszystkich układach odniesienia, nawet w tych układach poruszających się z pewnym niezerowym przyspieszeniem. == Elementy ogólnej teorii względności == Szczególna teoria względności wyróżnia pewne klasy układów odniesienia zwanych układami inercjalnymi. Szczególna teoria nie ma grawitacji, więc należy sformułować tak nową teorię (OTW), by wszystkie układy odniesienia były równoprawne i zawierały grawitację. === Zasady równoważności === Przedstawimy tutaj słabą i silną zasadę równoważności. ==== Słaba zasada równoważności ==== Obserwator znajduje na Ziemi, i zauważa, że na niego działa jakaś siła grawitacji, która wywołuje siła ciężkości działająca na nasze ciało. Innym razem obserwator znajduje się w kosmosie w rakiecie, która porusza się z przyspieszeniem {{Formuła|<MATH>\vec{a}=\vec{g}</MATH>}} w sposób płynny, on nie zauważa żadnej różnicy, między układem na Ziemi czy w rakiecie, czyli który układ jest inercjalny? A zatem jeśli założymy, że nasz układ jest inercjalny, to pochodne cząstkowe elementów tensora metrycznego są równe zero. Ale w myśl tej zasady również układy nieinercjalne są nierozróżnialne od inercjalnych. A zatem prawa wyprowadzone dla układów inercjalnym powinny być słuszne też w nieinercjalnych układach odniesienia. Tzn.: pochodną cząstkową zwykłą zastępujemy pochodną tensorową, bo symbole Christoffela są równe zero, a następnie w myśl tej zasady można uogólnić otrzymane prawa na układy również nieinercjalne, w których symbole Christoffela nie muszą się zerować. ==== Silna zasada równoważności ==== Każde prawo fizyczne w sformułowane w szczególnej teorii względności w postaci tensorowej w układzie lokalnie płaskim (inercjalnym) ma taką samą postać w ogólnej teorii względności, czyli w czasoprzestrzeni zakrzywionej. === Czasoprzestrzeń w ogólnej teorii względności === Czasoprzestrzeń jest czterowymiarową przestrzenią absolutną z trójwymiarową przestrzenią znanej z mechaniki Newtona i czwartą współrzędną zwanej współrzędną czasową. Metryka w czasoprzestrzeni może przybierać postać lorentzowską, przez obranie układu inercjalnego, który jest układem lokalnie płaskim w danym punkcie przestrzeni. === Kontrawariantny czterowektor położenia === Kontrawariantnym czterowektorem położenia w ogólnej teorii względności nazywamy wektor: {{CentrujWzór|<MATH>x^{\mu}=(ct,x,y,z)\;</MATH>|1.2}} === Sygnatura dodatnia i ujemna === Sygnatura (1,-1,-1,-1) tensora metrycznego Minkowskiego jest w lokalnej płaskości czasoprzestrzeni zakrzywionej, o tej sygnaturze jest tensor metryczny przedstawiony w równaniu {{LinkWzór|1.3}}, tą '''sygnaturę''' nazywamy '''dodatnią''', a sygnaturę (-1,1,1,1), czyli nazywamy ją '''ujemną''', która występuje w równaniu {{LinkWzór|1.3G}}. === Interwał czasoprzestrzenny === Interwał czasoprzestrzenny w ogólnej teorii względności przedstawiamy w analogii do interwału szczególnej teorii względności, w której zastąpujemy tensory metryczne Minkowskiego innymi tensorami metrycznymi, które w ogólności nie są diagonalne, a kwadrat interwału czasoprzestrzennego przy sygnaturze tensora metrycznego Minkowskiego dodatniej i ujemnej przedstawiają się kolejno: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>ds^2=\sum^3_{\mu,\nu=0}g_{\mu\nu}dx^{\mu}dx^{\nu}\;</MATH>|1.3}} | 2 = {{CentrujWzór|<MATH>ds^2=-\sum^3_{\mu,\nu=0}g_{\mu\nu}dx^{\mu}dx^{\nu}\;</MATH>|1.3G}} }} * gdzie: {{Formuła|<MATH>g_{\mu\nu}\;</MATH>}}, to tensor metryczny. Udowodnimy, że jeśli w jednym układzie współrzędnym metrykę przedstawiamy wedle sposobu {{LinkWzór|1.3}}, to w innym w układzie współrzędnym kwadrat różniczki interwału czasoprzestrzennego pozostaje niezmienny, zatem to udowodnijmy, stosując tym razem konwencję Einsteina: {{CentrujWzór|<MATH>ds^2=\pm g_{\mu\nu}dx^{\mu}dx^{\nu}=\pm g_{\mu\nu}{\Lambda^{\mu}}_{\alpha}d{x^'}^{\alpha}{\Lambda^{\nu}}_{\beta}d{x^'}^{\beta}=\pm\underbrace{g_{\mu\nu}{\Lambda^{\mu}}_{\alpha}{\Lambda^{\nu}}_{\beta}}_{{g^'}_{\alpha\beta}}d{x^'}^{\alpha}d{x^'}^{\beta}=\pm{g^'}_{\alpha\beta}d{x^'}^{\alpha}d{x^'}^{\beta}\;</MATH>|1.4}} * Względem sygnatury (drugiej) przedstawionej w {{LinkWzór|1.3G}} dowód przedbiega podobnie jak dla pierwszej sygnatury według {{LinkWzór|1.4}}. Na podstawie dowodu {{LinkWzór|1.4}} kwadrat różniczki interwału czasoprzestrzennego jest niezmiennikiem, tzn. jego infinitezymalna wartość nie zależy od wyboru układu współrzędnych, tzn. nie zależy względem jakich współrzędnych liczymy naszą metrykę. Kwadrat różniczki interwału czasoprzestrzennego {{LinkWzór|1.3}} jest większy od zera, gdy mamy do czynienia z cząstką o masie spoczynkowej różnej od zera, natomiast dla fotonów lub dla cząstek o masie spoczynkowej równej zero, to kwadrat różniczki interwału czasoprzestrzennego jest równy zero. Przykładem tensora metrycznego jest tensor metryczny w przestrzeni Minkowskiego (czasoprzestrzeni Einsteina w czterowymiarowej czasoprzestrzeni) znany w płaskiej przestrzeni, w której nie ma pola grawitacyjnego, którego postać można napisać dla obu sygnatur (sygnatura dodatnia - {{LinkWzór|1.5}}, sygnatura ujemna - {{LinkWzór|1.5r}}): {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>\eta_{\mu\nu}=\begin{bmatrix} 1&0&0&0\\ 0&-1&0&0\\ 0&0&-1&0\\ 0&0&0&-1 \end{bmatrix}</MATH>|1.5}} | 2 = {{CentrujWzór|<MATH>\eta_{\mu\nu}=\begin{bmatrix} -1&0&0&0\\ 0&1&0&0\\ 0&0&1&0\\ 0&0&0&1 \end{bmatrix}</MATH>|1.5r}} }} Dla tensora metrycznego {{LinkWzór|1.5}} (sygnatura dodatnia) i {{LinkWzór|1.5r}} (sygnatura ujemna) interwał czasoprzestrzenny obliczony według {{LinkWzór|1.3}}, tzn. w szczególnej teorii względności, jest napisany: {{CentrujWzór|<MATH>ds^2=c^2dt^2-dx^2-dy^2-dz^2\;</MATH>|1.6}} Interwał {{LinkWzór|1.6}} jest podstawą szczególnej teorii względności. Widzimy, że w powyższym interwale współrzędne przestrzenne są na równi sobie, niezależne z jakimi mamy do czynienia współrzędnymi przestrzennymi, współrzędna czasowa w tym interwale jest wyróżniona, czas w metrach (ct) jest iloczynem prędkości światła i czasu w sekundach. === Czterowektor prędkości === Czterowektorem prędkości zdefiniowanej jako pochodną kontrawariantnego czterowektora położenia względem interwału czasoprzestrzennego {{LinkWzór|1.3}} nazywamy wielkość zdefiniowaną: {{CentrujWzór|<MATH>u^{\mu}={{dx^{\mu}}\over{ds}}\;</MaTH>|1.7}} Wielkość {{Formuła|<MATH>s\;</MATH>}} jest to jest interwał czasoprzestrzenny dla cząstek o masie spoczynkowej różnej od zera i dla cząstek o masie spoczynkowej równej zero. === Czterowektor pędu === Czterowektorem pędu nazywamy wielkość zdefiniowaną: {{CentrujWzór|<MATH>p^{\mu}=m_0cu^{\mu}\;</MaTH>|1.8}} === Czterowektor pędu a masa spoczynkowa cząstki === Jeśli będziemy korzystali ze wzoru {{LinkWzór|1.3}} (sygnatura dodatnia) i {{LinkWzór|1.3G}} (sygnatura ujemna), to je można równoważnie razem zapisać w sposób: najpierw dzieląc obustronnie przez kwadrat różniczki interwału czasoprzestrzennego (cząstki o masie spoczynkowej różnej od zera) dla obu sygnatur, tzn.: dla sygnatury dodatniej (znak u góry) i ujemnej (znak u dołu): {{CentrujWzór|<MATH>1=\pm g_{\mu\nu}u^{\mu}u^{\nu}\Rightarrow \pm 1=u_{\mu}u^{\mu}\Rightarrow \pm 1={{dx_{\mu}}\over{ds}}{{dx^{\mu}}\over{ds}}\;</MATH>|1.9}} Gdy mamy cząstkę o masie spoczynkową równej zero, wtedy musimy podzielić równanie {{LinkWzór|1.3}} obustronnie przez kwadrat różniczki dowolnego parametru &lambda;, wtedy czterowektor prędkości definiujemy podobnie jak dla cząstki masowej, wtedy otrzymujemy równanie inne niż {{LinkWzór|1.9}}: {{CentrujWzór|<MATH>{{ds^2}\over{d\lambda^2}}=\pm g_{\mu\nu}{{dx^{\mu}}\over{d\lambda}}{{dx^{\nu}}\over{d\lambda}}\Rightarrow \pm {{ds^2}\over{d\lambda^2}}={{dx_{\nu}}\over{d\lambda}}{{dx^{\nu}}\over{d\lambda}}\;</Math>|1.10}} Równanie {{LinkWzór|1.9}} wymnażamy obustronnie przez wyrażenie (m{{Sub|0}}c){{Sup|2}}, korzystając z definicji czterowektora pędu {{LinkWzór|1.8}}, dostajemy inne równoważne do {{LinkWzór|1.9}} równanie w postaci dla sygnatury dodatniej (znak u góry) i ujemnej (znak u dołu): {{CentrujWzór|<MATH>p_{\mu}p^{\mu}=\pm m_0^2c^2\;</Math>|1.11}} Jak udowodniliśmy równanie {{LinkWzór|1.11}} jest słuszne tylko dla cząstek o masie spoczynkowej różnej od zera, ale równanie {{LinkWzór|1.11}} możemy uogólnić dla cząstek o wszystkich masach spoczynkowych. Równość {{LinkWzór|1.11}} możemy napisać dla układów rozciągłych w postaci: {{CentrujWzór|<MATH>\mathfrak p_{\mu}\mathfrak p^{\mu}=\mp g\gamma^2\left({{dm_0}\over{dV_0}}\right)^2c^2\Rightarrow \mathfrak p_{\mu}\mathfrak p^{\mu}=\mp g\gamma^2c^2\rho_0^2\;</MATH>|KJH1}} === Infinitezymalny czas własny i infinitezymalna długość własna === Infinitezymalnym czasem własnym mierzoną przez zegary w ogólnej teorii względności nazywamy wielkość, który dany obserwator doświadczający dwóch zdarzeń bliskich w czasie doświadcza w układzie własnym, że dla niego czas w układzie w którym cząstka spoczywa (układ własny) jest mierzony w zależności od czasu w układzie, w którym cząstka porusza się: {{CentrujWzór|<MATH>d\tau={{1}\over{c}}\sqrt{g_{\mu\nu}dx^{\mu}dx^{\nu}}={{1}\over{c}}\sqrt{dx_{\mu}dx^{\mu}}\;</MATH>|1.12}} Infinitezymalną długością własną mierzoną przez pręty między dwoma sąsiednimi punktami nazywamy długość zdefiniowaną: {{CentrujWzór|<MATH>dl=\sqrt{-g_{\mu\nu}dx^{\mu}dx^{\nu}}=\sqrt{-dx_{\mu}dx^{\mu}}\;</MATH>|1.13}} Długość własna w układzie własnym spoczywającym jest równa długości pręta w układzie spoczywającym, tzn. w układzie współrzędnym. gdy długość pręta między oba jego końcami mierzymy w tym samym czasie współrzędnościowym, czyli dla spoczywającego pręta względem układu dla pręta poruszającego się. Odpowiednie infinitezymalne czasy własne między dwoma zdarzeniami i infinitezymalne długości własne dwóch sąsiednich zdarzeń istnieją, jeśli pod pierwiastki są wielkości infinitezymalne, ale dodatnie. Niezmienniczość {{LinkWzór|1.12}} i {{LinkWzór|1.13}}, które można je liczyć w dowolnym układzie współrzędnym, można tak samo udowodnić, jak przy dowodzie na niezmienniczość interwału czasoprzestrzennego (dowód {{LinkWzór|1.4}}). === Nieinercjalne układy odniesienia a czasoprzestrzeń === ==== Przykład - układ rotujący ze stałą prędkością kątową ω ==== Teraz przedstawmy układ rotujący ze stałą prędkością z częstotliwością kołową: {{Formuła|<MATH>\omega\;</MATH>}}, to jego wartość prędkości w zależności od częstotliwości kołowej i promienia od pewnego punktu względem którego następuje obrót ma się jako według wzoru {{Formuła|<MATH>v=\omega r\;</MATH>}}, to jego interwał czasoprzestrzenny w zależności od interwału czasoprzestrzennego w układzie inercjalnym przestawiam się: {{CentrujWzór|<MAth>d\tau^2=\left(1-{{v^2}\over{c^2}}\right)c^2dt=\left(1-{{\omega^2r^2}\over{c^2}}\right)c^2dt^2\;</MATH>|1.14}} W układzie nieinercjalnym ciało rotujące jest w spoczynku, jeśli na układ działa siła odśrodkowa, to: {{Formuła|<MATH>F_0=-m\omega^2 r\;</MATH>}}, to można powiedzieć, że ta siła równoważy siła grawitacji, według teorii równoważności. To energia kinetyczna ciała obracającego ma się jako: {{Formuła|<MATH>E_k={{m\omega^2r^2}\over{2}}\;</MATH>}}, a energia potencjalna w układzie nieinercjalnym ma się jako:{{Formuła|<MATh>E_p=\varphi m\;</MATH>}} Można przyjąć, że w takim układzie całkowita energia mechaniczna, czyli suma energii kinetycznej i potencjalnej równa się zero lub z dokładnością do stałej, ale w naszym przypadku lepiej przyjąć za tą stała jest liczbą zero, zatem: {{Formuła|<MATH>E_k+E_p=0\;</MATH>}}, to {{Formuła|<MATH>0={{m\omega^2 r^2}\over{2}}+\varphi m\Rightarrow {{\omega^2 r^2}\over{c^2}}=-{{2\varphi}\over{c^2}}\;</MATH>}}. A zatem nasz interwał czasoprzestrzenny przedstawia się względem ostatnich rozważań i wzoru na interwał czasoprzestrzenny {{LinkWzór|1.14}} dla obu sygnatur (znak plus u góry to sygnatura dodatnia, w przeciwnym przypadku ujemna): {{CentrujWzór|<MATH>d\tau^2=\pm\left(\pm 1\pm{{2\varphi}\over{c^2}}\right)c^2dt^2\;</MATH>|1.15}} Dochodzimy więc do wniosku, że wedle wzoru {{LinkWzór|1.14}} i {{LinkWzór|1.15}}, że element tensora metrycznego, a mianowicie element o współczynnikach dolnych zerowych przedstawia się: {{CentrujWzór|<MATH>g_{00}=\pm 1\pm{{2\varphi}\over{c^2}}\;</MATH>|1.16}} Widzimy, że ona zależy od potencjału skalarnego pola grawitacyjnego słabego, a więc można powiedzieć, że w układzie nieinercjalnym siły bezwładności zastępują siły grawitacji. Według zasady równoważności nie rozróżnia się sił grawitacji od sił pochodzenia nieinercjalnego (siły bezwładności), a zatem można powiedzieć: {{CentrujWzór|<MATH>g_{00}=\pm 1\mp{{2GM}\over{c^2r^2}}\;</MATH>|1.17}} Jeśli mamy układ zwykły oznaczony współrzędnymi: {{Formuła|<MATH>(x,y,t)</MATH>}}, to w układzie rotującym układ jest względem współrzędnych: {{Formuła|<MATH>(x',y',t')\;</MATH>}}, czyli obracającym się ze stałą prędkością kątową &omega;, to transformacje z układu obracającego się do układu nieobracającego mają się jak: {{CentrujWzór|<MATH>x=x'\cos(\omega t)-y'\sin(\omega t)\;</MATH>|1.18}} {{CentrujWzór|<MATH>y=x^'\sin(\omega t)+y'\cos(\omega t)\;</MATH>|1.19}} Można policzyć różniczki zupełne wyrażeń {{LinkWzór|1.18}} i {{LinkWzór|1.19}}, które są takowymi transformacjami z jednego układu współrzędnych do drugiego: {{CentrujWzór|<MATH>dx=dx'(\cos\omega t)-dy'\sin(\omega t)-x'\sin(\omega t)\omega dt-y^'\cos(\omega t)\omega dt=dx'\cos(\omega t)-dy'\sin(\omega t)-\omega y dt\;</MATH>|1.20}} {{CentrujWzór|<MATH>dy=dx'\sin(\omega t)+dy'\cos(\omega t)+x'\cos(\omega t)\omega dt-y'\sin(\omega t)\omega dt=dx'\sin(\omega t)+dy'\sin(\omega t)+\omega x dt\;</MATH>|1.21}} Obliczenia na liczbach ogólnych {{LinkWzór|1.20}} i {{LinkWzór|1.21}} przedstawiamy w uproszczeniu jako kombinacje różniczek współrzędnych i czasu: {{CentrujWzór|<MATH>dx=dx'\cos(\omega t)-dy'\sin(\omega t)-\omega y dt\;</MATH>|1.22}} {{CentrujWzór|<MATH>dy=dx'\sin(\omega t)+dy'\cos(\omega t)+\omega x dt\;</MATH>|1.23}} Interwał czasoprzestrzenny w układzie inercjalnym przedstawia wedle sposobu {{LinkWzór|1.6}}. Mając transformacje różniczek, tzn. {{LinkWzór|1.22}} i {{LinkWzór|1.23}}, wyznaczmy wedle jakiego sposobu przedstawia się on w układzie nieinercjalnym i w ten sposób możemy wyznaczyć elementy tensora metrycznego w nieinercjalnym układzie odniesienia względem układu czysto inercjalnego, który porusza się względem innych układów inercjalnym ze stałą prędkością kątową: {{CentrujWzór|<MATH>ds^2=c^2dt^2-dx^2-dy^2=c^2dt^2-(dx'\cos(\omega t)-dy'\sin(\omega t)-\omega y dt)^2-(dx'\sin(\omega t)+dy'\cos(\omega t)+\omega x dt)^2=\;</MATH>{{Br}} <MATH>=c^2dt^2-dx^{'2}\cos^2(\omega t)-dy^{'2}\sin^2(\omega t)-\omega^2y^2 dt^2+2dx'dy'\cos(\omega t)\sin(\omega t)+2dx'\cos(\omega t)\omega y dt-2dy'\sin(\omega t)\omega y dt+\;</MATH>{{Br}}<MATH>-dx^{'2}\sin^2(\omega t)-dy^{'2}\sin^2(\omega t)-\omega^2 x^2 dt^2-2dx'dy'\sin(\omega t)\cos(\omega t)-2dx'\sin(\omega t)\omega x dt-2dy'\cos(\omega t)\omega x dt=\;</MATH>{{Br}} <MAtH>=\left(1-{{\omega^2 (x^2+y^2)}\over{c^2}}\right)c^2dt^2-dx^{'^2}-dy^{'2}+2\omega dt\left(dx'\cos(\omega t)y-dy'\sin(\omega t)y-dx'\sin(\omega t)x-dy'\cos(\omega t)x\right)=</MATH>{{Br}} <MATH>=\left(1-{{\omega^2 r^2}\over {c^2}}\right)c^2dt^2-dx^{2'}-dy^{'2}+ 2\omega dt\left(dx'(\cos(\omega t)y-\sin(\omega t)x)-dy'(\sin(\omega t)y+\cos(\omega t)x)\right)</MATH>|1.24}} Wyznaczmy wyrażenia pomocnicze, które są potrzebne do obliczeń interwału w układzie nieinercjalnych w {{LinkWzór|1.24}} wedle współrzędnych w układzie nieinercjalnym: {{CentrujWzór|<MATH>\cos(\omega t)y-\sin(\omega t)x=\cos(\omega t)\left(x' \sin(\omega t)+y'\cos(\omega t)\right)-\sin(\omega t)\left(x'\cos(\omega t)-y'\sin(\omega t)\right)=\;</math>{{Br}} <math>=x^'\sin(\omega t)\cos(\omega t)+y^{'}\cos^2(\omega t)-x^'\cos(\omega t)\sin(\omega t)+y^'\sin^2(\omega t)=y'\;</MATH>|1.25}} a także drugie pomocnicze obliczenia: {{CentrujWzór|<MATH>\sin(\omega t)y+\cos(\omega t)x=\sin(\omega t)(x'\sin(\omega t)+y'\cos(\omega t))+\cos(\omega t)(x'\cos(\omega t)-y'\sin(\omega t))=\;</MATH>{{Br}} <MATH>=x'\sin^2(\omega t)+y'\sin(\omega t)\sin(\omega t)+x'\cos^2(\omega t)-y'\sin(\omega t)\cos\omega t=x'\;</MATH>|1.26}} Dochodzimy, że interwał czasoprzestrzenny na podstawie obliczeń {{LinkWzór|1.24}} i obliczeń pomocniczych {{LinkWzór|1.25}} i {{LinkWzór|1.26}} przedstawia się względem współrzędnych nieinercjalnych: {{CentrujWzór|<MATH>ds^2=\left(1-{{\omega^2 r^2}\over {c^2}}\right)c^2dt^2+2(\omega dx'y'-\omega dy'x')dt-dx^{'2}-dy^{'2}</MATH>|1.27}} W obliczeniach {{LinkWzór|1.27}} grupujemy wyrazy względem tych samych różniczek względem nieinercjalnego układu współrzędnych, wtedy dostajemy wzór na interwał czasoprzestrzenny w naszym rozważanym układzie współrzędnym: {{CentrujWzór|<MATH>ds^2=\underbrace{\left(1-{{\omega^2 r^2}\over {c^2}}\right)}_{\pm g_{00}}c^2dt^2+\underbrace{{{\omega y'}\over{c}}}_{\pm g_{01}}dtdx'+\underbrace{{{\omega y'}\over{c}}}_{\pm g_{10}}dx'dt+ dx\underbrace{\left(-{{\omega x'}\over{c}}\right)}_{\pm g_{20}}dy'dt+\underbrace{\left(-{{\omega x'}\over{c}}\right)}_{\pm g_{02}}dtdy'+\underbrace{(-1)}_{\pm g_{11}}dx^{'2}+\underbrace{(-1)}_{\pm g_{22}}dy^{'2}</MATH>|1.28}} Tensor metryczny w nieinercjalnym układzie współrzędnych możemy napisać na podstawie definicji interwału znanej ze szczególnej teorii względności przy definicji kwadratu infinitezymalnego interwału {{LinkWzór|1.28}} dla sygnatury dodatniej i ujemnej (wiedząc, że elementy w tej sygnaturze względem sygnatury dodatniej mają przeciwne parametry): {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>g_{\mu\nu}=\begin{bmatrix} 1-{{\omega^2 r^2}\over{c^2}}&{{\omega y'}\over{c}}&-{{\omega x'}\over{c}}\\ {{\omega y'}\over{c}}&-1&0\\ -{{\omega x'}\over{c}}&0&-1 \end{bmatrix}</MATH>|1.29}} | 2 = {{CentrujWzór|<MATH>g_{\mu\nu}=\begin{bmatrix} -1+{{\omega^2 r^2}\over{c^2}}&-{{\omega y'}\over{c}}&{{\omega x'}\over{c}}\\ -{{\omega y'}\over{c}}&1&0\\ {{\omega x'}\over{c}}&0&1 \end{bmatrix}</MATH>|1.29r}} }} Warto zauważyć, że elementy pozadiagonalne tensora metrycznego, wskazują na jakiś rodzaj rotacji wedle naszego przedstawienia interwału {{LinkWzór|1.28}} układu nieinercjalnego względem inercjalnego. == Wprowadzenie do tensorów Einsteina w postaci tensorowej == === Tensor Einsteina === Wyprowadzimy tutaj tensor Einsteina i wyznaczmy pochodną tensorową tego tensora i przekonamy się, że ona wynosi zero. Tożsamość Bianchiego, które podamy tutaj bez dowodu, ale jego dowód znajduje się w punkcie {{LinkWzór|2.126|Rachunek_tensorowy|Metody_matematyczne_fizyki|MMF}}: {{CentrujWzór|<MATH>R_{\mu \nu \gamma \alpha ;\sigma}+R_{\mu \nu \sigma\gamma;\alpha}+R_{\mu \nu\alpha \sigma;\gamma}=0\;</MaTH>|1.30}} W obliczeniach na tensorach będziemy korzystać, z własności na tensorze Ricciego: g{{Sup|&mu;&gamma;}}R{{Sub|&mu;&nu;&gamma;&sigma;}}=R{{Sub|&nu;&sigma;}}, oraz z antysymetryczności przedstawiania wskaźników pierwszej pary lub drugiej. Zastosujmy zwężenie tożsamości Bianchiego, wymnażając obustronnie przez podwójnie kontrawariantny tensor metryczny g{{Sup|&mu;&gamma;}} tożsamość {{LinkWzór|1.30}}: {{CentrujWzór|<MATH>g^{\mu\gamma}\left[R_{\mu\nu \gamma \alpha;\sigma}+R_{\mu\nu \sigma \gamma;\alpha}+R_{\mu\nu \alpha\sigma;\gamma}\right]=0\Rightarrow R_{\nu\alpha;\sigma}-R_{\nu\sigma;\alpha}+{R^\gamma}_{\nu\alpha\sigma;\gamma}=0\;</MATH>|1.31}} Dokonajmy teraz ponownego zwężania ostatniej równości {{LinkWzór|1.31}}, a także korzystając znów w naszej równości tensorowej z własności na tensorach Ricciego: {{CentrujWzór|<MATH>g^{\nu\alpha}\left[R_{\nu\alpha;\sigma}-R_{\nu\sigma;\alpha}+{R^\gamma}_{\nu\alpha\sigma;\gamma}\right]=0\Rightarrow R_{;\sigma}-{R^\alpha}_{\sigma;\alpha}-{R^{\gamma}}_{\sigma;\gamma}=0\;</MATH>|1.32}} Po ostatnich przekształceniach, i po przemianowaniu wskaźników w równaniu {{LinkWzór|1.32}} wedle schematu &alpha;&rarr;&gamma;, wtedy dojdziemy do następnego równania: {{CentrujWzór|<MATH>R_{;\sigma}-{R^{\gamma}}_{\sigma;\gamma}-{R^{\gamma}}_{\sigma;\gamma}=0\;</MATH>|1.33}} Wykorzystujemy definicję delty Kroneckera oraz wykorzystujemy go do pierwszego wyrazu w równaniu tensorowym {{LinkWzór|1.33}}, a także redukujemy wyrazy podobne w tym samym równaniu: {{CentrujWzór|<MATH>R_{;\alpha}{\delta^{\alpha}}_{\sigma}-2{R^{\gamma}}_{\sigma;\gamma}=0\Rightarrow {R^{\alpha}}_{\sigma;\alpha}-{{1}\over{2}}{\delta^{\alpha}}_{\sigma}R_{;\alpha}=0\;</MATH>|1.34}} Idąc dalej by mieć górne wskaźnik przy tensorach w równaniu tensorowym {{LinkWzór|1.34}} należy to równanie tensorowe wymnożyć przez tensor g{{Sup|&sigma;&beta;}}, wtedy dostaniemy co chcieliśmy. {{CentrujWzór|<MATH>g^{\sigma\beta}\left({R^{\alpha}}_{\sigma;\alpha}-{{1}\over{2}}{\delta^{\alpha}}_{\sigma}R_{;\alpha}\right)=0\Rightarrow {R^{\alpha\beta}}_{;\alpha}-{{1}\over{2}}g^{\alpha\beta}R_{;\alpha}=0\;</MATH>|1.35}} Wyłączając pochodną tensorową przed nawias i wykorzystując przy tym, że pochodna tensorowa elementów tensora metrycznego jest równa zero, wtedy {{LinkWzór|1.35}} przechodzi w równanie: {{CentrujWzór|<MATH>\left(R^{\alpha\beta}-{{1}\over{2}}g^{\alpha\beta}R\right)_{;\alpha}=0\;</MATH>|1.36}} Tensor występujący pod pochodną tensorową {{LinkWzór|1.36}} nazywamy tensorem Einsteina i jest funkcją dwuwskaźnikowego tensora krzywizny R{{Sup|&alpha;&beta;}}, skalaru krzywizny R, a także jest funkcją tensora metrycznego, który panuje w danej geometrii w przestrzeni czterowymiarowej. {{CentrujWzór|<MATH>G^{\alpha\beta}=R^{\alpha\beta}-{{1}\over{2}}g^{\alpha\beta}R\;</MATH>|1.37}} Tensor Einsteina {{LinkWzór|1.37}} na podstawie tożsamości {{LinkWzór|1.36}} ma taką własność, że jego pochodna tensorowa względem wskaźnika &alpha; występujący w jego definicji {{LinkWzór|1.37}} jest równa zero. {{CentrujWzór|<MATH>{G^{\alpha\beta}}_{;\alpha}=0\;</MATH>|1.38}} Tensor Einsteina {{LinkWzór|1.37}} można zapisać w postaci bezwskaźnikowej, tzn. bez powiedzenia z jakiego typu tensorem mamy do czynienia w przypadku tensora Einsteina G{{Sup|&alpha;&beta;}}, który można zdefiniować nie tylko w postaci jakby miał tylko górne wskaźniki, ale wszystkie te zapisy tensorowo są równoważne w zapisie wspomnianego tensora. {{CentrujWzór|<MATH>\mathbf{G}=\mathbf{R}-{{1}\over{2}}\mathbf{g}R\;</MATH>|1.39}} Wyprowadzona własność tensora Einsteina jest bardzo potrzebna w ogólnej teorii względności i jest wykorzystana w równaniach tensorowych Einsteina opisująca grawitację. === Rozszerzony tensor Einsteina === Rozszerzony tensor Einsteina zdefiniujmy w oparciu o tensor Einsteina {{LinkWzór|1.37}} o stałą kosmologiczną &Lambda;: {{CentrujWzór|<maTH>O^{\alpha\beta}=G^{\alpha\beta}+\Lambda g^{\alpha\beta}\;</MaTH>|1.40}} Wyznaczmy pochodną tensorową rozszerzonego tensora Einsteina {{LinkWzór|1.40}} względem współrzędnej kontrawariantnej o numerze &beta;, zatem na podstawie {{LinkWzór|1.38}} i z własności, że pochodna tensorowa tensora metrycznego jest równa zero: {{CentrujWzór|<MATH>{O^{\alpha\beta}}_{;\alpha}=\left(G^{\alpha\beta}+\Lambda g^{\alpha\beta}\right)_{;\alpha}= {G^{\alpha\beta}}_{;\alpha}+\Lambda {g^{\alpha\beta}}_{;\alpha}=0+\Lambda\cdot 0=0\;</maTh>|1.41}} Doszliśmy więc do wniosku, że rozszerzony tensor Einsteina ma te same własności, co zwykły tensor Einsteina. == Czy istnieją układy lokalnie, a nie globalnie płaskie == === Twierdzenie o lokalnej płaskości czasoprzestrzeni (przestrzeni czterowymiarowej) === Przestrzeń jest lokalnie płaska w czasoprzestrzeni Einsteina, że w danym otoczeniu punktu mamy doczynienia z czasoprzestrzenią Minkowskiego, bo przestrzeń, która jest rozwiązaniem ogólnej teorii względności nie może być globalnie płaska, ale może być spełniona tylko w przybliżeniu w otoczeniu pewnego punktu w którym na płaskość obowiązuje, w której mamy tensor metryczny w przybliżeniu Minkowskiego {{LinkWzór|1.5}}, gdy pochodne zupełne tego tensora metrycznego są równe zero, tzn.: {{CentrujWzór|<MATH>{{\partial {g^'}_{\alpha\beta}}\over{\partial x^{\gamma}}}=0\;</MATH>|1.42}} * gdzie:{{Formuła|<MaTH>{g^'}_{\alpha\beta}\;</MATH>}} jest to tensor metryczny Minkowskiego {{Formuła|<MATH>\eta_{\alpha\beta}\;</MATH>}} z małą poprawką do niego by z bardzo dużą dokładnością był spełniony powyższy warunek. Zakładamy, że istnieje przekształcenia między aktualną przestrzenią, a układem lokalnie płaskim, które jest prawdziwy dla punktu, w którym ta lokalna płaskość jest spełniona według: {{CentrujWzór|<MATH>g_{\alpha\beta}={\Lambda^{\mu}}_{\alpha}{\Lambda^{\nu}}_{\beta}{g^'}_{\mu\nu}\;</MATH>|1.43}} * gdzie:{{Formuła|<MATH>{g^'}_{\mu\nu}\simeq\eta_{\mu\nu}\;</MATH>}}- jest to tensor metryczny Minkowskiego. A także również zachodzi dla ściśle określonego punktu w przestrzeni lokalnie płaskiej równanie {{LinkWzór|1.42}}, i ze względu na symetryczność ogólnej definicji tensora metrycznego ma on w rezultacie 1+2+3+4=10 niezależnych składowych, a ilość składowych tensora {{Formuła|<MATH>{\Lambda^{\mu}}_{\alpha}\;</Math>}} jest 4&middot; 4=16 elementów, zatem ilość niezależnych stopni swobody w równaniu {{LinkWzór|1.43}} jest równa 16-10=6. Te sześć stopni swobody odpowiada sześciu stopniom swobody przekształcenia Lorentza, tzn. nasz układ można przesunąć z prędkością <math>\vec{v}\;</MATH> względem trzech jego niezależnych współrzędnych lub obrócić badany układ o trzy niezależne kąty. W sumie mamy sześć stopni swobody {{Formuła|<MATH>{\Lambda^{\mu}}_{\alpha}\;</MAtH>}}, które powodują, że lokalny układ inercjalny pozostanie układem inercjalnym. Według równania {{LinkWzór|1.42}} ilość niezależnych równań jest 10&middot;4=40 (jest 10-to ilość niezależnych składowych tensora metrycznego, który jest jak wiadomo symetryczny i cztery niezależne składowe tensora kontrawariantnego położenia), daje nam też 40 stopni swobody. Ponieważ w tym punkcie lub jego otoczeniu istnieje tensor metryczny Minkowskiego, to małe poprawki do tensora metrycznego Minkowskiego możemy tak wybrać, by były spełnione równania {{LinkWzór|1.42}}, co w połączeniu z {{LinkWzór|1.43}} daje nam pewne {{Formuła|<math>{{\partial{\Lambda^{\mu}}_{\alpha}}\over{\partial x^{\gamma}}}\;</MATH>}}, które możemy tak obrać by były spełnione omawiane warunki lokalnej płaskości. Jeśli mamy dany punkt układu lokalnie płaskiego wedle {{LinkWzór|1.42}} i {{LinkWzór|1.43}}, to tensor Christoffela dla tego punktu jest równy zero i według twierdzenia Taylora istnieje w otoczeniu tego punktu w przybliżeniu canaj wyżej do wyrazów liniowych tensora krzywizny (należy pamiętać, że pochodna cząstkowa tensora krzywizny dla układu lokalnie płaskiego jest równa zero), w którym są spełnione te zależności, też istnieje w przybliżeniu lokalna płaskość dla punktów tego otoczenia. '''Zatem na podstawie powyższych rozważań zawsze istnieje układ lokalnie płaski, w których dla tych punktów spełnione są {{LinkWzór|1.42}} i {{LinkWzór|1.43}}.''' == Tensor gęstości energii-pędu == === Definicja tensora gęstości energii-pędu === W szczególnej teorii względności tensor gęstości energii-pędu przedstawia się według {{LinkWzór|K61a|Lokalna zachowawczość tensora gęstości energii(masy)-pędu|Wyprowadzenie i próba podważenia, praw: szczególnej i ogólnej teorii względności|WPTW}} wzorem: {{CentrujWzór|<MATH>T^{\mu\nu}=(\rho_0 c^2+p)u^{\mu}u^{\nu}-p\eta^{\mu\nu}\;</math>|1.44}} * gdzie {{Formuła|<MATH>\eta^{\mu\nu}\;</math>}} jest to tam tensor przestrzeni metrycznej Minkowskiego o sygnaturze dodatniej, * gdy mamy synaturę przeciwną, tzn.: sygnaturę ujemną, to tensor gęstości energii-pędu ma się jako: {{CentrujWzór|<MATH>T^{\mu\nu}=(\rho c^2+p)u^{\mu}u^{\nu}+p\eta^{\mu\nu}\;</math>|1.45}} My zawsze będziemy przyjmować jak w szczególnej teorii względności tą sygnaturę pierwszą. Wielkość: {{Formuła|<MATH>u^{\mu}={{dx^{\mu}}\over{ds}}\;</math>}} jest to pochodna dla &mu;=0 współrzędnej czasowej zdefiniowanej x{{Sup|0}}=ct względem interwału czasoprzestrzennego zdefiniowanej przez: {{Formuła|<MATH>ds^2=c^2dt^2-dx^2-dy^2-dz^2\;</math>}}, gdy mamy:{{Formuła|<MATH>0\neq \mu=i\;</math>}}, to jest ona pochodna współrzędnej położenia cząstki względem tak samo zdefiniowanego interwału czasoprzestrzennego. Należy pamiętać, że &rho;{{Sub|0}} - to gęstość spoczynkowa, p - to ciśnienie cząstki płynu, w danym punkcie. A także zależy od jej prędkości światła (fal elektromagnetycznych). Miano tensora gęstości energii-pędu ma się jak: {{CentrujWzór|<MATH>[T^{\mu\nu}]={{J}\over{m^3}}={{Nm}\over{m^3}}={{N}\over{m^2}}=Pa\;</math>|1.46}} W ogólnej teorii względności, zastępując wedle schematu {{Formuła|<MATH>\eta^{\mu\nu}\rightarrow g^{\mu\nu}</MATH>}}, oraz metrykę Minkowskiego przez inną metrykę zdefiniowaną zdefiniowaną poprzez tensor {{Formuła|<MATH>g^{\mu\nu}</MATH>}}, czyli wtedy mamy {{LinkWzór|1.3}} dla sygnatury dodatniej, a dla ujemnej {{LinkWzór|1.3G}}, które na ogół nie są tensorami metrycznymi Minkowskiego w OTW, ale może być, przy pierwszej sygnaturze tensora metrycznego Minkowskiego mamy dla tensora energii-pędu w ogólnej teorii względności: {{CentrujWzór|<MATH>T^{\mu\nu}=(\rho c^2+p)u^{\mu}u^{\nu}-pg^{\mu\nu}\Rightarrow {T^{\mu}}_{\nu}=(\rho c^2+p)u^{\mu}u_{\nu}-p{\delta^{\mu}}_{\nu}\;</math>|1.48}} Dla drugiej o sygnaturze otrzymujemy względem przedstawienia tensora gęstości energii-pędu {{LinkWzór|1.48}}, w takim razie: {{CentrujWzór|<MATH>T^{\mu\nu}=(\rho c^2+p)u^{\mu}u^{\nu}+pg^{\mu\nu}\Rightarrow {T^{\mu}}_{\nu}=(\rho c^2+p)u^{\mu}u_{\nu}+p{\delta^{\mu}}_{\nu}\;</math>|1.48a}} Z powyższych definicji wynika, że dla tensora metrycznego jako tensora symetrycznego, wynika symetryczność tensora gęstości energii-pędu przy dowolnym tensorze metrycznym. Na podstawie symetryczności tensora metrycznego wynika, że ten tensor jest macierzą iloczynu skalarnego w czterowymiarowej czasoprzestrzeni. Można też sformułować tensor gęstości energii-pędu {{LinkWzór|1.44}} i {{LinkWzór|1.45}}, zastępując {{Formuła|<MATH>u^{\mu}={{dx^{\mu}}\over{ds}}\;</MATH>}} przez {{Formuła|<MATH>U^{\mu}={{dx^{\mu}}\over{d\lambda}}\;</MATH>}}, gdzie {{Formuła|<MATH>\lambda\;</MATH>}} jest dowolną funkcją {{Formuła|<MATH>\lambda=\lambda(x^{\mu},g^{\mu\nu},s)\;</MATH>}}, gdzie {{Formuła|<MATH>x^{\mu}\;</MATH>}} są to współrzędne kontrawariantne w czasoprzestrzeni, a {{Formuła|<MATH>g^{\mu\nu}\;</MATH>}} to tensor metryczny podwójnie kontrawariantny, dalej {{Formuła|<MATH>s\;</MATH>}} to interwał czasoprzestrzenny. Zatem nasze równania dla sygnatury kolejno dodatniej i ujemnej, spełnione ogólnie: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>T^{\mu\nu}=(\rho_0 c^2+p)U^{\mu}U^{\nu}-p g^{\mu\nu}\;</math>|sd1}} | 2 = {{CentrujWzór|<MATH>T^{\mu\nu}=(\rho_0 c^2+p)U^{\mu}U^{\nu}+pg^{\mu\nu}\;</math>|sd2}} }} Równości {{LinkWzór|sd1}} i {{LinkWzór|sd2}} można też zapisać przy innych układach wskaźników, wtedy zamiast tensora metrycznego jest delta Kroneckera ze wskaźnikiem u góry i u dołu, a jeden tensor prędkości (względem {{Formuła|<MATH>\lambda\;</MATH>}}) jest u dołu, zatem: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>{T^{\mu}}_{\nu}=(\rho_0 c^2+p)U^{\mu}U_{\nu}-p {\delta^{\mu}}_{\nu}\;</math>|sd12}} | 2 = {{CentrujWzór|<MATH>{T^{\mu}}_{\nu}=(\rho_0 c^2+p)U^{\mu}U_{\nu}+p{\delta^{\mu}}_{\nu}\;</math>|sd22}} }} A dla przestrzeni lokalnie płaskiej nasze równania {{LinkWzór|sd1}} i {{LinkWzór|sd2}} wyglądają, te równania są pisane dla szczególnej teorii względności, w którym one są spełnione, a w ogólnej teorii względności są spełnione tylko szczególnie, dla tych sygnatur kolejno, tak: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>T^{\mu\nu}=(\rho_0 c^2+p)U^{\mu}U^{\nu}-p \eta^{\mu\nu}\;</math>|sd11}} | 2 = {{CentrujWzór|<MATH>T^{\mu\nu}=(\rho_0 c^2+p)U^{\mu}U^{\nu}+p\eta^{\mu\nu}\;</math>|sd21}} }} === Zasada zachowania energii-pędu a jego lokalność === Z wykładu o szczególnej teorii względności mamy, że zachodzi lokalna zasada zachowania energii-pędu {{LinkWzór|3.20|Lokalna zachowawczość tensora gęstości energii(masy)-pędu|Wyprowadzenie i próba podważenia, praw: szczególnej i ogólnej teorii względności|WPTW}} z gęstością siły zewnętrznej równą zero: {{CentrujWzór|<MATH>{T^{\mu\nu}}_{,\mu}=0\;</MATH>|1.49}} Powyższy wzór jest spełniony dla punktów układu lokalnie płaskiego, w których zachodzą tożsamości {{LinkWzór|1.42}} i {{LinkWzór|1.43}}, czyli tensor metryczny jest w przybliżeniu tensorem Minkowskiego i jego pierwsze pochodne względem współrzędnych kontrawariantnych są równe zero, ale już o wyższych pochodnych tensora gęstości energii, lokalna definicja lokalnej płaskości nić nie mówi o tych pochodnych, zatem również mamy do czynienia z metryką prawie płaską, gdy mamy do czynienia z układami, w których punktach istnieje słabe pole grawitacyjne, jak np. dla metryki obowiązujących dla pól Newtonowskich. Uogólnijmy ten wzór na dowolną metrykę, ogólnie nie tylko na lokalną płaską metrykę Minkowskiego, ale za tą metrykę obowiązującą wedle ogólnej teorii względności, którą poznamy i z którego będziemy wyznaczać elementy tensora metrycznego i przy pomocy, której będziemy tworzyć definicję kwadratu różniczki interwału czasoprzestrzennego wtedy wzór na zachowawczość tensora gęstości energii i pędu jest: {{CentrujWzór|<MATH>{T^{\mu\nu}}_{;\mu}=0\;</MATH>|1.50}} Powyższe równanie określa zasadę zachowania energii-pędu dla dowolnej przestrzeni zakrzywionej. Gdy siły zewnętrze są nierówne zero, to wtedy z definicji {{Formuła|<MATH>\gamma</MATH>}}, tzn.: {{LinkWzór|hd11|Nadmiarowe równania elementarne teorii grawitacji Einsteina z siłami niegrawitacyjnymi}} mamy w szczególnej teorii względności: {{CentrujWzór|<MATH>{{\gamma}\over{c}}{T^{\mu\nu}}_{,\mu}={{dK^{\mu}_z}\over{dV}}\;</MATH>|ccv1}} Widzimy, że wzór {{LinkWzór|ccv1}} przechodzi {{LinkWzór|1.49}}, gdy gęstość tensora siły zewnętrzne jest równa zero. W przestrzeni zakrzywionej równość {{LinkWzór|ccv1}} przechodzi w: {{CentrujWzór|<MATH>{{\gamma}\over{c}}\sqrt{-g}{T^{\mu\nu}}_{;\mu}={{dK^{\mu}_z}\over{dV}}\;</MATH>|ccv}} Widzimy, że wzór {{LinkWzór|ccv}} przechodzi {{LinkWzór|1.50}}, gdy gęstość tensora siły zewnętrzne jest równa zero. == Równania powiązane tensora Einsteina z tensorem gęstości energii-pędu == === Równania pola Einsteina === Tutaj przedstawmy równania Einsteina bez stałej kosmologicznej, które można zapisać dla przyciągania i odpychania grawitacyjnego, słuszne dla obu sygnatur, kolejno w postaci: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>G^{\alpha\beta}=\kappa T^{\alpha\beta}\;</MaTh>|1.51|Obramuj}} | 2 = {{CentrujWzór|<MATH>G^{\alpha\beta}=-\kappa T^{\alpha\beta}\;</MaTh>|1.51a|Obramuj}} }} Gdy uwzględnimy inne pola, niż grawitacyjne, a także inne siły, to należy zastąpić w {{LinkWzór|1.51}} i {{LinkWzór|1.51a}} według schematu: {{CentrujWzór|<MATH>T^{\mu\nu}\rightarrow T^{\mu\nu}+T^{\mu\nu}_z\;</MATH>|1.51b}} W równaniu {{LinkWzór|1.51b}} mamy tensor {{Formuła|<MATH>T^{\mu\nu}\;</MATH>}}, którym jest {{LinkWzór|1.48}} (sygnatura dodatnia) lub {{LinkWzór|1.48a}} (sygnatura ujemna), albo gdy zamiast {{Formuła|<MATH>s\;</MATH>}} jest {{Formuła|<MATH>\lambda\;</MATH>}}, to wtedy jest on: {{LinkWzór|sd12}} (sygnatura dodatnia) lub {{LinkWzór|sd22}} (sygnatura ujemna). Również mamy tensor {{Formuła|<MATH>T^{\mu\nu}_z\;</MATH>}}, który jest tensorem np. od pola elektromagnetycznego, czy też od innego, a także w nim muszą być uwzględnione wszystkie siły zewnętrzne. Dla równania {{LinkWzór|1.51}} dla przyciągania grawitacyjnego (równania dla odpychania grawitacyjnego w każdym etapie tu przeprowadzonym otrzymujemy z równania dla jej wersji przyciągającej poprzez podstawienie: {{Formuła|<MATH>\kappa\rightarrow -\kappa\;</MATH>}}) zastosujemy definicję tensora Einsteina, to równanie grawitacji na podstawie {{LinkWzór|1.37}} zapisujemy w postaci pełnej: {{CentrujWzór|<MAth>R^{\alpha\beta}-{{1}\over{2}}g^{\alpha\beta}R=\kappa T^{\alpha\beta}\;</math>|1.52}} Widzimy, że tensor Einsteina (lewa strona równania Einsteina {{LinkWzór|1.52}}) jest zależna od dwuwskaźnikowego tensora krzywizny oraz od skalaru krzywizny. W powyższym wzorze tensor Einsteina jest w proporcjonalny do tensora gęstości energii. Przekształcając równanie Einsteina {{LinkWzór|1.52}} tak by otrzymać jego odwrotną postać, gdy tensor czegoś w rodzaju równania Einsteina omawianego wcześniej, czyli: {{CentrujWzór|<MATH>T^{\alpha\beta}-{{1}\over{2}}g^{\alpha\beta}T</MATH>}} Z równań Einsteina można udowodnić, że przechodzi on do postaci, które poniżej podamy, ale bardzo podobnych do oryginalnych równań Einsteina {{LinkWzór|1.52}}, gdy wszystkie tensory w równaniu Einsteina przedstawimy jako kowariantno-kontrawariantnego tensora, dokonując sumować po tych samych wskaźnikach górno-dolnych i po tych czynnościach dostajemy skalary odpowiednich wielkości, tzn. skalaru krzywizny i skalaru tensora gęstości napięć-energii, dzięki których możemy dokonać dalszych operacji: {{CentrujWzór|<maTH>R-{{1}\over{2}}4R=\kappa T\Rightarrow -R=\kappa T\;</math>|1.53}} Dokonując pewnych przekształceń pewnych wyrażeń w {{LinkWzór|1.53}}, wtedy wiemy po tych dysputach, że skalar krzywizny ma się jako: {{CentrujWzór|<MATh>R=-\kappa T\;</math>|1.54}} Widzimy względem ostatniego wzoru, że skalar krzywizny jest proporcjonalny do skalaru tensora gęstości napięć-energii. Wzór {{LinkWzór|1.54}} na skalar krzywizny podstawiamy do równania Einsteina {{LinkWzór|1.51}} za skalar krzywizny (za R), wtedy mamy: {{CentrujWzór|<MATH>{R^{\mu}}_{\nu}+{{1}\over{2}}{\delta^{\mu}}_{\nu}\kappa T=\kappa {T^{\mu}}_{\nu}\;</math>|1.55}} Następnie możemy przenieść pewne wyrazy nie będące tensorem krzywizny na prawą stronę, a więc równanie tensorowe Einsteina przestawia się: {{CentrujWzór|<math>{R^{\mu}}_{\nu}=\kappa({T^{\mu}}_{\nu}-{{1}\over{2}}{\delta^{\mu}}_{\nu}T)\;</math>|1.56}} Równanie pola {{LinkWzór|1.57}} względem wcześniejszych obliczeń jest równoważne równaniu {{LinkWzór|1.51}}, a równanie tensorowe dla odpychania grawitacyjnego {{LinkWzór|1.57r}} otrzymujemy z jej wersji, ale przyciągającej, zastępując w {{LinkWzór|1.57}} przez proste wspomniane zastąpienie, wtedy otrzymujemy drugi wzór niżej, a ten wzór jest równoważny równaniu {{LinkWzór|1.51a}}, w takim razie: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>R_{\mu\nu}=\kappa(T_{\mu\nu}-{{1}\over{2}}g_{\mu\nu}T)\;</math>|1.57}} | 2 = {{CentrujWzór|<MATH>R_{\mu\nu}=-\kappa(T_{\mu\nu}-{{1}\over{2}}g_{\mu\nu}T)\;</math>|1.57r}} }} Równanie Einsteina wyjściowe, tzn.: {{LinkWzór|1.57}}, jest słuszne dla obu sygnatur, podobnie jest z równaniem {{LinkWzór|1.57r}}, które wyprowadziliśmy z ich wersji, ale wejściowych. === Równania pola Einsteina z uwzględnieniem stałej kosmologicznej === Przedstawmy równania pola Einsteina z uwzględnieniem stałej kosmologicznej, czyli musimy uwzględnić rozszerzony tensor Einsteina w postaci {{LinkWzór|1.40}}, a więc równanie Einsteina {{LinkWzór|1.51}} {{LinkWzór|1.51a}} z jego uwzględnieniem o dodatkowy wyraz są dla przyciągania i odpychania grawitacyjnego przedstawione kolejno: {{ElastycznyWiersz | 1 = {{CentrujWzór|<math>O^{\alpha\beta}=\kappa T^{\mu\nu}\;\;</MATH>|1.58}} | 2 = {{CentrujWzór|<math>O^{\alpha\beta}=-\kappa T^{\mu\nu}\;\;</MATH>|1.58GG}} }} Podstawiając za O{{Sup|&alpha;&beta;}} definicję tego tensora wedle {{LinkWzór|1.40}}, czyli z uwzględnieniem stałej kosmologicznej &Lambda;, wtedy dostajemy równanie grawitacji Einsteina dla obu rodzajów oddziaływania grawitacyjnego kolejno: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>G^{\alpha\beta}+\Lambda g^{\alpha\beta}=\kappa T^{\alpha\beta}\;</MATH>|1.59}} | 2 = {{CentrujWzór|<MATH>G^{\alpha\beta}+\Lambda g^{\alpha\beta}=-\kappa T^{\alpha\beta}\;</MATH>|1.59ww}} }} Równanie {{LinkWzór|1.59}} dla oddziaływania grawitacyjnego przyciągającego (dla odpychania grawitacyjnego w każdym etapie tu przeprowadzonym otrzymujemy z równania z jej wersji, ale dla oddziaływania przyciągającego, poprzez podstawienie: {{Formuła|<MATH>\kappa\rightarrow -\kappa\;</MATH>}}) można zapisać w postaci bezwskaźnikowej bez uwzględnienia z jakimi tensorami mamy do czynienia: {{CentrujWzór|<maTh>\mathbf{G}+\mathbf{g}\Lambda=\kappa\mathbf{T}\;\;</MATH>|1.60}} * gdzie {{Formuła|<MaTH>\mathbf{G}\;</MATH>}} jest tensorem Einsteina i ona jest zdefiniowane wedle {{LinkWzór|1.37}}. Policzmy ślady w równaniu tensora Einsteina {{LinkWzór|1.60}} względem niemych tych samych wskaźników górno-dolnych do wyznaczenia ich jako skalarów tychże wielkości, czyli tensor Einsteina przedstawimy w postaci kowariantno-kontrawariantnego tensora {{LinkWzór|1.59}}: {{CentrujWzór|<MATH>G=R-{{1}\over{2}}4 R\Rightarrow G=-R\;</MATH>|1.61}} Widzimy, że skalar tensora Einsteina jest równa skalarowi krzywizny z dokładnością do minusa. Uwzględniając definicję rozszerzonego tensora Einsteina w równaniu Einsteina {{LinkWzór|1.59}}, gdy w ogólności stała kosmologiczna jest nie równa zero, zatem licząc ich ślady, wtedy mamy: {{CentrujWzór|<MATH>G+4\Lambda=\kappa T\;</MATH>|1.62}} Biorąc policzoną wartość skalaru G {{LinkWzór|1.61}} podstawiamy do równania skalarnego {{LinkWzór|1.62}}, wtedy dostajemy równość: {{CentrujWzór|<MATH>-R+4\Lambda=\kappa T\Rightarrow R=4\Lambda-\kappa T\;</MATH>|1.63}} Widzimy, że skalar krzywizny zależy od stałej kosmologicznej i skalaru tensora gęstości energii, stąd mamy czemu jest równy skalar Ricciego, poniżej mamy równania Einsteina w jego pełnej postaci z uwzględnieniem stałej kosmologicznej, zapisując je w postaci bezwskaźnikowej: {{CentrujWzór|<MATH>\mathbf{R}-{{1}\over{2}}\mathbf{g}R+\Lambda\mathbf{g}=\kappa\mathbf{T}\;</MATH>|1.64}} Wszystkie wyrazy po lewej stronie przenosimy na prawą stronę równania {{LinkWzór|1.64}} oprócz tensora krzywizny, wtedy dostajemy po przekształceniu: {{CentrujWzór|<MATH>\mathbf{R}=\kappa\mathbf{T}+{{1}\over{2}}\mathbf{g}R-\Lambda\mathbf{g}\;</MATH>|1.65}} Następnym naszym krokiem jest podstawienie za skalar krzywizny Ricciego, w równaniu tensorowym {{LinkWzór|1.65}} wyrażenia policzonego w punkcie {{LinkWzór|1.63}}, wtedy po dokonanych operacjach tuż po, dostajemy: {{CentrujWzór|<MATH>\mathbf{R}=\kappa\mathbf{T}+{{1}\over{2}}\mathbf{g}(4\Lambda-\kappa T)-\Lambda\mathbf{g}\;</MATH>|1.66}} Po krótkich przekształceniach i redukcji pewnych wyrazów w {{LinkWzór|1.66}}, otrzymujemy że tensor dwuwskaźnikowy krzywizny jest równy pewnemu wyrażeniu, bardzo podobnego do pierwotnego równania Einsteina {{LinkWzór|1.64}} z uwzględnieniem stałej kosmologicznej. {{CentrujWzór|<MaTH>\mathbf{R}=\kappa(\mathbf{T}-{{1}\over{2}}\mathbf{g}T)+\Lambda\mathbf{g}\;</MATH>|1.67}} Równanie pola {{LinkWzór|1.68}} względem wcześniejszych obliczeń jest równoważne równaniu {{LinkWzór|1.59}}, a równanie tensorowe dla odpychania grawitacyjnego {{LinkWzór|1.68r}} otrzymujemy z jej wersji, ale dla oddziaływania przyciągającego, zastępując w {{LinkWzór|1.68}} przez proste wspomniane zastąpienie, wtedy otrzymujemy drugi wzór niżej, a ten wzór jest równoważny równaniu {{LinkWzór|1.59ww}}, w takim razie: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>R_{\alpha\beta}=\kappa(T_{\alpha\beta}-{{1}\over{2}}g_{\alpha\beta}T)+g_{\alpha\beta}\Lambda\;</MATH>|1.68}} | 2 = {{CentrujWzór|<MATH>R_{\alpha\beta}=-\kappa(T_{\alpha\beta}-{{1}\over{2}}g_{\alpha\beta}T)+g_{\alpha\beta}\Lambda\;</MATH>|1.68r}} }} Równanie Einsteina wyjściowe, tzn.: {{LinkWzór|1.68}}, jest słuszne dla obu sygnatur, podobnie jest z równaniem {{LinkWzór|1.68r}}, które wyprowadziliśmy z ich wersji, ale wejściowych. == Zachowawczość energii, a równania grawitacji Einsteina == Korzystając z równań grawitacji Einsteina {{LinkWzór|1.58}}, to równania są tak sformułowane, by była spełniona zasada energii, tzn. jeśli lewa strona tegoż równania, którego pochodna tensorowa jest równe zero według {{LinkWzór|1.41}}, to musi być spełniona zasada zachowania energii i pędu, tzn. dokonując różniczkowania tensorowego obu stron naszego równania, otrzymujemy: {{CentrujWzór|<MATH>{O^{\alpha\beta}}_{;\beta}=\kappa {T^{\alpha\beta}}_{;\beta}\Rightarrow {T^{\alpha\beta}}_{;\beta}=0\;</MATH>|1.69}} Z obliczeń {{LinkWzór|1.69}} wynika równanie {{LinkWzór|1.50}}, czyli z ogólnej teorii względności wynika zasada zachowania energii i pędu. <noinclude>{{SkomplikowanaStronaKoniec}}</noinclude> izorefxwm79kbvvzqitjkeje4wqme4e Ogólna teoria względności/Zasada wariacyjna w ogólnej teorii względności 0 16167 559121 559120 2026-10-11T12:24:34Z Persino 2851 559121 wikitext text/x-wiki <noinclude><!-- -->{{SkomplikowanaStronaStart<!-- -->| stopka strony = {{Kreska nawigacja|{{AktualnaKsiążka}}|{{NastępnyArtykuł}}|{{PoprzedniArtykuł}}}}<!-- -->}}</noinclude> '''Ogólna teoria względności według Hilberta''' polega na całce działania Eulera-Lagrange, która przyjmuje najmniejszą wartość i w oparciu o rachunek wariacyjny wyprowadzimy równania grawitacji Einsteina-Hilberta. Również wyprowadzimy wedle tej samej zasady lokalną zasadę zachowania energii, a także wyprowadzimy równanie linii geodezyjnej z odpowiedniej definicji funkcji Langrange'a. == Równania grawitacji Einsteina-Hilberta == Całka działania w przestrzeni Minkowskiego jest to całka, w której funkcją podcałkową jest gęstość Lagrangianu {{Formuła|<MATH>\mathfrak{L}\;</MATH>}} liczoną względem infinitezymalnej objętości w przestrzeni czterowymiarowej. {{CentrujWzór|<MATH>S=\int \mathfrak{L}d{x^'}^4\;</MATH>|4.1}} Możemy uwzględnić policzoną na liczbach ogólnych objętość elementarną w lokalnie płaskim układzie współrzędnym względem tej samej objętości w krzywoliniowym układzie współrzędnej wedle sposobu {{LinkWzór|3.9|Właściwości_skalaru_tensora_metrycznego}}, podstawiając go do całki Lagrange'a {{LinkWzór|4.1}}: {{CentrujWzór|<MATH>S=\int\underbrace{\sqrt{-g}\mathfrak{L}}_{\mathfrak{L}^'}dx^4\;</MATH>|4.2}} Aby powyższa całka przyjmowała najmniejszą wartość, to należy napisać równanie Eulera-Lagranga, którego postać względem parametru &phi; i &part;{{Sub|&mu;}}&phi; jest. {{CentrujWzór|<MATH>\partial_{\mu}{{\partial \mathfrak{L}^'}\over{\partial(\partial_{\mu}\varphi)}}-{{\partial\mathfrak{L}^'}\over{\partial\varphi}}=0\;</MATH>|4.3}} Gęstość lagrangianu można rozpisać jako sumę na dwie jego części, tzn.: na część przestrzenną i masową jako sumę tychże wielkości: {{CentrujWzór|<MATH>\mathfrak{L}=\mathfrak{L}_g+\mathfrak{L}_m\;</MATH>|4.4}} Rozważmy teraz część przestrzenną Lagrangianu {{LinkWzór|4.4}}, rozwijając go w szereg Taylora względem skalaru krzywizny, co można go przestawić: {{CentrujWzór|<MATH>\mathfrak{L}_g=a+bR+cR^2+...\;</MATH>|4.5}} Wprowadźmy wstępne oznaczenia na stałe "a" i "b" poprzez stałą kosmologiczną &Lambda; i przez stałą &kappa; występującego w prawie grawitacji Einsteina {{LinkWzór|1.51|Wprowadzenie do ogólnej teorii względności}}. {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>a=-{{\Lambda}\over{\pm \kappa}}\;</MATH>|4.6}} | 2 = {{CentrujWzór|<MATH>b={{1}\over{\pm 2\kappa}}\;</MATH>|4.7}} }} * Znak w {{LinkWzór|4.6}} i {{LinkWzór|4.7}} jest dla znaku na górze dla przyciągania grawitacyjnego, a ujemna na dole dla odpychania grawitacyjnego. Tzn. gdy chcermy opisywać przyciąganie grawitacyjne, to stała {{Formuła|<MATH>\kappa\;</MATH>}} jest dodatnia, a jeśli odpychanie, to zamiast {{Formuła|<MATH>\kappa\;</MATH>}} wstawiamy {{Formuła|<MATH>-\kappa\;</MATH>}}, a ta stała {{Formuła|<MATH>\kappa\;</MATH>}} w nim jest dodatnia, a więc tak mozna przejść od przyciągania do odpychania we stałych {{LinkWzór|4.6}} i {{LinkWzór|4.7}}, tzn. zamieniając w nich {{Formuła|<MATH>+\;</MATH>}} na {{Formuła|<MATH>-\;</MATH>}}, i dlatego tam piszemy dla obu rodzajów oddziaływań grawitacyjnych {{Formuła|<MATH>\pm\;</MATH>}}. Część przestrzenna Lagrangianu {{LinkWzór|4.5}} wedle oznaczeń {{LinkWzór|4.6}} i {{LinkWzór|4.7}} po dokonanych podstawieniach za "a" i "b", przy którym dalsze współczynniki przyjmujemy za równe zero, przyjmuje postać. {{CentrujWzór|<MATH>\mathfrak{L}_g={{1}\over{\pm 2\kappa}}(R-2\Lambda)\;</MATH>|4.8}} Można udowodnić, że dla czasoprzestrzeni zakrzywionej mamy g<0, a zatem całkę działania {{LinkWzór|4.2}}, wykorzystując przy tym wzór na całkowity Lagrangian {{LinkWzór|4.4}}, która jest sumą Lagrangianu przestrzennego {{LinkWzór|4.8}} i masowego, jest napisana wzorem: {{CentrujWzór|<MATH>S=\int d^4x\sqrt{-g}\left\{{{1}\over{\pm 2\kappa}}(R-2\Lambda)+\mathfrak{L}_m\right\}\;</MATH>|4.9}} * gdzie:{{Formuła|<MATH>g=-\operatorname{\det}(g_{\alpha\beta})\;</MATH>}} Ale {{Formuła|<MATH>\sqrt{-g}\;</MATH>}} jest to Jakobian, który pozwala przejść do układu krzywoliniowej w ogólnej teorii względności z układu lokalnie płaskiego Minkowskiego. Nowa gęstość lagrangianu zdefiniowana na podstawie punktu {{LinkWzór|4.9}} w stosunku do {{LinkWzór|4.4}} jest zdefiniowana: {{CentrujWzór|<MATH>\mathfrak{L}^'=\sqrt{-g}\mathfrak{L}=\sqrt{-g}\left\{{{1}\over{\pm 2\kappa}}(R-2\Lambda)+\mathfrak{L}_m\right\}\;</MATH>|4.10}} Równanie Eulera Einsteina {{LinkWzór|4.3}} względem nowego Lagrangianu {{Formuła|<MATH>\mathfrak{L}^'\;</MATH>}}, jest iloczynem gęstości Lagrangianu tego starego {{Formuła|<MATH>\mathfrak{L}\;</MATH>}} przez pierwiastek z wyznacznika macierzy metrycznej wziętej z minusem, zatem jeśli przyjmować będziemy {{Formuła|<MATH>\varphi=g^{\alpha\beta}\;</MATH>}} przy {{LinkWzór|4.3}}, to równanie Eulera-Lagrange przyjmuje wtedy postać: {{CentrujWzór|<MATH>\partial_{\mu}{{\partial \mathfrak{L}\sqrt{-g}}\over{\partial(\partial_{\mu}g^{\alpha\beta})}}-{{\partial \mathfrak{L}\sqrt{-g}}\over{\partial g^{\alpha\beta}}}=0\;</MATH>|4.11}} Jeśli Lagrangian nie zależy od pochodnych elementów tensora metrycznych względem współrzędnych x{{Sup|&mu;}} w przestrzeni nieuklidesowej, to pierwszy wyraz w {{LinkWzór|4.11}} zapisujemy: {{CentrujWzór|<MATH>\partial_{\mu}{{\partial \mathfrak{L}\sqrt{-g}}\over{\partial(\partial_{\mu}g^{\alpha\beta})}}=0\;</MATH>|4.12}} A zatem równanie Eulera Einsteina po uwzględnieniu powyższej tożsamości {{LinkWzór|4.12}}, czyli pierwszy wyraz w {{LinkWzór|4.11}} znika, zatem dostajemy z omawianego równania: {{CentrujWzór|<MATH>{{\partial}\over{\partial g^{\alpha\beta}}}\left(\sqrt{-g}\mathfrak{L}\right)=0\;</MATH>|4.13}} Jeśli skorzystamy z twierdzenia o pochodnej iloczynu względem jakieś zmiennej ściśle określonej oraz wykorzystujemy wzór {{LinkWzór|3.18|Właściwości_skalaru_tensora_metrycznego}}, wtedy mamy: {{CentrujWzór|<MATH>\sqrt{-g}{{\partial\mathfrak{L}}\over{\partial g^{\alpha\beta}}}+\mathfrak{L}{{\partial\sqrt{-g}}\over{\partial g^{\alpha\beta}}}=0\Rightarrow \sqrt{-g}{{\partial\mathfrak{L}}\over{\partial g^{\alpha\beta}}}+\mathfrak{L}{{gg_{\alpha\beta}}\over{2\sqrt{-g} }}=0\;</MATH>|4.14}} Całkowity Lagrangian po podstawieniu {{LinkWzór|4.8}} do {{LinkWzór|4.4}} przyjmuje postać: {{CentrujWzór|<MATH>\mathfrak{L}={{1}\over{\pm 2\kappa}}(R-2\Lambda)+\mathfrak{L}_m\;</MATH>|4.15}} Ostatnie równanie, które wynika z równania Eulera-Lagrangian {{LinkWzór|4.14}} ma się po podstawieniu do niej za całkowitą gęstość lagrangianu {{LinkWzór|4.15}}: {{CentrujWzór|<MATH>\sqrt{-g}{{\partial}\over{\partial g^{\alpha\beta}}}\left({{1}\over{\pm 2\kappa}}(R-2\Lambda)+\mathfrak{L}_m\right)+ \left({{1}\over{\pm 2\kappa}}(R-2\Lambda)+\mathfrak{L}_m\right){{1}\over{2\sqrt{-g}}}gg_{\alpha\beta}=0\;</MATH>|4.16}} Po podzieleniu obustronnie równości {{LinkWzór|4.16}} przez pierwiastek wyznacznika macierzy tensora metrycznego wziętej z minusem, czyli&nbsp;{{Formuła|<MATH>\sqrt{-g}\;</MATH>}}: {{CentrujWzór|<MATH>-{{1}\over{\pm 4\kappa}}g_{\alpha\beta}(R-2\Lambda)-{{1}\over{2}}g_{\alpha\beta}\mathfrak{L}_m+ {{\partial}\over{\partial g^{\alpha\beta}}}\left({{1}\over{\pm 2\kappa}}(R-2\Lambda)+\mathfrak{L}_m\right)=0\;</MATH>|4.17}} Jeśli wiadomo,że zachodzi wzór na skalar Ricciego {{Formuła|<MATH>R=g^{\alpha\beta}R_{\alpha\beta}\;</MATH>}}, i tensor Ricciego {{Formuła|<MATH>{{\partial R}\over{\partial g^{\alpha\beta}}}=R_{\alpha\beta}\;</MATH>}}, a także na podstawie powyższej równości {{LinkWzór|4.17}} mamy: {{CentrujWzór|<MATH>-{{1}\over{\pm 4\kappa}}g_{\alpha\beta}(R-2\Lambda)-{{1}\over{2}}g_{\alpha\beta}\mathfrak{L}_m+{{1}\over{\pm 2\kappa}}R_{\alpha\beta}+{{\partial\mathfrak{L}_m}\over{\partial g^{\alpha\beta}}}=0\Rightarrow{{1}\over{\pm 2\kappa}}\left[\left(R_{\alpha\beta}-{{1}\over{2}}g_{\alpha\beta}R\right)+g_{\alpha\beta}\Lambda\right]= -{{1}\over{2}}\left(2{{\partial\mathfrak{L}_m}\over{\partial g^{\alpha\beta}}}-g_{\alpha\beta}\mathfrak{L}_m\right)\;</MATH>|4.18}} Następnie podzielmy ostatnią równość, czyli zapisaną w punkcie {{LinkWzór|4.18}}, przez {{Formuła|<MATH>-{{1}\over{2\kappa}}\;</MATH>}}, otrzymujemy dla sygnatury dodatniej: {{CentrujWzór|<MATH>R_{\alpha\beta}-{{1}\over{2}}g_{\alpha\beta}R+g_{\alpha\beta}\Lambda=\pm \kappa\left(-2{{\partial\mathfrak{L}_m}\over{\partial g^{\alpha\beta}}}+g_{\alpha\beta}\mathfrak{L}_m\right)\;</MATH>|4.19}} * Powyższe równanie jest dla sygnatury dodatniej. Ponieważ przyjęliśmy że definicja tensora Einsteina jest wedle {{LinkWzór|1.37|Wprowadzenie do ogólnej teorii względności}}, a rozszerzony tensor Einsteina jest w postaci {{LinkWzór|1.40|Wprowadzenie do ogólnej teorii względności}}, a tensor gęstości energii-pędu przyjmuje postać według naszych rozważań według {{LinkWzór|4.19}} dla sygnatury dodatniej (dla sygnatury ujemnej tensor gęstości energii-pędu różni się od tego samego dla sygnatury dodatniej minusem, bo zamieniamy w tym tensorze {{Formuła|<MATH>g^{\mu\nu}\;</MATH>}} na {{Formuła|<MATH>-g^{\mu\nu}\;</MATH>}}, tzn. formalnie, by dla obu sygnator względem siebie ten tensor miał przeciwną, tylko formalnie, postać), pierwsza dla sygnatury dodatniej, a druga dla ujemnej, przechodząc z sygnatury dodatniej do ujemnej, a te tensory kolejno mamy: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>T_{\alpha\beta}=-2{{\partial\mathfrak{L}_m}\over{\partial g^{\alpha\beta}}}+g_{\alpha\beta}\mathfrak{L}_m\;</MATH>|4.20}} | 2 = {{CentrujWzór|<MATH>T_{\alpha\beta}=2{{\partial\mathfrak{L}_m}\over{\partial g^{\alpha\beta}}}-g_{\alpha\beta}\mathfrak{L}_m\;</MATH>|4.20S}} }} Pisząc dla obu sygnatur tensora Minkowskiego, to ostatecznie równanie grawitacji wyprowadzonej przez Hilberta z zasady wariacyjnej, ze stałą kosmologiczną, są kolejno przedstawione dla obu typu oddziaływań, tzn. przyciągania i odpychania: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>G_{\alpha\beta}+g_{\alpha\beta}\Lambda=\kappa T_{\alpha\beta}\;</MATH>|4.21}} | 2 = {{CentrujWzór|<MATH>G_{\alpha\beta}+g_{\alpha\beta}\Lambda=-\kappa T_{\alpha\beta}\;</MATH>|4.2122}} }} Wyprowadzając równanie {{LinkWzór|4.19}} (przy stałej proporcjalności przy {{Formuła|<MATH>\kappa\;</MATH>}} z plusem), mając gęstość lagrangianu przestrzennego {{LinkWzór|4.8}}, biorąc przy nim {{Formuła|<MATH>\kappa\;</MATH>}} z tylko z jednym znakiem, tzn. z plusem, - a więc trochę inaczej - to wtedy wychodzą wzory {{LinkWzór|4.20}} (który jest dla przyciągania grawitacyjnego - sygnatura dodatnia) i {{LinkWzór|4.20S}} (który jest dla odpychania grawitacyjnego - sygnatura ujemna), a ten pierwszy wzór jest dla sygnatury dodatniej, a drugi dla ujemnej, co na tej podstawie wychodząc wzory: {{LinkWzór|4.21}} i {{LinkWzór|4.2122}}, a teraz weźmy znak przy tej stałej z minusem w {{LinkWzór|4.19}}, wtedy otrzymujemy równanie o takiej samej postaci co {{LinkWzór|4.21}}, a tam tensor gęstości energii-pędu jest wtedy o sygnaturze ujemnej, a dla drugiej sygnatury otrzymujemy równanie {{LinkWzór|4.2122}}, a tam tensor gęstości energii-pędu jest dla sygnatury dodatniej, a teraz znak przy {{Formuła|<MATH>\kappa\;</MATH>}} przyjmijmy taki: {{Formuła|<MATH>\mp\;</MATH>}}, to wtedy dla jej znaku minus w równaniu {{LinkWzór|4.19}}, to wtedy tensor gęstości energii-pędu jest dla sygnatury ujemnej w równaniu o postaci {{LinkWzór|4.21}}, a dla jej znaku dodatniego też dla sygnatury ujemnej w równaniu {{LinkWzór|4.20S}}. Sygnaturę tensora gęstości energii-pędu: {{LinkWzór|4.20}} i {{LinkWzór|4.20S}} można zmienić na przeciwną, jeżeli dokonamy podstawienia w tym tensorze według: {{Formuła|<MATH>g^{\mu\nu}\rightarrow-g^{\mu\nu}\;</MATH>}}. Do powyższych tych wniosków dośliśmy z dokładnością, co do znaku przy stałej kosmologicznej {{Formuła|<MATH>\Lambda\;</MATH>}}. Ten same tensory gęstości energii-pędu, co przedstawiony w punktach: {{LinkWzór|4.20}} i {{LinkWzór|4.20S}}, ale później udowodnimy go z zasady wariacyjnej, ale jeszcze dodatkowo wspomniemy o własności lokalnej zasady zachowania tensora gęstości energii-pędu dla układu lokalnie płaskiego, tzn.: T{{Sup|&mu;&nu;}}{{Sub|,&nu;}}=0, mając {{LinkWzór|1.49|Wprowadzenie_do_ogólnej_teorii_względności}}, co później można udowodnić lokalną zasadę zachowania tensora gęstości energii-pędu ogólnie dla układu zakrzywionego {{LinkWzór|1.50|Wprowadzenie_do_ogólnej_teorii_względności}} na podstawie {{LinkWzór|2.27|Tensor gęstości energii-pędu}} z rachunku tensorowego, nie wariacyjnego (według zasady wariacyjnej to samo wychodzi, co z rachunku tensorowego, tzn. lokalną zachowawczość gęstości tensora energii-pędu). == Lokalna zachowawczość tensora gęstości energii-pędu == Będziemy tutaj wyprowadzać lokalną zachowawczość dla wszystkich rodzajów układów i pokażemy, że ogólna teoria względności jest spełniona dla układów lokalnie płaskich i zakrzywionych. ==== Lokalna zachowawczość (przypadek ogólny) ==== Określmy gęstość lagranianu w czasoprzestrzeni lokalnie płaskiej, który jest funkcją współrzędnych uogólnionych i ich pierwszych pochodnych względem współrzędnych czasoprzestrzennych x{{Sup|&alpha;}}, i jego miano jest takie J/m{{Sup|3}}, ale aby policzyć właściwy Lagrangian należy gęstość Lagrangianu przecałkować po całej przestrzeni trójwymiarowej, wtedy możemy określić jego całkę działania, wiedząc, że dla układów lokalnie płaskich i zakrzywionych {{Formuła|<MATH>g_{\mu\nu}\;</MATH>}} ({{Formuła|<MATH>g\;</MATH>}} tylko zależy od zmiennych {{Formuła|<MATH>g_{\mu\nu}\;</MATH>}}), {{Formuła|<MATH>{x^{\mu}}\;</MATH>}}, {{Formuła|<MATH>{x^{\mu}}_{,\alpha}\;</MATH>}} i {{Formuła|<MATH>q^{\alpha}\;</MATH>}} są zmiennymi niezależnymi względem siebie, zapisaną wedle sposobu w układzie lokalnie płaskim: {{CentrujWzór|<MATH>S=c\int^{t_2}_{t_1}dt\int \mathfrak{L}({x^{\mu}},{x^{\mu}}_{,\alpha},q^{\alpha}) dV=\int \mathfrak{L}({x^{\mu}},{x^{\mu}}_{,\alpha},q^{\alpha})dVd(ct)</MATH>|4.22}} * Oznaczając przy tym d&tau;=dVd(ct)=dx{{Sup|0}}dx{{Sup|1}}dx{{Sup|2}}dx{{Sup|3}} jako elementarna gęstość w przestrzeni czterowymiarowej (czasoprzestrzeni) * gdzie dx{{Sup|0}}=cdt jest to różniczka współrzędnej czasowej liczonych w metrach, który jest jako iloczyn prędkości światła i różniczki czasu znanej z codziennego życia, który jest mierzony w sekundach, * x{{Sup|i}} to są współrzędne przestrzenne liczone są w tylko metrach. Po powyższych przekształceniach, wiedząc na oznaczenie w elementarnej infinitezymalnej objętości, wtedy całkę działania {{LinkWzór|4.22}} można przedstawić wedle sposobu: {{CentrujWzór|<MATH>S=c\int\mathfrak{L}({x^{\mu}},{x^{\mu}}_{,\alpha}, q^{\alpha})dVdt=\int\mathfrak{L}({x^{\mu}},{x^{\mu}}_{,\alpha}, q^{\alpha})d\tau=\int\sqrt{-g}\mathfrak{L}({x^{\mu}},{x^{\mu}}_{,\alpha}, q^{\alpha})d^4q^{\alpha}</MATH>|4.23}} W powyższym wzorze oznaczeniem q{{Sup|&mu;}} oznaczyliśmy współrzędne uogólnione, które opisują układ zanurzony w kartezjańskim układzie współrzędnych. Znając całkę działania {{LinkWzór|4.23}} możemy napisać równanie Eulera-Lagrange'a, pamiętając o niezależności pewnych zmiennych względem siebie, wedle sposobu: {{CentrujWzór|<MATH>{{\partial}\over{\partial q^{\alpha}}}{{\partial \sqrt{-g}\mathfrak{L}}\over{\partial {x^{\mu}}_{,\alpha}}}-{{\partial \sqrt{-g}\mathfrak{L}}\over{\partial {x^{\mu}}}}=0\Rightarrow {{\partial}\over{\partial q^{\alpha}}}{{\partial \mathfrak{L}}\over{\partial {x^{\mu}}_{,\alpha}}}-{{\partial \mathfrak{L}}\over{\partial {x^{\mu}}}}=0</MATH>|4.24}} Rozpiszmy teraz z definicji różniczki zupełnej pochodną cząstkową Lagrangianu względem współrzędnej kontrawariantnej q{{Sup|&beta;}} w przestrzeni Minkowskiego na wyrażenie zapisaną za pomocą pochodnej tego samego lagrangianu względem współrzędnej uogólnionej x{{Sup|&mu;}} i względem pochodnej wspomnianej współrzędnej względem współrzędnej uogólnionej q{{Sup|&alpha;}}, czyli x{{Sup|&mu;}}{{Sub|,&alpha;}}: {{CentrujWzór|<MATH>{{\partial \mathfrak{L}}\over{\partial q^{\beta}}}={{\partial \mathfrak{L}}\over{\partial {x^{\mu}}}}{x^{\mu}}_{,\beta}+{{\partial \mathfrak{L}}\over{\partial {x^{\mu}}_{,\alpha}}}{x^{\mu}}_{,\alpha,\beta}</MATH>|4.25}} Z zasady wariacyjnej {{LinkWzór|4.24}} można napisać tak by po przenoszeniu drugiego wyrazu na prawą stronę i odwracając stronami, po tej operacji dostajemy: {{CentrujWzór|<MATH>{{\partial \mathfrak{L}}\over{\partial {x^{\mu}}}}={{\partial}\over{\partial q^{\alpha}}}{{\partial \mathfrak{L}}\over{\partial {x^{\mu}}_{,\alpha}}}</MATH>|4.26}} Podstawiamy równanie {{LinkWzór|4.26}} do pierwszego wyrazu z prawej strony równania {{LinkWzór|4.25}} i dokonując zwinięcia pewnych wyrazów, w której wystepują pod pochodną względem jakieś współrzędnej: {{CentrujWzór|<MATH>{{\partial \mathfrak{L}}\over{\partial q^{\beta}}}={{\partial}\over{\partial q^{\alpha}}}{{\partial \mathfrak{L}}\over{\partial {x^{\mu}}_{,\alpha}}}{x^{\mu}}_{,\beta}+{{\partial \mathfrak{L}}\over{\partial {x^{\mu}}_{,\alpha}}}{x^{\mu}}_{,\alpha,\beta}\Rightarrow{{\partial \mathfrak{L}}\over{\partial q^{\beta}}}={{\partial}\over{\partial q^{\alpha}}}\left({{\partial \mathfrak{L}}\over{\partial {x^{\mu}}_{,\alpha}}}{x^{\mu}}_{,\beta}\right)</MATH>|4.27}} Wiemy jednak, z definicji delty Kroneckera możemy zapisać pochodną lagrangianu względem zmiennej q{{Sup|&beta;}} troszkę w innej postaci przy pomocy ostatnio wspomnianego obiektu. {{CentrujWzór|<MATH>{{\partial \mathfrak{L}}\over{\partial q^{\beta}}}={\delta^{\alpha}}_{\beta}{{\partial \mathfrak{L}}\over{\partial q^{\alpha}}}</MATH>|4.28}} Równanie {{LinkWzór|4.27}} możemy napisać po podstawieniu do niego udowodnionej tożsamości {{LinkWzór|4.28}}, wtedy otrzymujemy równanie, wyłączając operator pochodnej cząstkowej względem x{{Sup|&alpha;}}, zatem: {{CentrujWzór|<MATH>0={{\partial}\over{\partial q^{\alpha}}}\left({{\partial \mathfrak{L}}\over{\partial {x^{\mu}}_{,\alpha}}}{x^{\mu}}_{,\beta}-{\delta^{\alpha}}_{\beta}\mathfrak{L}\right)</MATH>|4.29}} Równanie {{LinkWzór|4.29}} mnożymy przez g;{{Sup|&beta;&gamma;}}, otrzymujemy: {{CentrujWzór|<MATH>0={{\partial}\over{\partial q^{\alpha}}}\left({{\partial \mathfrak{L}}\over{\partial {x^{\mu}}_{,\alpha}}}{x^{\mu}}_{,\beta}g^{\gamma\beta}-g^{\gamma\alpha}\mathfrak{L}\right)\;</MATH>|4.30}} Udowodnijmy tensor gęstości energii-pędu {{LinkWzór|4.20}}, wychodząc z przedstawienia {{LinkWzór|4.30}} pod nawiasem, zatem przekształcajmy pierwszy wyraz pod pochodną w {{LinkWzór|4.30}}, wiedząc, że tensor metryczny podwójnie kontrawariantny jest zapisany jako g{{Sup|&epsilon;&xi;}}=q{{Sup|&epsilon;,&nu;}}q{{Sup|&xi;}}{{Sub|,&nu;}}, otrzymujemy: {{CentrujWzór|<MATH>{{\partial \mathfrak{L}}\over{\partial {x^{\mu}}_{,\alpha}}}{x^{\mu}}_{,\beta}g^{\gamma\beta}={{\partial\mathfrak{L}}\over{\partial g_{\epsilon\xi}}}{{\partial g_{\epsilon\xi}}\over{\partial {x^{\mu}}_{,\alpha}}} {x^{\mu}}_{,\beta} g^{\gamma\beta} = {{\partial\mathfrak{L}}\over{\partial g_{\epsilon\xi}}}{{\partial \left(x^{\nu}_{,\epsilon}x_{\nu,\xi}\right)}\over{{\partial x^{\mu}}_{,\alpha} }} {x^{\mu}}_{,\beta} g^{\gamma\beta}=2{{\partial\mathfrak{L}}\over{\partial g_{\alpha\xi}}}{x_{\mu,\xi}}{x^{\mu}}_{,\beta} g^{\gamma\beta}=2{{\partial\mathfrak{L}}\over{\partial g_{\alpha\xi}}}g_{\xi\beta} g^{\gamma\beta}=2{{\partial\mathfrak{L}}\over{\partial g_{\alpha\xi}}}{\delta^{\gamma}}_{\xi}=2{{\partial\mathfrak{L}}\over{\partial g_{\alpha\gamma}}}\;</MATH>|4.35}} A więc na podstawie obliczeń na liczbach ogólnych tożsamość {{LinkWzór|4.35}} podstawiamy to wzoru {{LinkWzór|4.30}}, wtedy: {{CentrujWzór|<MATH>0={{\partial}\over{\partial q^{\alpha}}}\left(2{{\partial\mathfrak{L}}\over{\partial g_{\alpha\gamma}}}-g^{\alpha\gamma}\mathfrak{L}\right)\;</MATH>|4.35a}} Równanie {{LinkWzór|4.35a}} jest słuszne dla układów lokalnie płaskich i układów zakrzywionych. ==== Przypadek układów lokalnie płaskich z gęstością lagrangianu masowego oraz przypadek układów zakrzywionych z gęstością całkowitego lagrangianu ==== Dla tych układów na podstawie {{LinkWzór|4.35a}} tensor gęstości energii podwójnie kowariantny możemy przedstawić względem lagrangianu oraz tensora metrycznego prostego i odwrotnego dla sygnatury tensora metrycznego Minkowskiego dodatniej i ujemnej, mamy koleno: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>T^{\gamma\omega}=-2{{\partial\mathfrak{L}}\over{\partial g_{\gamma\omega}}}+g^{\gamma\omega}\mathfrak{L}\;</MATH>|4.36|Obramuj}} | 2 = {{CentrujWzór|<MATH>T^{\gamma\omega}=2{{\partial\mathfrak{L}}\over{\partial g_{\gamma\omega}}}-g^{\gamma\omega}\mathfrak{L}\;</MATH>|4.3611|Obramuj}} }} Wtedy zachowawczość w układach lokalnie płaskich jest w postaci: {{CentrujWzór|<MATH>{{\partial}\over{\partial q^{\gamma}}}T^{\gamma\omega}=0\Rightarrow{T^{\gamma\omega}}_{,\gamma}=0\;</MATH>|4.35ba}} ==== Zachowawczość tensora gęstości energii-pędu w układach zakrzywionych ==== Dla układów zakrzywionych równość {{LinkWzór|4.35a}} przedstawiamy, wiedząc, że zachodzi {{LinkWzór|4.4}} i wzór na gęstość lagrangianu przestrzennego {{LinkWzór|4.8}}, i znając wzór na tensor gęstości energii-pędu dla układów zakrzywionych {{LinkWzór|4.20}} (sygnatura dodatnia) i {{LinkWzór|4.20S}} (sygnatura ujemna), a więc dla postaci równania dla przyciągania i odpychania grawitacyjnego oraz uwzględniając znaki przy stałej {{Formuła|<MATH>\kappa\;</MATH>}} (ono jest dodatnie), są cztery ogólne możliwości, weźmy sygnaturę dodatnią tego tensora, wtedy znak przy {{Formuła|<MATH>\kappa\;</MATH>}} w równaniu Hilberta-Einsteina przjmujemy wtedy z plusem, a dla sygnatury ujemnej jest wtedy znak przy tej stałej z minusem w tym samym równaniu, czyli dla sygnatury dodatniej jest wtedy przyciąganie grawitacyjne opisane tensorowym równaniem {{LinkWzór|4.21}} przy definicji tensora gęstości energii-pędu {{LinkWzór|4.20}}, a dla jej, ale ujemnej, równaniem {{LinkWzór|4.2122}} przy tym tensorze, ale według {{LinkWzór|4.20S}}, jest wtedy odpychanie grawitacyjne. A to wszystko można udowodnić w obliczeniach: {{CentrujWzór|<MATH>0={T^{\gamma\omega}}_{,\gamma}+{{\partial}\over{\partial q^{\gamma}}}\left(\mp 2{{\partial\mathfrak{L}_g}\over{\partial g_{\gamma\omega}}}\pm g^{\gamma\omega}\mathfrak{L}_g\right)={T^{\gamma\omega}}_{,\gamma}+{{\partial}\over{\partial q^{\gamma}}}\left(\mp 2{{1}\over{2\kappa}}R^{\gamma\omega}\pm g^{\gamma\omega}{{R}\over{2\kappa}}\mp g^{\gamma\omega}{{2\Lambda}\over{2\kappa}}\right)={T^{\gamma\omega}}_{,\gamma}\mp{{1}\over{\kappa}}{{\partial}\over{\partial q^{\gamma}}}\Big(R^{\gamma\omega}-{{1}\over{2}}g^{\gamma\omega}R+\;</MATH>{{Br}}<MATH>+ g^{\gamma\omega}\Lambda\Big)={T^{\gamma\omega}}_{,\gamma}\mp{{1}\over{\kappa}}{{\partial}\over{\partial q^{\gamma}}}O^{\gamma\omega}={T^{\gamma\omega}}_{,\gamma}\mp{{1}\over{\kappa}}\left({O^{\gamma\omega}}_{;\gamma}- O^{\gamma\mu}{\Gamma^{\omega}}_{\mu\gamma}- O^{\mu\omega}{\Gamma^{\gamma}}_{\mu\gamma}\right)={T^{\gamma\omega}}_{,\gamma}+T^{\gamma\mu}{\Gamma^{\omega}}_{\mu\gamma}+T^{\mu\omega}{\Gamma^{\gamma}}_{\mu\gamma}={T^{\gamma\omega}}_{;\gamma} \;</MATH>|4.36a}} Powyżej udowodniliśmy, że dla sygnatury dodatniej i ujemnej są kolejno: przyciąganie i odpychanie grawitacyjne, weźmy w obliczeniach {{LinkWzór|4.36a}} zamiast {{Formuła|<MATH>\kappa\;</MATH>}} (ta stała jest dodatnia) inną stałą proporcjalności, tzn.: {{Formuła|<MATH>-\kappa\;</MATH>}} (stała {{Formuła|<MATH>\kappa\;</MATH>}} w nim jest dodatnia, a z minusem ujemna), co wtedy udowodnimy, że dla sygnatury dodatniej i ujemnej są kolejno: odpychanie i przyciąganie grawitacyjne. Czyli dwoma sygnaturami są opisane dwa rodzaje oddziaływań grawitacyjnych. Zachowawczość tensora gęstości energii T{{Sup|&gamma;&omega;}} przy jego definicji: {{LinkWzór|4.20}} i {{LinkWzór|4.20S}}, na podstawie tożsamości różniczkowej {{LinkWzór|4.36a}}, przedstawia się dla obu sygnatur: {{CentrujWzór|<MATH>{T^{\gamma\omega}}_{;\gamma}=0\;</MATH>|4.6b}} Równanie {{LinkWzór|4.6b}} dla sygnatury ujemnej jest takie samo jak on dla sygnatury dodatniej, co do postaci, tylko jest troszkę inna definicja tensora gęstości energii-pędu, tzn.: {{LinkWzór|4.20}} - sygnatura dodatnia, i {{LinkWzór|4.20S}} - sygnatura ujemna. Równanie {{LinkWzór|4.6b}} wyprowadziliśmy z równości {{LinkWzór|4.35ba}}, korzystając z definicji gęstości całkowitego lagrangianu {{LinkWzór|4.15}} będącej sumą gęstości lagrangianu masowego i przestrzennego {{LinkWzór|4.8}}, czyli otrzymaliśmy lokalną zachowawczość tensora gęstości energii-pędu, gdzie definicja tego tensora jest napisana w punkcie {{LinkWzór|1.48|Wprowadzenie do ogólnej teorii względności}} dla sygnatury dodatniej i {{LinkWzór|1.48|Wprowadzenie do ogólnej teorii względności}} dla sygnatury ujemnej. Lokalną zachowawczość tensora gęstości energii-pędu z przecinkiem otrzymaliśmy ze szczególnej teorii względności napisaną w punkcie {{LinkWzór|3.19aa11|Lokalna zachowawczość tensora gęstości energii(masy)-pędu|Wyprowadzenie i próba podważenia, praw: szczególnej i ogólnej teorii względności|WPTW}} i {{LinkWzór|4.35ba11|Lokalna zachowawczość tensora gęstości energii(masy)-pędu z teorii gęstości lagrangianu|Wyprowadzenie i próba podważenia, praw: szczególnej i ogólnej teorii względności|WPTW}}, pisząc je dla obu sygnatur, z gęstością tensora siły zewnętrznej dla tego pierwszego równej zero, by te oba równania były równoważne, co dla układów zakrzywionych po transformacji do nich przecinek zastępujemy średnikiem i otrzymujemy równość {{LinkWzór|4.6b}}. == Lokalna zasada zachowania energii-pędu == Lokalną zasadę zachowania możemy napisać, wychodząc ze szczególnej teorii względności z uwzględnieniem gęstości lagrangianu masowego z równania {{LinkWzór|g43|Lokalna zasada zachowania tensora pędu, z teorii gęstości lagrangianu|Wyprowadzenie i próba podważenia, praw: szczególnej i ogólnej teorii względności|WPTW}}, patrząc na równość {{LinkWzór|JH3|Nadmiarowe równania elementarne teorii grawitacji Einsteina z siłami niegrawitacyjnymi}}, tylko zamiast tensora gęstości energii-pędu kinematycznego jest tensor gęstości energii-pędu masowy: {{CentrujWzór|<MATH>\gamma\sqrt{-g}\left(\rho v^{\mu}\right)_{;0}=-{{\gamma}\over{c}}\sqrt{-g}{T^{\mu j}}_{;j}+{{dK^{\mu}_z}\over{dV}}\;</MATH>|JHG12}} Gdzie w {{LinkWzór|JHG12}} jest w nim tensor gęstości energii-pędu zdefiniowany wzorem {{LinkWzór|4.36}} dla sygnatury dodatniej lub {{LinkWzór|4.3611}} dla sygnatury ujemnej. == Dowód równania Hilberta-Einsteina grawitacji nie z teorii lagrangianowej == Równania Hilberta-Einsteina grawitacji {{LinkWzór|4.21}} - przyciąganie grawitacyjne, {{LinkWzór|4.2122}} - odpychanie grawitacyjne, wykorzystując wzór na lokalną zachowawczość gęstości tensora energii-pędu {{LinkWzór|4.6b}}, wymnażając obie strony przez stałą {{Formuła|<MATH>\pm\kappa\;</MATH>}}, {{Formuła|<MATH>\sqrt{-g}\;</MATH>}} i {{Formuła|<MATH>\overline e_{\omega}\;</MATH>}}, która w układach lokalnie płaskich jest wersorem lokalnie stałym, oraz całkując obustronnie względem całki objętościowej w czasoprzestrzeni zakrzywionej wykorzystując, że zachodzi własność dla rozszerzonego tensora Einsteina {{Formuła|<MATH>O^{\mu\nu}\;</MATH>}}, tzn.: {{LinkWzór|1.41|Wprowadzenie do ogólnej teorii względności}}, i doprowadzając obustronnie całkę z układów zakrzywionych do lokalnie płaskich, co później, wykorzystując {{lpg|twierdzenie Ostrogradskiego-Gaussa}}, otrzymując w tym układzie całkę powierzchniową w układzie lokalnie płaskim, dalej z twierdzenia transformacji doprowadzamy całkę powierzchniową do układów zakrzywionych, otrzymujemy: {{CentrujWzór|<MATH>{\overline T^{\omega\gamma}}_{;\gamma}=0\Rightarrow \pm\kappa {\overline T^{\omega\gamma}}_{;\gamma}=0\Rightarrow \pm\kappa\int_{\tau}\sqrt{-g}\overline e_{\omega}{\overline T^{\omega\gamma}}_{;\gamma}d\tau=\int_{\tau}\sqrt{-g}\overline e_{\omega}\cdot 0\cdot d\tau\Rightarrow \pm\kappa\int_{\tau}\sqrt{-g}\overline e_{\omega}{\overline T^{\omega\gamma}}_{;\gamma}d\tau=\int_{\tau}\sqrt{-g}\overline e_{\omega}{\overline O^{\omega\gamma}}_{;\gamma}d\tau\Rightarrow \;</MATH>{{Br}}<MATH>\Rightarrow \pm\kappa\int_{\tau^'}e_{\omega^'}{T^{\omega^'\gamma^'}}_{,\gamma^'}d\tau^'=\int_{\tau^'}e_{\omega^'}{O^{\omega^'\gamma^'}}_{,\gamma^'}d\tau^' \Rightarrow\pm\kappa\oint_{\Sigma}e_{\omega^'}T^{\omega^'\gamma^'}d\Sigma_{\gamma^'}=\oint_{\Sigma}e_{\omega^'}O^{\omega^'\gamma^'}d\Sigma_{\gamma^'}\Rightarrow\;</MATH>{{Br}}<MATH>\Rightarrow\pm\kappa\oint_{\overline \Sigma}\overline e_{\omega}\overline T^{\omega\gamma}d\overline \Sigma_{\gamma}=\oint_{\overline \Sigma}\overline e_{\omega}\overline O^{\omega\gamma}d\overline \Sigma_{\gamma}\Rightarrow\oint_{\overline \Sigma}\overline e_{\omega}\left(\pm\kappa \overline T^{\omega\gamma}-\overline O^{\omega\gamma}\right)d\overline \Sigma_{\gamma}=0\;</MATH>|HH}} Równanie ostatnie w {{LinkWzór|HH}} jest spełnione dla dowolnych powierzchni zamkniętych {{Formuła|<MATH>\overline \Sigma\;</MATH>}} i wersorów {{Formuła|<MATH>\overline e_{\omega}\;</MATH>}} w bazie, wtedy z tego równania dochodzimy do równości tensorowej, którym jest równaniem, które chcemy otrzymać, pisząc bez nadkreśleń: {{CentrujWzór|<MATH>\pm\kappa T^{\omega\gamma}-O^{\omega\gamma}=0\Rightarrow O^{\omega\gamma}=\pm\kappa T^{\omega\gamma}\Rightarrow G^{\omega\gamma}+\Lambda g^{\omega\gamma}=\pm\kappa T^{\omega\gamma}</MATH>|HH1}} Końcowe równanie w {{LinkWzór|HH1}} wyprowadzone jest z zachowawczości tensora gęstości energii-pędu {{LinkWzór|4.6b}}, jeżeli od zewnątrz nie działają na układ żadne siły zewnętrzne. == Szczególne postacie gęstości Lagrangianu == Wiedząc jaka jest gęstość lagrangianu przedstawionego w punkcie {{LinkWzór|1.122a1|Teoria funkcji lagrangianu|Wyprowadzenie i próba podważenia, praw: szczególnej i ogólnej teorii względności|WPTW}} w zerowym polu elektromagnetycznym, wtedy przepisując to dla tego przypadku i dokonując przekształceń, wtedy otrzymamy wzór taki sam jak w punkcie {{LinkWzór|4.360b|Lagrangian masowy kinematyczny w mechanice Einsteina i Newtona|Wyprowadzenie i próba podważenia, praw: szczególnej i ogólnej teorii względności|WPTW}} dla sygnatury dodatniej i ujemnej (pojawia się tutaj dodatkowy minus) tensora metrycznego Minkowskiego przedstawiamy kolejno dla pierwszej sygnatury: {{CentrujWzór|<MATH>\mathfrak{L}=-\rho_0c^2=-\rho_0c^2u^{\dot \mu}u_{\dot\mu}=-\left[{{1}\over{2}}\left(\rho_0 c^2+p\right)u^{\dot\mu}\eta_{\dot\mu\dot\nu}u^{\dot\nu}+{{1}\over{2}}(\rho_0c^2-p)\eta^{\alpha\dot\mu}\eta_{\dot\mu\alpha}\right]\;</MATH>|4.360b}} Dla drugiej (zamiast {{Formuła|<MATH>\eta^{\mu\nu}\;</MATH>}} wstawiamy tensor {{Formuła|<MATH>-\eta^{\mu\nu}\;</MATH>}} do gęstości lagrangianu kinematycznego {{LinkWzór|4.360b}}): {{CentrujWzór|<MATH>\mathfrak{L}=-\rho_0c^2=\rho_0c^2u^{\dot \mu}u_{\dot\mu}=-\left[-{{1}\over{2}}\left(\rho_0 c^2+p\right)u^{\dot\mu}\eta_{\dot\mu\dot\nu}u^{\dot\nu}+{{1}\over{2}}(\rho_0c^2-p)\eta^{\alpha\dot\mu}\eta_{\dot\mu\alpha}\right]\;</MATH>|4.360b111}} We wzorze {{LinkWzór|4.360b}} sumowanie jest tylko po {{Formuła|<MATH>\mu\;</MATH>}} i {{Formuła|<MATH>\nu\;</MATH>}}, a względem {{Formuła|<MATH>\alpha\;</MATH>}} już nie. W przypadku wzoru na gęstości lagrangianu: {{LinkWzór|4.360b}} i {{LinkWzór|4.360b111}} zakładamy, że jest on również słuszny dla układów zakrzywionych, wtedy możemy napisać lagrangian masowy na podstawie {{LinkWzór|3.9|Właściwości skalaru tensora metrycznego}} w układach ogólnie zakrzywionych, biorąc gęstość lagrangianu z punktu {{LinkWzór|4.360b}}, nazywając ją według procedury {{Formuła|<MATH>\mathfrak{L}\rightarrow \mathfrak{L}_m\;</MATH>}}, a także pisząc {{Formuła|<MATH>L\rightarrow L_m\;</MATH>}}, wtedy też piszemy inne zastąpienie {{Formuła|<MATH>\eta^{\mu\nu}\rightarrow g^{\mu\nu}\;</MATH>}}, zatem: {{CentrujWzór|<MATH>L_m=\int\mathfrak{L}_mdV^'=\int\sqrt{-g}\mathfrak{L}_mdV\;</MATH>|4.360b1}} Widzimy, że we wzorze {{LinkWzór|4.360b1}} gęstość lagrangianu masowego przechodzi w formułę {{LinkWzór|4.360b}} i {{LinkWzór|4.360b111}}, (w gęstość lagrangianu), dla {{Formuła|<MATH>g_{\mu\nu}=\eta_{\mu\nu}\;</MATH>}}. == Najważniejsze wnioski w odpowiednich klasach układów z lokalnie stałymi jakimiś wielkościami == Jest spełniona równość w odpowiednich klasach układów lokalnie spoczynkowych: {{CentrujWzór|<MATH>{{\partial u^{\mu}}\over{\partial x^{\nu}}}=0\wedge u^{i}\rightarrow 0\wedge u^0=1\;</MATH>|qw20}} Jest spełniona równość w odpowiednich klasach układów lokalnie stałym tensorze prędkości: {{CentrujWzór|<MATH>{{\partial u^{\mu}}\over{\partial x^{\nu}}}=0\;</MATH>|qw201}} Jest spełniona równość dla odpowiednich klasach układów z lokalnie stałą gęstością spoczynkową: {{CentrujWzór|<MATH>{{\partial\rho_0}\over{\partial x^{\mu}}}=0\;</MATH>|qw2}} Jest również spełniona równość dla ciśnienia w odpowiednich klasach układów z lokalnie stałym ciśnieniem: {{CentrujWzór|<MATH>{{\partial p}\over{\partial x^{\mu}}}=0\;</MATH>|qw3}} Wniosek {{LinkWzór|1.42|Wprowadzenie do ogólnej teorii względności}}, {{LinkWzór|qw20}}, {{LinkWzór|qw2}} i {{LinkWzór|qw3}} są spełnione ogólnie dla układów lokalnie płaskich lokalnie spoczynkowych z lokalną stałością tensorów prędkości, gęstości masy spoczynkowej i ciśnienia, co taką klasę układów można użyć też do częściowego udowodnienia ogólnej teorii względności, np. do dowodu lokalnej zachowawczości tensora gęstości energii-pędu, jak w szczególnej teorii względności w {{LinkWzór|3.20|Lokalna zachowawczość tensora gęstości energii(masy)-pędu|Wyprowadzenie i próba podważenia, praw: szczególnej i ogólnej teorii względności|WPTW}}, lub mając ten sam układ, biorąc zamiast {{LinkWzór|qw20}} warunek lokalności {{LinkWzór|qw201}}, wtedy mamy taką samą klasę układów współrzędnych z różnicą, że te układy nie są lokalnie spoczynkowymi, tylko lokalnie ze stałym tensorem prędkości, które można wykorzystać też do takiej samej teorii, ale dla układów lokalnie płaskich. == Tensor gęstości energii-pędu dla układów ogólnie zakrzywionych == Wykorzystajmy gęstość langrangianu masowego {{LinkWzór|4.360b}} (ostatnia równość) dla układów lokalnie płaskich, zamieniając w nim według formuły: {{Formuła|<MATH>\eta^{\mu\nu}\rightarrow g^{\mu\nu}\;</MATH>}}, co wynika z definicji transformacji tensorów, wtedy otrzymamy gęstość lagrangianu masowego dla układów zakrzywionych dla sygnatury dodatniej tensora metrycznego Minkowskiego w postaci: {{CentrujWzór|<MATH>\mathfrak{L}_m=-\rho_0c^2=-\rho_0c^2u^{\dot \mu}u_{\dot\mu}=-\rho_0c^2u^{\dot \mu}g_{\dot\mu\dot\nu}u^{\dot\nu}=-\left[{{1}\over{2}}\left(\rho_0 c^2+p\right)u^{\dot\mu}g_{\dot\mu\dot\nu}u^{\dot\nu}+{{1}\over{2}}(\rho_0c^2-p)g^{\alpha\dot\mu}g_{\dot\mu\alpha}\right]\;</MATH>|4.360b11}} Dla drugiej (tutaj widzimy, że się pojawia dodatkowy minus przy gęstości lagrangianu masowego i minus przy tensorze metrycznym - drugie przedstawienie jego, przedstawienie względem {{LinkWzór|4.360b11}}): {{CentrujWzór|<MATH>\mathfrak{L}_m=-\rho_0c^2=\rho_0c^2u^{\dot \mu}u_{\dot\mu}=-\left[-{{1}\over{2}}\left(\rho_0 c^2+p\right)u^{\dot\mu}g_{\dot\mu\dot\nu}u^{\dot\nu}+{{1}\over{2}}(\rho_0c^2-p)g^{\alpha\dot\mu}g_{\dot\mu\alpha}\right]\;</MATH>|4.360b112}} W takiem razie tensor gęstości energii-pędu z jego definicji {{LinkWzór|4.20}} za pomocą lagrangianu masowego {{LinkWzór|4.360b11}} jest ona napisana dokładnie dla pierwszej sygnatury: {{CentrujWzór|<MATH>T^{\alpha\beta}=\left(\rho_0 c^2+p\right)u^{\alpha}u^{\beta}+(\rho_0c^2-p)g^{\alpha\beta}-{{1}\over{2}}\left(\rho_0 c^2+p\right)g^{\alpha\beta}-{{1}\over{2}}(\rho_0c^2-p)g^{\alpha\beta}\Rightarrow T^{\alpha\beta}=\left(\rho_0 c^2+p\right)u^{\alpha}u^{\beta}-pg^{\alpha\beta}</MATH>|4.36b}} Dla drugiej (tutaj widzimy, że pojawia się minus przy tensorze metrycznym układu zakrzywionego) względem {{LinkWzór|4.36b}}: {{CentrujWzór|<MATH>T^{\alpha\beta}=\left(\rho_0 c^2+p\right)u^{\alpha}u^{\beta}-(\rho_0c^2-p)g^{\alpha\beta}+{{1}\over{2}}\left(\rho_0 c^2+p\right)g^{\alpha\beta}+{{1}\over{2}}(\rho_0c^2-p)g^{\alpha\beta}\Rightarrow T^{\alpha\beta}=\left(\rho_0 c^2+p\right)u^{\alpha}u^{\beta}+pg^{\alpha\beta}</MATH>|4.36b2}} Co otrzymaliśmy taki sam tensor gęstości energii-pędu w {{LinkWzór|4.36b}} - sygnatura dodatnia, i {{LinkWzór|4.36b2}} - sygnatura ujemna, co kolejno w punktach {{LinkWzór|1.44|Wprowadzenie do ogólnej teorii względności}} i {{LinkWzór|1.45|Wprowadzenie do ogólnej teorii względności}}. Są to tensory gęstości energii-pędu, które możemy wykorzystać w lokalnej zachowawczości tensora gęstości energii-pędu {{LinkWzór|4.6b}} i w równaniu Hilberta-Einsteina w {{LinkWzór|4.21}} dla sygnatury dodatniej i {{LinkWzór|4.2122}} dla sygnatury ujemnej. A jeżeli zastosujemy silną zasadę równoważności, to równości: {{LinkWzór|4.36b}} i {{LinkWzór|4.36b2}}, powinny być równoważne z tym tensorem, w szczególnej teorii względności, jako: {{LinkWzór|1.44|Wprowadzenie do ogólnej teorii względności}} i {{LinkWzór|1.45|Wprowadzenie do ogólnej teorii względności}}, które otrzymujemy z analogicznych sposobów jak kolejno z {{LinkWzór|4.360b11}} i {{LinkWzór|4.360b112}} do {{LinkWzór|4.36b}} i {{LinkWzór|4.36b2}}, a dla szczególnej teorii względności mamy kolejno z {{LinkWzór|4.360b}} i {{LinkWzór|4.360b111}} do {{LinkWzór|1.44|Wprowadzenie do ogólnej teorii względności}} i {{LinkWzór|1.45|Wprowadzenie do ogólnej teorii względności}}, tylko zamiast tensora metrycznego Minkowskiego jest tensor metryczny układu ogólnie zakrzywionego, dla obu kolejno sygnatur. == Linie geodezyjne, a zasady równoważności == Wyprowadzimy tutaj równania geodezyjne dla układów punktowych i rozciągłych, a także z równań dla układów rozciągłych udowodnimy równanie dla układów punktowych, że sa one co do siebie równoważne, a także udowodnimy słabą i silną zasadę równoważności. === Przypadek linii geodezyjnych, tzn.: w pierwszym sposobie wyprowadzania, a silna zasada równoważności (dowód) === Wyprowadzimy tutaj z drugiej zasady Lagrange'a prawa ruchu ogólnej teorii względności dla układów punktowych i rozciągłych. ==== Układy punktowe ==== Weźmy lagrangian układu zakrzywionego, pisząc go dla obu sugnatur, korzystając z definicji jedynki z {{LinkWzór|1.9|Wprowadzenie do ogólnej teorii względności}}, co na tej podstawie możemy lagrangian kinematyczny tensorowy przekształcić do postaci: {{CentrujWzór|<MATH>L_k=-{{1}\over{2}}m_0c^2=\mp{{1}\over{2}}m_0c^2\dot q^{\mu}g_{\mu\nu}\dot q^{\nu}\;</MATH>|JJ1}} Całkę działania dla lagrangianu kinematycznego dla układu zakrzywionego piszemy jako całkę po interwale czasoprzestrzennym z lagrangianu kinematycznego: {{CentrujWzór|<MATH>S=\int_s L_kds\;</MATH>|JJ2}} Napiszmy równanie na drugą zasad Lagrange'a, mając lagrangian i ogólniony tensor siły, wiedząc, że całka działania {{LinkWzór|JJ2}} wtedy przyjmuje wartość najmniejszą: {{CentrujWzór|<MATH>{{d}\over{ds}}{{\partial L_k}\over{\partial \dot{q}^{\alpha}}}-{{\partial L_k}\over{\partial q^{\alpha}}}=Q_k</MATH>|JJ3}} Teraz policzmy kolejne wyrazy występujące w wyrażeniu Lagrange'a {{LinkWzór|JJ3}}, ale najpierw przejdźmy do drugiego składnika występujący w naszym wspomnianym wyrażeniu, czyli policzmy wyrażenie z dokładnością z dokładnością do czynników stałych jako pochodną cząstkową lagrangianu kinematycznego względem uogólnionego położenia: {{CentrujWzór|<MATH>\mp{{1}\over{m_0c^2}}{{\partial L_k}\over{\partial q^{\alpha}}}={{\partial}\over{\partial q^{\alpha}}}\left({{1}\over{2}}g_{\mu\nu}\dot{q}^{\mu}\dot{q}^{\nu}\right)={{1}\over{2}}{{\partial g_{\mu\nu}}\over{\partial q^{\alpha}}}\dot{q}^{\mu}\dot{q}^{\nu}</MATH>|JJ4}} Wyraz występujący pod pochodną zupełną po interwale czasoprzetrzennym pochodnej różniczkowej względem prędkości uogólnionej, który występuje w równaniu Eulera-Lagrange'a {{LinkWzór|JJ3}}, możemy przekształcić z dokładnością do czynników stałych do: {{CentrujWzór|<MATH>\mp{{1}\over{m_0c^2}}{{\partial \mathfrak{L}_k}\over{\partial \dot{q}^{\alpha}}}={{1}\over{2}}\left(g_{\mu\nu}{\delta^{\nu}}_{\alpha}\dot{q}^{\mu}+\rho_0g_{\mu\nu}{\delta^{\mu}}_{\alpha}\dot{q}^{\nu}\right)={{1}\over{2}}\left(g_{\alpha\mu}\dot{q}^{\mu}+g_{\alpha\nu}\dot{q}^{\nu} \right)={{1}\over{2}}\left(g_{\alpha\mu}\dot{q}^{\mu}+g_{\mu\alpha}\dot{q}^{\mu} \right)={{1}\over{2}}\left(2g_{\alpha\mu}\dot{q}^{\mu}\right)=g_{\alpha\mu}\dot{q}^{\mu}</MATH>|JJ5}} Wyznaczmy pochodną zupełną względem interwału czasoprzestrzennego wuyrażenia obliczonego {{LinkWzór|JJ5}}, dzięki któremu napiszmy: {{CentrujWzór|<MATH>\mp{{1}\over{m_0c^2}}{{d}\over{ds}}{{\partial \mathfrak{L}_k}\over{\partial \dot{q}^{\alpha}}}={{d}\over{ds}}\left(g_{\alpha\mu}\dot{q}^{\mu} \right)=g_{\alpha\mu}\ddot{q}^{\mu}+{{dg_{\alpha\mu}}\over{ds}}\dot{q}^{\mu}=g_{\alpha\mu}\ddot{q}^{\mu}+ {{\partial g_{\alpha\mu}}\over{\partial q^{\nu}}}\dot{q}^{\mu}\dot{q}^{\nu}</MATH>|JJ6}} Połączmy wyrażenia {{LinkWzór|JJ5}} i {{LinkWzór|JJ6}}, oraz podstawmy je odpowiednio do wzoru {{LinkWzór|JJ3}}, w takim przypadku napiszmy równość do przekształcenia matematycznego: {{CentrujWzór|<MATH>g_{\alpha\mu}\ddot{q}^{\mu}+ {{\partial g_{\alpha\mu}}\over{\partial q^{\nu}}}\dot{q}^{\mu}\dot{q}^{\nu}-{{1}\over{2}}{{\partial g_{\mu\nu}}\over{\partial q^{\alpha}}}\dot{q}^{\mu}\dot{q}^{\nu}=\mp{{1}\over{m_0c^2}}Q^{\mu}\;</MATH>|JJ7}} Ale mamy z definicji tensora metrycznego prostego i odwrotnego mamy dwie tożsamości, które przestawimy poniżej w postaci dwóch tożsamości, które wynikają z własności ogólnie tensora metrycznego. {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>g^{\beta\alpha}g_{\alpha\mu}={\delta^{\beta}}_{\mu}</MATH>|4.46}} | 2 = {{CentrujWzór|<MATH>g^{\beta\alpha}g_{\alpha\mu}\ddot{q}^{\mu}=\delta^{\beta}_k\ddot{q}^{\mu}=\ddot{q}^{\beta}</MATH>|4.47}} }} Z przemienności wskaźników tensora metrycznego wynikającego z jego definicji, tzn. drugi wyraz w tożsamości {{LinkWzór|4.45}}, możemy napisać: {{CentrujWzór|<MATH>g^{\beta\alpha}{{\partial g_{\alpha\mu}}\over{\partial \dot{q}^{\nu}}}\dot{q}^{\mu}\dot{q}^{\nu}={{1}\over{2}}g^{\beta\alpha}\left({{\partial g_{\alpha\mu}}\over{\partial q^{\nu}}}+{{\partial g_{\alpha\nu}}\over{\partial q^{\mu}}}\right)\dot{q}^{\mu}\dot{q}^{\nu}</MATH>|4.48}} Symbole Christoffela możemy przedstawić wedle jej definicji występującego w równaniu tensorowym {{LinkWzór|4.49}}: {{CentrujWzór|<MATH>{\Gamma^{\beta}}_{\mu\nu}={{1}\over{2}}g^{\beta\alpha}\left( {{\partial g_{\alpha\mu}}\over{\partial q^{\nu}}}+{{\partial g_{\alpha\nu}}\over{\partial q^{\mu}}}-{{\partial g_{\mu\nu}}\over{\partial q^{\alpha}}}\right)</MATH>|4.50}} Pomnóżmy równość {{LinkWzór|JJ7}} przez element {{Formuła|<MATH>g^{\beta\alpha}\;</MATH>}}, dalej wykorzystajmy obliczenia na liczbach ogólnych {{LinkWzór|4.47}} i {{LinkWzór|4.48}} i wykorzystując definicję symboli Christoffela {{LinkWzór|4.50}} z rachunku tensorowego, wtedy: {{CentrujWzór|<MATH>\ddot{q}^{\beta}+{\Gamma^{\beta}}_{\mu\nu}\dot{q}^{\nu}\dot{q}^{\mu}=\mp{{1}\over{m_0c^2}}Q^{\beta}\Rightarrow{\dot q^{\beta}}_{;\alpha}\dot q^{\alpha}=\mp{{1}\over{m_0c^2}}Q^{\beta}\;</MATH>|JJ8}} Ale definicja uogólnionego tensora siły jest w drugiej zasadzie Lagrange'a dla układów punktowych dla obu sygnatur taka: {{CentrujWzór|<MATH>Q^{\beta}=\mp c K^{\beta}\;</MATH>|JJ9}} Wykorzystajmy definicję {{LinkWzór|JJ9}} na definicję uogólnionego tensora siły do równości {{LinkWzór|JJ8}}: {{CentrujWzór|<MATH>m_0c{\dot q^{\beta}}_{;\alpha}\dot q^{\alpha}=K^{\beta}\;</MATH>|JJ10}} Równość {{LinkWzór|JJ10}} dla układów lokalnie płaskich możemy przepisać z rachunku tensorowego z praw transformacji tensorowej: {{CentrujWzór|<MATH>m_0c{\dot q^{\beta}}_{,\alpha}\dot q^{\alpha}=K^{\beta}\Rightarrow m_0c{{du^{\beta}}\over{ds}}=K^{\beta}\;</MATH>|JJ11}} Końcowe równanie jest takie same jak równość na '''drugą zasadę dynamiki Einsteina''', czyli '''silna zasada równoważności''' dla układów punktowych jest spełniona. ==== Układy rozciągłe ==== Będziemy tutaj wyprowadzać linie geodezyjne dla wszystkich rodzajów układów rozciągłych i pokażemy, że ogólna teoria względności jest spełniona dla układów lokalnie płaskich i zakrzywionych. Napiszmy lagrangian w układach rozciągłych płaskich i zakrzywionych, wiedząc, że {{Formuła|<MATH>q^{\alpha}\;</MATH>}} i {{Formuła|<MATH>\dot{q}^{\alpha}\;</MATH>}} są zmiennymi niezależnymi względem siebie, wtedy w układzie zakrzywionym napiszmy całkowity lagrangian, z którego wyznaczymy gęstość lagrangianu kinematycznego tensorowego dla obu sygnatur tensora metrycznego, wychodząc od układu lokalnie płaskiego (opisywana przez szczególną teorię względności) do układu współrzędnych opisującego przestrzeń zakrzywioną (opisywaną przez ogólną teorię względności): {{CentrujWzór|<MATH>L_k=-{{1}\over{2}}m_0c^2=\mp{{1}\over{2}}c^2\int_V\rho_0dV_0=-{{1}\over{2}}c^2\int_V\rho_0\gamma\sqrt{1-{{v^2}\over{c^2}}}dV_0=-{{1}\over{2}}c^2\int_V\rho_0\gamma dV\Rightarrow\mathfrak{L}=-{{1}\over{2}}\rho_0\gamma c^2=\mp{{1}\over{2}}\rho_0\gamma c^2\dot q^{\mu}g_{\mu\nu}\dot q^{\nu}</MATH>|4.37}} * We wzorze {{LinkWzór|4.37}} znak u góry to sygnatura dodatnia, a u dołu ujemna, tensora metrycznego. Zakładamy, że mamy pewną metrykę z definiowaną przez tensory metryczne g{{Sub|&alpha;&nu;}} i obliczamy jaka jest najmniejsza linia między punktami A i B w czasoprzestrzeni Einsteina (ogólnie w n-wymiarowej czasoprzestrzeni, nie musi być cztery tak jak w czasoprzestrzeni Einsteina), po której cząstka ma się poruszać, czyli policzmy wariację wyrażenia Lagrangianu {{LinkWzór|4.37}}: {{CentrujWzór|<MATH>S=\int_s\int_{V_p}\mathfrak{L}_kdV_pds=\int_s\int_V\sqrt{-g}\mathfrak{L}_kdVds</MATH>|4.39}} * Gdzie: {{Formuła|<MATH>V_p\;</MATH>}} jest to obiętość ukłądów płaskich, a {{Formuła|<MATH>V\;</MATH>}} zakrzywionych. Napiszmy wzór na drugą zasadę Lagrange'a dla układów zakrzywionych mając gęstość lagrangianu kinematycznego {{LinkWzór|4.37}} i gęstość uogólnionego tensora siły w układzie zaskrzywionym: {{CentrujWzór|<MATH>{{d}\over{ds}}{{\partial \sqrt{-g}\mathfrak{L}_k}\over{\partial \dot{q}^{\alpha}}}-{{\partial \sqrt{-g}\mathfrak{L}_k}\over{\partial q^{\alpha}}}={{dQ_{\alpha}}\over{dV}}</MATH>|4.40a}} Teraz policzmy kolejne wyrazy występujące w równaniu Lagrange'a {{LinkWzór|4.40a}}, ale najpierw przejdźmy do drugiego składnika występujący w naszym wspomnianym wyrażeniu: {{CentrujWzór|<MATH>\mp{{1}\over{c^2}}{{\partial \mathfrak{L}_k}\over{\partial q^{\alpha}}}={{\partial}\over{\partial q^{\alpha}}}\left({{1}\over{2}}\rho_0\gamma g_{\mu\nu}\dot{q}^{\mu}\dot{q}^{\nu}\right)={{1}\over{2}}\rho_0\gamma{{\partial g_{\mu\nu}}\over{\partial q^{\alpha}}}\dot{q}^{\mu}\dot{q}^{\nu}+{{1}\over{2}}{{\partial}\over{\partial q^{\alpha}}}\rho_0\gamma</MATH>|4.41}} Wyraz występujący pod pochodną zupełną czasową, który występuje wyrażeniu Eulera-Lagrange'a {{LinkWzór|4.40a}}, możemy przekształcić do: {{CentrujWzór|<MATH>\mp{{1}\over{c^2}}{{\partial \mathfrak{L}_k}\over{\partial \dot{q}^{\alpha}}}={{1}\over{2}}\rho_0\gamma\left(g_{\mu\nu}{\delta^{\nu}}_{\alpha}\dot{q}^{\mu}+\rho_0g_{\mu\nu}{\delta^{\mu}}_{\alpha}\dot{q}^{\nu}\right)+{{1}\over{2}}{{\partial}\over{\partial \dot{q}^{\alpha}}}\rho_0\gamma= {{1}\over{2}}\rho_0\gamma\left(g_{\alpha\mu}\dot{q}^{\mu}+g_{\alpha\nu}\dot{q}^{\nu} \right)+{{1}\over{2}}{{\partial}\over{\partial \dot{q}^{\alpha}}}\rho_0\gamma={{1}\over{2}}\rho_0\gamma\left(g_{\alpha\mu}\dot{q}^{\mu}+g_{\mu\alpha}\dot{q}^{\mu} \right)+\;</MATH>{{Br}}<MATH>+{{1}\over{2}}{{\partial}\over{\partial \dot{q}^{\alpha}}}\rho_0\gamma={{1}\over{2}}\rho_0\gamma\left(2g_{\alpha\mu}\dot{q}^{\mu}\right)+{{1}\over{2}}{{\partial}\over{\partial \dot{q}^{\alpha}}}\rho_0=\rho_0\gamma g_{\alpha\mu}\dot{q}^{\mu}+{{1}\over{2}}{{\partial}\over{\partial \dot{q}^{\alpha}}}\rho_0\gamma</MATH>|4.42}} Następnie wyznaczmy pochodną wyrażenia {{LinkWzór|4.42}} względem pewnego parametru {{Formuła|<MATH>s\;</MATH>}} (interwał czasoprzestrzenny), czyli pierwszy wyraz w {{LinkWzór|4.40a}}, który jest liczony względem s, który jest dla nas długością linii światła, czyli musimy policzyć pochodną zupełną policzonego wyrażenia {{LinkWzór|4.42}}. {{CentrujWzór|<MATH>\mp{{1}\over{c^2}}{{d}\over{ds}}{{\partial \mathfrak{L}_k}\over{\partial \dot{q}^{\alpha}}}={{d}\over{ds}}\left(\rho_0\gamma g_{\alpha\mu}\dot{q}^{\mu} \right)+{{1}\over{2}}{{d}\over{ds}}{{\partial}\over{\partial \dot{q}^{\alpha}}}\rho_0\gamma=\rho_0\gamma g_{\alpha\mu}\ddot{q}^{\mu}+g_{\alpha\mu}\dot{q}^{\mu}{{d}\over{ds}}\rho_0\gamma+\rho_0\gamma{{dg_{\alpha\mu}}\over{ds}}\dot{q}^{\mu}+{{1}\over{2}}{{d}\over{ds}}{{\partial}\over{\partial \dot{q}^{\alpha}}}\rho_0\gamma=\;</MATH>{{Br}}<MATH>=\rho_0\gamma g_{\alpha\mu}\ddot{q}^{\mu}+g_{\alpha\mu}\dot{q}^{\mu}{{d}\over{ds}}\rho_0\gamma+ \rho_0\gamma{{\partial g_{\alpha\mu}}\over{\partial q^{\nu}}}\dot{q}^{\mu}\dot{q}^{\nu}+{{1}\over{2}}{{d}\over{ds}}{{\partial}\over{\partial \dot{q}^{\alpha}}}\rho_0\gamma</MATH>|4.43}} A więc nasze równanie Lagrangianu {{LinkWzór|4.40a}}, której części są przedstawione i policzone w punktach {{LinkWzór|4.41}} i {{LinkWzór|4.43}}, czyli równanie Eulera-Lagrange'a dla naszego przypadku przy zdefiniowanym gęstości lagrangianu {{LinkWzór|4.37}}, przedstawia się po podzieleniu przez {{Formuła|<MATH>\sqrt{-g}\;</MATH>}}, {{Formuła|<MATH>\rho_0\;</MATH>}} i {{Formuła|<MATH>\gamma\;</MATH>}} obustronnie: {{CentrujWzór|<MATH>g_{\alpha\mu}\dot{q}^{\mu}{{1}\over{\sqrt{-g}}}{{d\sqrt{-g}}\over{ds}}+{{1}\over{2\sqrt{-g}\rho_0\gamma}}{{d\sqrt{-g}}\over{ds}}{{\partial}\over{\partial \dot{q}^{\alpha}}}\rho_0\gamma+g_{\alpha\mu}\ddot{q}^{\mu}+g_{\alpha\mu}\dot{q}^{\mu}{{1}\over{\rho_0\gamma}}{{d}\over{ds}}\rho_0\gamma+{{\partial g_{\alpha\mu}}\over{\partial q^{\nu}}}\dot{q}^{\mu}\dot{q}^{\nu}+\;</MATH>{{Br}}<MATH>+{{1}\over{2\rho_0\gamma}}{{d}\over{ds}}{{\partial}\over{\partial \dot{q}^{\alpha}}}\rho_0\gamma-{{1}\over{2}}{{\partial g_{\mu\nu}}\over{\partial q^{\alpha}}}\dot{q}^{\mu}\dot{q}^{\nu}-{{1}\over{2\rho_0\gamma}}{{\partial}\over{\partial q^{\alpha}}}\rho_0\gamma-{{1}\over{2\sqrt{-g}}}{{\partial}\over{\partial q^{\alpha}}}\sqrt{-g}=\mp{{1}\over{\sqrt{-g}\rho_0\gamma c^2}}{{dQ_{\alpha}}\over{dV}}</MATH>|4.44a}} Podzielmy na dwie grupy wyrazów w {{LinkWzór|4.44a}}, jednej z lewej strony równania, a drugie z prawej, wtedy: {{CentrujWzór|<MATH>g_{\alpha\mu}\ddot{q}^{\mu}+{{\partial g_{\alpha\mu}}\over{\partial q^{\nu}}}\dot{q}^{\mu}\dot{q}^{\nu}-{{1}\over{2}}{{\partial g_{\mu\nu}}\over{\partial q^{\alpha}}}\dot{q}^{\mu}\dot{q}^{\nu}\pm{{1}\over{\sqrt{-g}\rho_0\gamma c^2}}{{dQ_{\alpha}}\over{dV}}=-g_{\alpha\mu}\dot{q}^{\mu}{{1}\over{\sqrt{-g}}}{{d\sqrt{-g}}\over{ds}}-{{1}\over{2\sqrt{-g}\rho_0\gamma}}{{d\sqrt{-g}}\over{ds}}{{\partial}\over{\partial \dot{q}^{\alpha}}}\rho_0\gamma+\;</MATH>{{Br}}<MATH>-g_{\alpha\mu}\dot{q}^{\mu}{{1}\over{\rho_0\gamma}}{{d}\over{ds}}\rho_0\gamma-{{1}\over{2\rho_0\gamma}}{{d}\over{ds}}{{\partial}\over{\partial \dot{q}^{\alpha}}}\rho_0\gamma+{{1}\over{2\rho_0\gamma}}{{\partial}\over{\partial q^{\alpha}}}\rho_0\gamma+{{1}\over{2\sqrt{-g}}}{{\partial}\over{\partial q^{\alpha}}}\sqrt{-g}\;</MATH>|4.44ba}} Obierzmy cechowanie, zerując prawą stronę równości {{LinkWzór|4.44ba}}, bo ona w układzie lokalnie płaskim o lokalnie stałych parametrach jest równa zero, by na podstawie jej otrzymać poprawne równanie ruchu (geodezyjne): {{CentrujWzór|<MATH>-g_{\alpha\mu}\dot{q}^{\mu}{{1}\over{\sqrt{-g}}}{{d\sqrt{-g}}\over{ds}}-{{1}\over{2\sqrt{-g}\rho_0\gamma}}{{d\sqrt{-g}}\over{ds}}{{\partial}\over{\partial \dot{q}^{\alpha}}}\rho_0\gamma-g_{\alpha\mu}\dot{q}^{\mu}{{1}\over{\rho_0\gamma}}{{d}\over{ds}}\rho_0\gamma-{{1}\over{2\rho_0\gamma}}{{d}\over{ds}}{{\partial}\over{\partial \dot{q}^{\alpha}}}\rho_0\gamma+{{1}\over{2\rho_0\gamma}}{{\partial}\over{\partial q^{\alpha}}}\rho_0\gamma+\;</MATH>{{Br}}<MATH>+{{1}\over{2\sqrt{-g}}}{{\partial}\over{\partial q^{\alpha}}}\sqrt{-g}=0\;</MATH>|4.44ab}} Przy cechowaniu {{LinkWzór|4.44ab}} wzór na linie geodezyjne {{LinkWzór|4.44ba}} przyjmuje postać: {{CentrujWzór|<MATH>g_{\alpha\mu}\ddot{q}^{\mu}+{{\partial g_{\alpha\mu}}\over{\partial q^{\nu}}}\dot{q}^{\mu}\dot{q}^{\nu}-{{1}\over{2}}{{\partial g_{\mu\nu}}\over{\partial q^{\alpha}}}\dot{q}^{\mu}\dot{q}^{\nu}=\mp{{1}\over{\sqrt{-g}\rho_0c^2}}{{dQ_{\alpha}}\over{dV}}\;</MATH>|4.44b}} Pomnóżmy teraz równanie {{LinkWzór|4.44b}} przez jakiś element tensora metrycznego w czasoprzestrzeni Einsteina, czyli przez element {{Formuła|<MATH>g^{\beta\alpha}\;</MATH>}}: {{CentrujWzór|<MATH>g^{\beta\alpha}g_{\alpha\mu}\ddot{q}^{\mu}+g^{\beta\alpha}{{\partial g_{\alpha\mu}}\over{\partial q^{\nu}}}\dot{q}^{\mu}\dot{q}^{\nu}-g^{\beta\alpha}{{1}\over{2}}{{\partial g_{\mu\nu}}\over{\partial q^{\alpha}}}\dot{q}^{\mu}\dot{q}^{\nu}=\mp{{1}\over{\sqrt{-g}\rho_0\gamma c^2}}g^{\beta\alpha}{{dQ_{\alpha}}\over{dV}}</MATH>|4.45}} Wykorzystajmy obliczenia w punktach {{LinkWzór|4.46}}, {{LinkWzór|4.47}} i {{LinkWzór|4.48}}, napiszmy równanie ruchu: {{CentrujWzór|<MATH>\ddot{q}^{\beta}+{{1}\over{2}}g^{\beta\alpha}\left( {{\partial g_{\alpha\mu}}\over{\partial q^{\nu}}}+{{\partial g_{\alpha\nu}}\over{\partial q^{\mu}}}-{{\partial g_{\mu\nu}}\over{\partial q^{\alpha}}}\right)\dot{q}^{\nu}\dot{q}^{\mu}=\mp{{1}\over{\sqrt{-g}\rho_0c^2}}g^{\beta\alpha}{{dQ_{\alpha}}\over{dV}}</MATH>|4.49}} Wykorzystajmy dfinicję symboli Christoffela, a zatem nasze równanie {{LinkWzór|4.49}}, na podstawie definicji symboli Christoffela {{LinkWzór|4.50}}, przedstawia się: {{CentrujWzór|<MATH>\ddot{q}^{\beta}+{\Gamma^{\beta}}_{\mu\nu}\dot{q}^{\nu}\dot{q}^{\mu}=\mp{{1}\over{\sqrt{-g}\rho_0\gamma c^2}}g^{\beta\alpha}{{dQ_{\alpha}}\over{dV}}\Rightarrow {\dot q^{\beta}}_{;\alpha}\dot q^{\alpha}=\mp{{1}\over{\sqrt{-g}\rho_0\gamma c^2}}{{dQ^{\beta}}\over{dV}}</MATH>|4.51}} Udowodniliśmy w ten sposób że równanie {{LinkWzór|1.74|Nadmiarowe równania elementarne teorii grawitacji Einsteina z siłami niegrawitacyjnymi}} wyprowadzone z zasad czysto geometrycznych jest takie samo jak z twierdzenia Eulera-Lagrange'a {{LinkWzór|4.51}} policzonego za pomocą rachunku wariacyjnego, gdy siły zewnętrzne niegrawitacyjne się zerują. Przedstawmy równanie końcowe {{LinkWzór|4.51}} w układzie zakrzywionym, mając definicję ogólnionego tensora siły {{LinkWzór|JJ9}}, ale tym razem dla różniczek, a nie dla wielkości skończonych, wtedy: {{CentrujWzór|<MATH>{q^{\beta}}_{;\alpha}\dot q^{\alpha}=\mp{{1}\over{\sqrt{-g}\rho_0\gamma c^2}}{{dQ^{\beta}}\over{dV}}\Rightarrow\sqrt{-g}\rho_0c^2{q^{\beta}}_{;\alpha}\dot q^{\alpha}=c{{dK^{\beta}}\over{dV}}\Rightarrow \sqrt{-g}\rho_0\gamma c{q^{\beta}}_{;\alpha}\dot q^{\alpha}={{dK^{\beta}}\over{dV}}\;</MATH>|4.52}} To równanie, tzn. {{LinkWzór|4.52}} przypiszmy w postaci, przekształcając je do układów lokalnie płaskich, zamieniając je na układy lokalnie płaskie, w których panuje teoria dla układów płaskich: {{CentrujWzór|<MATH>\sqrt{-g}\rho_0\gamma c{q^{\beta}}_{;\alpha}\dot q^{\alpha}={{dK^{\beta}}\over{dV}}\Rightarrow \rho_0c{{du^{\beta}}\over{ds}}={{dK^{\beta}}\over{dV_0}}\;</MATH>|4.54}} Na podstawie otrzymanej równości {{LinkWzór|4.54}} można udowodnić '''silną zasadę równoważności''' dla układów rozciągłych, tzn. prawa w układzie lokalnie płaskim, wtedy tam jest spełniona szczególna teoria względności, mając je dla układów zakrzywionych, mają taką samą postać, co dla układów lokalnie płaskich, tylko zamiast tensora metrycznego Minkowskiego jest tensor metryczny czasoprzestrzeni zakrzywionej, a zamiast przecinka jest średnik. === Słaba zasada równoważności (dowód) === W układach inercjalnych rozciągłych panują prawa szczególnej teorii względności {{LinkWzór|4.54}} (z którego możemy policzyć tensor siły działający na rozciągłe ciało), a jeśli mamy obserwatora w poruszającej się w windzie, w inercjalnym układzie odniesienia (układ lokalnie płaski), poruszający się z przyśpieszeniem {{Formuła|<MATH>\vec a=\vec g\;</MATH>}}, to on porusza się wraz z windą, a on sam odczuwa siłę bezwładności do dołu windy w układzie nieinercjalnym poruszający się wraz z windą względem tego układu ostatniego, rozważając inaczej, weźmy inercjalny układ odniesienia poruszający się wraz z windą, wtedy pojawiają się tensory metryczne, które są jakimiś funkcjami, nierówne tensorowi metrycznemu Minkowskiego, i pojawia się wtedy tensor siły grawitacji pochodzący od tego układu opisany w równaniu dla układu dyskretnego {{LinkWzór|1.77ca11|Nadmiarowe równania elementarne teorii grawitacji Einsteina z siłami niegrawitacyjnymi}} (z którego możemy policzyć tensor siły działający na ciało) lub rozciągłego {{LinkWzór|LLL2|Nadmiarowe równania elementarne teorii grawitacji Einsteina z siłami niegrawitacyjnymi}} (z którego możemy policzyć gęstość tensora siły grawitacji), stąd obserwator nie może rozróżnić tego układu inercjalnego od nieinercjalnego, bo opisywać można też ten sam ruch tak samo w układzie inercjalnym i nieinercjalnym, stąd prawa sformułowane tensorowo w układzie inercjalnym w szczególnej teorii względności są słuszne również w układzie nieinercjalnym po zamienieniu w układzie inercjalnym tensora metrycznego Minkowskiego tensorem metrycznym tego układu nieinercjalnego, a przecinki średnikami, co wtedy otrzymujemy prawa ruchu dla układów nieinercjalnych, co można też to udowodnić z teorii transformacji, przechodząc z układu inercjalnego do nieinercjalnego. A więc to dowodzi '''słabą zasadę równoważności''' Alberta Einsteina. <noinclude>{{SkomplikowanaStronaKoniec}}</noinclude> dmxm2f5gzidnnlotofuommw77zfr9m4 Wstęp do fizyki jądra atomowego/Reakcje jądrowe 0 21870 559124 559111 2026-10-11T15:28:30Z Persino 2851 559124 wikitext text/x-wiki <noinclude><!-- -->{{SkomplikowanaStronaStart<!-- -->| stopka strony = {{Kreska nawigacja|{{AktualnaKsiążka}}|{{NastępnyArtykuł}}|{{PoprzedniArtykuł}}}}<!-- -->}}</noinclude> Reakcje jądrowe są to procesy zachodzące w wyniku oddziaływania jądrowego przy zderzeniu cząstki szybkiej "a" z jądrem tarczy X prowadzącej do zmiany kierunku ruchu lub energii stanu cząstki i jądra tarczy, lub też utworzenia nowego jądra i cząstki (cząstek b). '''Reakcją rozpraszania''' nazywamy taką reakcję, którego szybka cząstka zderza się z jądrem tarczy X, w ten sposób jądro zostaje wzbudzone, a cząstka "a" zmienia swój kierunek z inną energią kinetyczną niż poprzednio: {{CentrujWzór|<MATH>a+X\rightarrow X^*+a^'\;</MATH>|6.1}} '''Reakcją właściwą''' nazywamy taką reakcję, w której szybka cząstka w wyniku zderzenia z jądrem X powstaje jadro Y i cząstka b: {{CentrujWzór|<MATH>a+X\rightarrow Y+b\;</math>|6.2}} Jądra a i X nazywamy kanałem wejściowym, a końcowe produkty reakcji nazywamy kanałem wyjściowym, przykładem reakcji właściwej {{LinkWzór|6.2}} jest: {{CentrujWzór|<MATH>{}^4_2He+{}^{14}_7N\rightarrow {}^{17}_8O+{}^1_1p\;</MATH>|6.3}} Reakcję {{LinkWzór|6.1}} i {{LinkWzór|6.2}} nazywamy reakcję, którą możemy zapisać krótkim zapisem X(a,b)Y lub (a,b), czy też (a,a'), co dla reakcji {{LinkWzór|6.3}} możemy powiedzieć {{Formuła|<MATH>{}^{14}_7N({}^4_2He,p){}^{17}_8O\;</MATH>}}. Proces oddziaływania cząstki "a" z jądrem zwykle nie jest jednoznaczny, tzn. jednemu kanałowi wejściowemu może odpowiadać wiele kanałów wyjściowych. Każdej takiej reakcji jako możliwości zajścia przepisujemy przekrój czynny &sigma;{{Sub|f}}. Reakcją rozpraszania elastycznym nazywamy reakcję (a,a), w której jądro X w kanale wyjściowym nie jest wcale zbudzone, a w przypadku rozpraszania nieelastycznego, czyli (a,a'), stąd jądro X zaczyna być jądrem wzbudzonym. Reakcja dwuciałowa (a,b) jest gdy produktami reakcji są dwa produkty reakcji, reakcjami wielociałowymi, gdy produktami reakcji są więcej niż dwa produkty reakcji. == Klasyfikacja reakcji jądrowych == : '''Według energii parającej cząstki''' * reakcje niskiej energii E{{Sub|a}}&le;1MeV. * Reakcje średniej energii E{{Sub|a}} od 1 do 100MeV. * Reakcje wysokiej energii E{{Sub|a}}&ge;100MeV. W literaturze można spotkać inny poddział reakcji, tzn. poniżej i powyżej progu mezonowego, które w wyniku reakcji z jądrem mogą się tworzyć mezony &pi;. Masa spoczynkowa mezonów jest 273m{{Sub|e}}=130MeV. : '''Według rodzaju cząstki lub cząstek inicjujących daną reakcję lub cząstki stanowiącej jej produkty''' * reakcje neutronowe,np. (n,n'),(n,p),(n,&alpha;), (n,f), itp. * reakcje protonowe, np. (p,p'),(p,n),(p,&alpha;),(p,&gamma;), itp. * reakcje fotojądrowe, np. (&gamma;,n),&gamma;,p),(&gamma;,f), itp. * reakcje z ciężkimi jonami(HI), np. ({{Sup|11}}B,{{Sup|10}}B), ({{Sup|12}}C,{{Sup|13}}N),(HI,n), itp; : '''Według rodzaju reakcji''' * reakcje rozszczepieniowe: (a,f) * reakcje syntezy: X{{Sub|1}}+X{{Sub|2}}→Y+b. * reakcje wychwytu radiacyjnego: (a,&gamma;) * reakcje kruszenia(spalacji):A+X→Y{{Sub|1}}+Y{{Sub|2}}+Y{{Sub|3}}+...+b{{Sub|1}}+b{{Sub|2}}+... : '''Reakcje według schematu wewnętrznego, tzn. według mechanizmu reakcji''' * reakcja wprost (direct), są to reakcje dwuciałowe zachodzące w czasie średnim &tau;&asymp;10{{Sup|-22}} * reakcje złożone (compound), są to reakcje powolne z utworzeniem jądra pośredniego a+X→C{{Sup|*}}→Y+b+.... Jest to reakcja dwustopniowa dwuetapowa, z czasem średnim: &tau;=1{{Sup|-14}}&divide;10{{Sup|-16}}, w tej reakcji można wyróżnić dwa etapy, w którym powstaje jadro pośrednie, najczęściej wzbudzone, wtedy to jądro rozpada się na dalsze produkty reakcji. * reakcje o mechanizmie pośrednim, wtedy kiedy nie można określić jaka to reakcja. == Zasady zachowania w reakcjach jądrowych (reguły wyboru) == Są to prawa zachowania opisującego substraty i produktu reakcji, ogólne reguły wyboru są: * ładunku elektrycznego, czyli ładunek reakcji przed i po reakcji zostaje zachowany {{Formuła|<MATH>\sum_iZ_i=\sum_fZ_f\;</MATH>}}. * liczby nukleonów lub ogólniej w reakcjach, w której zostaje zachowana liczba nukleonów {{Formuła|<MATH>\sum_iA_i=\sum_fA_f\;</MATH>}}. * liczby barionowej, która jest zachowana podczas reakcji. * energii i pędu, tzn. pęd (energia) przed reakcją jest równa pędowi (energii) po reakcji. Prawo zachowania pędu jest {{Formuła|<MATH>\sum_i\vec{p}_i=\sum_f\vec{p}_f\;</MATH>}}, a energii {{Formuła|<MATH>\sum_iE_i=\sum_f E_f\;</MATH>}}. * liczby leptonów, która jest zachowana podczas reakcji. Jeśli będziemy rozpatrywać bilans energetyczny energii substratów i produktów, wtedy energia substratów jest równa energii produktów: {{CentrujWzór|<MATH>\sum_im_{0i}c^2+\sum_iT_i=\sum_im_{0f}c^2+\sum_fT_f\;</MATH>|6.4}} Oznaczenie T w bilansie energetycznym {{LinkWzór|6.4}} jest to energia kinetyczna cząstek, wtedy energia wydzielana w wyniku reakcji Q (co wynika z ostatniego wzoru) piszemy: {{CentrujWzór|<MATH>Q=\left(\sum_im_{0i}-\sum_{f}m_{0f}\right)c^2=\sum_fT_f-\sum_iT_i\;</MATH>|6.5}} Gdy Q>0, to taką reakcję nazywamy egzoenergetyczną, tzn. część energii spoczynkowej przechodzi w energię kinetyczną produktów. Reakcja nie ma progu, gdy zachodzi Q<0, to jest to reakcja endoenergetyczna, zachodzi kosztem energii kinetycznej substratów, ta reakcja zachodzi, gdy {{Formuła|<MATH>\sum_iT_i\geq;T_f\;</MATH>}}. Gdy Q=0 jest to reakcja rozpraszania elastycznego, dla której zachodzi {{Formuła|<MATH>\sum_iT_i=\sum_fT_f\;</MATH>}}. Dokładniejsze związki możemy określić, gdy zdefiniujemy układ odniesienia, tzn. układ laboratoryjny i układ związany z układem laboratoryjnym (CM). Załóżmy, że mamy reakcję a+X→Y+b. {{Rysunek|Zderzenie cząstek w układzie laboratoryjnym.png|6.1|Zderzenie cząstek w układzie laboratoryjnym}} W układzie laboratoryjnym w odróżnieniu od układu środka masy suma pędów w cale nie musi być równa zero, wtedy zachodzi: {{CentrujWzór|<MATH>\vec{p}_a=\vec{p}_b+\vec{p}_Y\;</MATH>|6.6}} bo suma pędów substratów przed reakcją jest równa sumie pędów po reakcji. Energia progu reakcji, który musi pokonać cząstka "a", by zaszła reakcja, wykorzystując definicję energii wydzielanej z reakcji, jest równa: {{CentrujWzór|<MATH>E_{prog}={{m_a+M_X}\over{M_X}}|Q|\;</MATH>|6.7}} {{Rysunek|Zderzenie cząstek w układzie środka masy.png|6.2|Zderzenie cząstek w układzie środka masy}} W układzie środka masy (CM) suma pędów substratów i produktów jest równa zero, tzn zachodzi: {{CentrujWzór|<MATH>\vec{p}_{a}+\vec{p}_X=0=\vec{p}_b+\vec{p}_Y\;</MATH>|6.8}} Energia progowa jaką musi pokonać cząstka "a", by zaszła reakcja jest równa wartości bezwzględnej energii wydzielanej (pochłanianej) w wyniku reakcji: {{CentrujWzór|<MATH>E_{prog}=|Q|\;</MATH>|6.9}} W obu układach, gdy Q>0 reakcja jest egzoenergetyczna, Q<0 reakcja endoenergetyczna, Q=0 reakcja rozpraszania sprężystego. == Reakcje bez pośredniego rozpraszania (reakcje wprost) == {{Rysunek|Rozkład kątowy w reakcji wprost (d,p) teoretycznie i doświadczalnie.png|6.3|Rozkład kątowy w reakcji wprost (d,p)|rozmiar=400px}} Reakcje wprost dzielimy na reakcje: '''Rozpraszanie elastyczne''' '''Rozpraszania nieelastyczne''' * Są to reakcje, które przebiegają według schematu X(a,a{{Sup|'}})X{{Sup|*}} kosztem energii cząstki bombardującej występuje wzbudzenie jądra tarczy w wyniku oddziaływania jądrowego. * Deekscytacji jąder tarczy towarzyszy emisja &gamma; lub EKW, pomiar widm &gamma; lub EKW pozwala wyznaczyć energię stanów wzbudzonych w tych jądrach. Zderzenie "a" z X jest procesem szybkim i jednostopniowym z udziałem jednego lub kilku zewnętrznych nuklidów. W jądrach nieparzystych występują preferowane stany jednocząstkowe, a w p-p występują wzbudzenia kolektywne, tzn. rotacje i oscylacje niskoenergetyczne. * Pomiary rozkładów kątowych dają informacje o kształcie jądra tarczy (potencjału rozpraszającego), a także informacje o spinie cząstki I, te rozkłady posiadają strukturę dyfrakcyjną. * Jeżeli energia cząstki naładowanej dodatnio E{{Sub|&alpha;}} jest mniejsza od bariery kulombowskiej jądra, to wzbudzenie jądra atomowego następuje w wyniku oddziaływania kulombowskiego. Taki proces nazywamy wzbudzeniem kulombowskim jądra. '''Reakcje transferu''' Jest to przekaz jednego lub więcej nukleonów do jądra tarczy z cząstki bombardującej. * Strippingu (zdarcia) jest to przekaz nukleonu(ów) z cząstki bombardującej do jądra tarczy, np.: : (d,n),(d,p),({{Sup|3}}He,d) -stripping jednego nukleonu : ({{Sup|3}}H,d),({{Sup|3}}H,n),({{Sup|16}}O,{{Sup|14}}N)- stripping dwóch nukleonów. '''Pick-up (przechwytu)''' jest to przekaz nukleonów z jądra tarczy do cząstki bombardującej, np. (n,d),(p,d),(d,{{Sup|3}}He), itp.. '''kuac-out (wymiany)''' dołączenie do jądra tarczy cząstki bombardującej i wyrwanie z niej innej cząstki: {{CentrujWzór|<MATH>a+X\rightarrow Y+b\;</MATH>|6.10}} === Cechy charakterystyczne reakcji wprost === * uprzywilejowanie małych kątów wylotu cząstki w reakcji, brak symetrii względem kąta 90{{Sup|o}} (charakterystycznej dla reakcji przez jądro złożone). Dla większych kątów występuje struktura dyfrakcyjna. * rozkłady kątowe zależą od momentu pędu przekazanej jądru. * stosunkowo słaba zależność przekroju czynnego od energii cząstki bombardującej (zwykle jest funkcją rosnącą). * brak ostrych rezonansów na krzywej wzbudzenia * występowanie korelacji kątowej pomiędzy cząstką bombardującą, a fotonem &gamma;, który wylatuje ze wzbudzonego jądra tarczy. * Reakcja zachodzi w czasie t&le;10{{Sup|-22}}s jako proces jednostopniowy. * w reakcji jest zaangażowana mała liczba nukleonów dla jądra tarczy. * całkowy przekrój czynny jest zależny od kąta &theta;, która jest kątem pomiędzy cząstką bombardującą a cząstką wychodzącą z jądra tarczy, jest ona napisana: {{CentrujWzór|<MATH>\sigma(\theta)=S_{lj}\cdot\sigma_{lj}(\theta)\;</MATH>|6.11}} gdzie &sigma;{{Sub|lj}} jest to czynnik kinematyczny, a S{{Sub|lj}} czynnik spektroskopowy zależnej od funkcji falowej charakteryzującej jądro atomowe. a "l" i "j" jest to orbitalny i całkowity moment pędu przekazywanej jądru. Czynnik kinematyczny oznacza przekrój czynny na otrzymanie przez jądro tarczy orbitalnego momentu pędu "l" i całkowitego momentu pędu "j". == Reakcje przez jądro złożone == * W tej reakcji mamy dwie cząstki jądra pocisk, który zderza się z jądrem tarczą, wyniku czego powstaje jądro złożone, które jest wzbudzone do pewnego stanu: {{CentrujWzór|<MATH>a+X\rightarrow C^*\;</MATH>|6.12}} Jądro C{{Sup|*}} rozpada się na wiele sposobów. Energia wzbudzenia odpowiada stanom widma ciągłego. * energia wzbudzenia jądra rozkłada się statystycznie na wszystkie cząstki, lub na większość z nich należącej do wspomnianego jądra, co jest inaczej zwane '''wzbudzeniem kolektywnym''', jest ono napisane: {{CentrujWzór|<MATH>E_{wzb}(C)=S_a(C)+E_a^{kin}\;</MATH>|kp}} * istnieje wiele kanałów wyjściowych rozpadu jadra złożonego, tzn.: {{CentrujWzór|<MATH>a+X\rightarrow C^*\rightarrow \begin{cases} C+\gamma\\ Y+b_f\\ F_1+F_2+\nu n \end{cases}\;</MATH>|6.13}} Pierwsza reakcja w {{LinkWzór|6.13}} jest to wychwyt radioaktywny. W przypadku drugiej reakcji cząstka b{{Sub|f}} oznacza (n,p,&alpha;), a ostatnia reakcja to reakcja rozpraszania, ale: * przekrój czynny jest iloczynem prawdopodobieństwa na utworzenie jądra wzbudzonego C{{Sup|*}} i prawdopodobieństwa rozpadu tego jądra z emisją według ściśle określonych produktów, tzn. Y{{Sub|f}}+b{{Sub|f}}: {{CentrujWzór|<MATH>\sigma(a,b_f)=\sigma(C)\cdot\lambda(b_f)\;</MATH>|6.14}} * prawdopodobieństwo utworzenia jądra złożonego, a prawdopodobieństwa rozpadu tego jądra na ściśle określone produkty są niezależne od siebie. Jądra złożone zapomina jak powstało i z jakiego kierunku nadleciał pocisk, zatem emisja cząstek b{{Sub|f}} jest izotropowa, {{Rysunek|Różniczkowy przekrój czynny w zależności od kata rozpraszania.png|6.4|Różniczkowy przekrój czynny w zależności od kata rozpraszania}} * rozkłady kątowe cząstek "b" wykazują symetrię według kata &theta;=90{{Sup|o}}, a także zależą od wartości spinu C{{Sup|*}}, a odstępstwo od tej zasady jest posiadanie przez jądro złożone wzbudzone wysokiej wartości momentu pędu powstałej w wyniku zderzenia z cząstką "a". Siła odśrodkowa rotacji jądra atomowego ułatwia emisję w kierunku prostopadłym do osi rotacji i posiada minimum przy kącie &theta;=90{{Sup|o}}, takie jądro wykazuje symetrię wobec tego kąta, * krzywe wzbudzenia reakcji wykazują ostre maksima, które świadczą o wychwycie przez jądro cząstki bombardującej przez jądro tarczy, gdy energia cząstki "a" E{{Sub|a}} zbliża się do energii rezonansowej określonej jako poziom wzbudzenia. Kształt krzywej rezonansowej dla przekroju czynnego &sigma;(E{{Sub|a}},E{{Sub|wzb}},&Gamma;) opisujemy rozkładem Brieita-Wignera (Lorentza) {{LinkWzór|2.54|Najważniejsze_parametry_jądra_atomowego}} Prawdopodobieństwo wychwytu jądra poza rezonansem maleje ze wzrostem (maleniem) energii cząstki bombardującej E{{Sub|a}}. Szerokość rezonansu określa poziom wzbudzenia jądra złożonego C{{Sup|*}}. Jego czas życia jest określony przez równanie {{Formuła|<MATH>\Gamma\cdot\tau=\hbar\;</MATH>}}. * przejścia C{{Sup|*}}→Y{{Sub|f}} do stanów wysokowzbudzonych jądra Y, odpowiadają szerokością energetycznym, które nawzajem się nakładają. Emisja niskoenergetycznych naładowanych cząstek maleje wraz energią cząstek emitowanych, ponieważ ich zdolność przenikania przez barierę sił kulombowską maleje, * Widmo energetyczne cząstek emitowanych zależy od energii cząstek emitowanych, a także od energii jądra wzbudzonego C{{Sup|*}}, rodzaju cząstki emitowanej b, od schematu pomiarów w jądrze atomowym. Najszybsze cząstki odpowiadają przejściu jądra ze stanu wzbudzonego C{{Sup|*}} do stanu podstawowego z widmem dyskretnym, wolniejsze do dyskretnych stanów podstawowych (liniowa część widma), bo w części niskoenergetycznej widmo jest ciągłe. Można tak powiedzieć, bo przy małych energiach poziomy w widmie dyskretne są tak gęsto poukładane, więc je można uważać za ciągłe, * czas trwania reakcji jest stosunkowo długi i wynosi 10{{Sup|-16}}s, * W reakcjach nad ciężkimi jądrami uzyskuje się stany wzbudzone jądra C{{Sup|*}} o najwyższych spinach I=100. Jeśli bombardujemy jądro ciężkimi jonami, to moment pędu unoszony do jądra jest bardzo duży (obszar wysokich energii wzbudzenia jądra), czyli poprzez cząstkę bombardującą uzyskuje się duży moment pędu C{{Sup|*}} jądra złożonego i przez to uzyskujemy duży jego spin. == Reakcje rozszczepieniowe (Fission), czyli reakcje przez jądro złożone == Reakcje rozszczepienia odkrył Fermi w 1934 roku. Jest to reakcja przez jądro złożone, których cząstka a i jądro X łączą się ze sobą i w wyniku czego powstaje jądro wzbudzone złożone C{{Sup|*}}, który rozszczepia się na kilka jąder z emisją kilku neutronów: {{CentrujWzór|<MATH>a+X\rightarrow C^*\rightarrow F_1+F_2+\nu n\mbox{ gdzie: }\nu=\mbox{od 1 do 3}\;</MATH>|6.15}} Przykładem reakcji rozszczepieniowej jest: {{CentrujWzór|<MATH>{}^1_0n+{}^{235}_{82}U\rightarrow {}^{236}_{92}U^*\rightarrow {}^{92}_{36}Kr+{}^{142}_{56}Ba+2{}^1_0n\;</MATH>|6.16}} Całkowita energia wzbudzenia jądra wzbudzonego C, czyli E{{Sub|wzb}} jest sumą energii wydzielanej podczas bombardowania cząstką "a" S{{Sub|a}}(C) i energii kinetyczna kinetycznej cząstki "a" minus energia bariery kulombowskiej E{{Sub|bar. kul.}} jaką cząstka "a" musi pokonać by zaszła reakcja: {{CentrujWzór|<MATH>E_{wzb}(C)=S_a(C)+\Delta E_a^{kin}-E_{par. kul.}(X,a)\;</MATH>|6.17}} Pociskiem może być dowolna cząstka o odpowiedniej energii, takiej by energia wzbudzenia jądra C była większa niż bariera na rozszczepienie. Ciepło reakcji możemy przedstawić jako różnicę energii cząstek przed i po rozczepieniu: {{CentrujWzór|<math>Q_{fc}=[M_j(C)+E_{wzb}]-\left\{[M_j(F_1)+E_{wzb}(F_1)]+[M_j(F_2)+E_{wzb}(F_2)]+\nu m_n\right\}\;</MATH>|6.18}} Masa jądra wzbudzonego jest sumą mas tarczy X i pocisku "a", oraz aby zaszła reakcja to energia wzbudzenia jądra C powinna być większa niż bariera potencjału jak powiedzieliśmy wcześniej, tzn. według drugiego wzoru poniżej, bo wtedy ma prawo zajść reakcja rozszczepieniowa wiedząc, że &Delta;W{{Sub|f}}(C) jest barierą na rozszczepienie, które muszą pokonać produkty reakcji, aby wyjść na zewnątrz, czyli aby udała się reakcja: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>M_j(C)=M_j(X)+m_a\;</MATH>|6.19}} | 2 = {{CentrujWzór|<MATH>E^'_{wzb}(C)=E_{wzb}(C)-\Delta W_f(C)\geq 0\;</MATH>|6.20}} }} Reakcje (n,f), w których pociskami są neutronu, są zawsze egzoenergetyczne dla jader X ciężkich. Energia reakcji jest unoszona przez produkty reakcji, tzn.: {{CentrujWzór|<MATH>Q_f=\sum_lE^{(k)}(F_l)+\sum_{\nu}E^{(k)}_{\nu}(n)+\sum_kE_{\gamma_k}+\mbox{promieniowanie}\;</MATH>|6.22}} Promieniowanie wydzielane podczas reakcji {{LinkWzór|6.15}} może być to promieniowanie &beta;{{Sup|-}} i {{Formuła|<math>\tilde{\nu}\;</MATH>}}, która jest wydzielana w procesie rozpadu neutronu (która jest jednych z produktów rozważanej reakcji) zachodzącej według {{LinkWzór|3.41|Rozpady_(przejścia,_przemiany)_jądrowe}} i promieniowania &gamma;, która jest wydzielana w procesie deekscytacji jądra F{{Sub|i}}. Wiemy, że jeśli energia neutronów jako substratów reakcji jest E{{Sub|n}}=0,025eV, a energia wzbudzenia jądra złożonego jest {{Formuła|<MATH>{}^{235}U\;</MATH>}} w wyniku reakcji {{LinkWzór|6.20}} jest 6,5MeV, to w tym przypadku ciepło reakcji jest 200MeV, to jądra F{{Sub|i}} unoszą energię 165MeV, neutrony 5MeV, a fotony &gamma; energię 7MeV, a pozostałe produkty reakcji w wyniku promieniowania energię 23MeV, czyli ponad 80% energii przejmują fragmenty rozczepienia. === Mechanizm reakcji rozszczepienia === Cząstka bombardująca jądro wnika do jądra, i wyniku oddziaływań jądrowych tworzy się jądro złożone a+X→C o stanie energetycznym {{LinkWzór|6.17}}. W obszarze widm ciągłych powoduje to oscylacje kształtu (deformacje) jądra C, co przy energii wzbudzenia mniejszych niż bariera potencjału powoduje deekscytacje jądra z emisją kwantu &gamma; lub innej cząstki "b" różnej od cząstki bombardującej, a przy energii większej od bariery potencjału po czasie 10{{Sup|-14}}s od utworzenia jądra złożonego po podziale jądra na fragmenty, które są zwykle silnie wzbudzone, następuje silna emisja kwantów &gamma; w czasie 10{{Sup|-12}}s. Przy rozczepieniu fragmenty naszego jądra mogą mieć nadmiar neutronów, więc ulegają rozpadowi &beta;{{Sup|-}} do kolejnych jąder wzbudzonych lub jest emisja neutronów, co następuje w czasie 10{{Sup|-10}}s. === Energia neutronów pierwotnych === {{Rysunek|Kaliforn.png|6.5|Widmo neutronów emitowanych przez Cf-252|rozmiar=250px}} Widmo energii neutronów pierwotnych natychmiastowych (neutronów wychodzących z reakcji jako substraty reakcji, dzięki którego ma się prawo utworzyć jądro złożone C) jest zawsze ciągłe i średnia ich energia jest równa {{Formuła|<MATH>\overline{E}_n=2\mbox{MeV}\;</MATH>}} w reakcji {{Formuła|<MATH>{}^{235}U(n,f)\;</MATH>}}. === Deformacja kropli jądrowej w procesie rozczepienia === Załóżmy, że jądro przyjmuje kształt kropli jądrowej, który jest elipsoidą obrotową wyrysowaną przy odpowiednich półosiach "a" i "b" wyrażonej przy pomocy mimośrodu elipsy i przy pomocy promienia jądra po deformacji R równych: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>a=R(1+\epsilon)\;</MATH>|6.23}} | 2 = {{CentrujWzór|<MATH>b=R(1+\epsilon)^{-{{1}\over{2}}}\;</MATH>|6.24}} }} Zakładamy, że przy deformacji jądra nie zmienia się jego objętość, tzn. gdy początkowo, gdy jądro przyjmowało kształŧ kuli, to jego objętość jest taka sama po deformacji, która przyjmuje wtedy wygląd elipsoidy obrotowej: {{CentrujWzór|<MATH>V_{kuli}(Z,A)\equiv V_{elipsoidy}(Z,A)\Rightarrow{{4\pi R^3}\over{3}}\equiv 4\pi ab^2/3\;</MATH>|6.25}} Pole powierzchni elipsoidy obrotowej można wyznaczyć przy pomocy powierzchni kuli o promieniu R i mimośrodu elipsoidy obrotowej: {{CentrujWzór|<MATH>S_{el.obrot}(\epsilon)=4\pi R^2\left(1+{{2}\over{5}}\epsilon^2+...\right)\;</MATH>|6.26}} Energia powierzchniowa elipsoidy możemy napisać przy pomocy powierzchni {{LinkWzór|6.26}} dla energii powierzchniowej elipsoidy obrotowej w zależności od energii powierzchniowej kuli: {{CentrujWzór|<MATH>W_{pow}(A,Z,\epsilon)=W_{pow}(A,Z)_{kuli}\left(1+{{2}\over{5}}\epsilon^2+...\right)\;</MATH>|6.26a}} Objętość zdeformowanego jądra możemy przedstawić podobnie jak powierzchnia zdeformowanego jądra, zatem energia kulombowska elipsoidy obrotowej (ta energia jest energia objętościową) możemy napisać w zależności od energii kulombowskiej kuli, przy pomocy mimośrodu elipsoidy obrotowej jądra zdeformowanego: {{CentrujWzór|<MATH>W_{cul}(A,Z,\epsilon)=\underbrace{W_{cul}(A,Z)_{kuli}}_{a_C{{Z^2}\over{A^{{{1}\over{3}}}}}}\left(1-{{1}\over{5}}\epsilon^2+..\right)\;</MATH>|6.27}} Całkowita energia jądra zdeformowanego jest sumą jej energii powierzchniowej W{{Sub|swob}}(A,Z,&epsilon;) i energii objętościowej W{{Sub|cul}}(A,Z,&epsilon;): {{CentrujWzór|<MATH>W(A,Z,\epsilon)=W_{cul}(A,Z,\epsilon)+W_{pow}(A,Z,\epsilon)=\left(W_{pow}(A,Z)+W_{cul}\right)_{kuli}+\epsilon^2{{2W_{pow}(A,Z)_{kuli}-W_{cul}(A,Z)_{kuli}}\over{5}}\;</MATH>|6.28}} {{Rysunek|The energy of the atomic nucleus (elispoidy rotation), depending on its eccentricity.png|6.6|Energia jądra w zależności od mimośródu jądra atomowego jako elipsoidy obrotowej|rozmiar=300px}} Jeśli przedstawimy całą energię jądra zdeformowanego przy pomocy energii stanu wzbudzonego przy przejściu jądra od kształtu kuli do kształtu elipsoidy obrotowej, którą przedstawiamy: {{CentrujWzór|<MATH>W(A,Z,\epsilon)=W(A,Z,\epsilon=0)+\Delta W_f(A,Z,\epsilon)\;</MATH>|6.29}} * gdzie bariera potencjału jądra zdeformowanego przedstawiamy w zależności od jego energii powierzchniowej i objętościowej, gdy by była kulą i od mimośrodu elipsoidy obrotowej, przedstawiamy: {{CentrujWzór|<MATH>\Delta W_f(A,Z,\epsilon)=\epsilon^2{{2W_{pow}(A,Z)_{kuli}-W_{cul}(A,Z)_{kuli}}\over{5}}\;</MATH>|6.30}} ==== Bariera energetyczna równa wartości &Delta;W{{Sub|f}} większej od zera ==== {{Rysunek|Przejście tunelowe z barierą energetyczną.png|6.7|Przejście tunelowe z barierą energetyczną}} Rozważmy teraz przypadek &Delta;W{{Sub|f}}>0 {{LinkRysunek|6.6}}, wtedy jądro jest stabilne ze względu na oscylacje kształtu. Dla zrealizowania rozczepienia należy dostarczyć z zewnątrz energie E{{Sub|wzb}}>&Delta;W{{Sub|f}}. Rozszczepienie spontaniczne może być zrealizowane w wyniku przejść tunelowych i jego prawdopodobieństwo silnie zależy od Z{{Sup|2}}/A. Podamy teraz tabelkę dla poszczególnych jąder złożonych C{{Sup|*}} stosunek Z{{Sup|2}}/A i jego wysokość bariery &Delta;W{{Sub|f}}[MeV], a także energie separacji (wiązania) neutronu dla tych jąder: {{Tabelka|opcje=width=570px|klasa=wikitable|<!-- -->{{Wiersz|<!-- -->{{Komórka|nagłówek=tak|Jądro C{{Sup|*}}}}<!-- -->{{Komórka|nagłówek=tak|Z{{Sup|2}}/A}}<!-- -->{{Komórka|nagłówek=tak|&Delta;W{{Sub|f}}[MeV]}}<!-- -->{{Komórka|nagłówek=tak|S{{Sub|n}}[MeV]}}<!-- -->}}{{Wiersz|<!-- -->{{Komórka|{{Formuła|<MATH>{}^{233}_{90}Th\;</MATH>}}}}<!-- -->{{komórka|34,8}}<!-- -->{{Komórka|6,5}}<!-- -->{{Komórka|5,0}}<!-- -->}}{{Wiersz|<!-- -->{{Komórka|{{Formuła|<MATH>{}^{236}_{92}U\;</MATH>}}}}<!-- -->{{Komórka|35,9}}<!-- -->{{Komórka|5,8}}<!-- -->{{Komórka|6,5}}<!-- -->}}{{Wiersz|<!-- -->{{Komórka|{{Formuła|<MATH>{}^{239}_{92}U\;</MATH>}}}}<!-- -->{{Komórka|35,5}}<!-- -->{{Komórka|6,3}}<!-- -->{{Komórka|4,8}}<!-- -->}}{{Wiersz|<!-- -->{{Komórka|{{Formuła|<MATH>{}^{237}_{93}Np\;</MATH>}}}}<!-- -->{{Komórka|36,5}}<!-- -->{{Komórka|5,6}}<!-- -->{{Komórka|6,7}}<!-- -->}}{{Wiersz|<!-- -->{{Komórka|{{Formuła|<MATH>{}^{240}_{94}Pu\;</MATH>}}}}<!-- -->{{Komórka|36,8}}<!-- -->{{Komórka|4,8}}<!-- -->{{Komórka|6,5}}<!-- -->}}{{Wiersz|<!-- -->{{Komórka|{{Formuła|<MATH>{}^{208}_{92}Pb\;</MATH>}}}}<!-- -->{{Komórka|32,3}}<!-- -->{{Komórka|35}}<!-- -->{{Komórka|}}<!-- -->}}{{Wiersz|<!-- -->{{Komórka|{{Formuła|<MATH>{}^{197}_{79}Au\;</MATH>}}}}<!-- -->{{Komórka|31,7}}<!-- -->{{Komórka|55}}<!-- -->{{Komórka|}}<!-- -->}}<!-- -->}} Te jądra po przechwyceniu neutronu dla którego zachodzi S{{Sub|n}}>&Delta;W{{Sub|f}} następuje potem rozszczepienie. Energie wzbudzenia jadra atomowego dla przypadku Z{{Sup|2}}/A<49; nazywamy sumę energii separacji neutronu jądra złożonego "C" i energii kinetycznej neutronu przez zderzeniem z jądrem tarczą, wtedy czas połowicznego rozpadu {{Formuła|<MATH>T_{1/2}=6\cdot 10^{15}lat\;</MATH>}}. {{CentrujWzór|<MATH>E_{wzb}(C)=S_n(C)+\Delta E_n^{kin}\;</MATH>|6.31}} ==== Bariera energetyczna równa wartości &Delta;W{{Sub|f}} nie większej niż zero ==== {{Rysunek|Energia jądra bez bariery energetycznej w rozczepieniu.png|6.8|Energia jądra bez bariery energetycznej}} Układ jest niestabilny ze względu na deformacje, ulega natychmiastowej fragmentacji, wtedy W{{Sub|cul}}(&epsilon;=0)&ge;2W{{Sub|pow}}(&epsilon;=0). Warunek ten zachodzi dla {{Formuła|<MATH>{{Z^2}\over{A}}\ge 49\;</MATH>}}, tzn dla jąder, dla których zachodzi Z&ge;120, tzn. dla jąder ciężkich o liczbie neutronów w zależności od liczby protonów we jądrze N=1,5Z. Dla tego przypadku czas połowicznego rozpadu wynosi {{Formuła|<MATH>T_{1/2}(sf)\simeq 10^{-22}s\;</MATH>}}. Te jądra są niestabilne ze względu na natychmiastowe rozszczepienie === Masy fragmentów rozczepienia jądra C* === Widmo mas fragmentów reakcji rozczepienia zależy od energii wzbudzenia jądra złożonego oraz od jego struktury powłokowej. Dla jąder ciężkich, tzn. dla liczb masowych mieszczących się w przedziale 230&divide;240 przy małej energii wzbudzenia rozszczepienie jest asymetryczne. Wyraźne dwa maksima występują przy A&asymp;95 i A&asymp;140;, wtedy stosunek liczb masowych tych dwóch maksimów występuje, gdy spełniony jest stosunek A{{Sub|1}}/A{{Sub|2}}&asymp;2/3. Asymetria ta maleje przy rosnącej energii wzbudzenia i rozczepienia, wtedy fragmentacja jąder przechodzi w widmo symetryczne, tzn. dla której zachodzi warunek A{{Sub|1}}&asymp;A{{Sub|2}}&asymp;A/2. Dla tych liczb masowych logarytm przekroju całkowego na rozszczepienie jest napisany w zależności od liczby masowej dla różnych energii wzbudzenia E{{Sub|wzb}} jądra złożonego C: {{Rysunek|Rozszczepienie na fragmenty jądra początkowego atomowego (rozszczepienie symetryczne i asymetryczne).jpeg|6.9|Rozszczepienie na fragmenty jądra atomowego (rozszczepienie symetryczne i asymetryczne)|rozmiar=700px|pozycja=center}} <noinclude>{{SkomplikowanaStronaKoniec}}</noinclude> mz01g3n7mrxdy9ogmolacqop3yhbsvl Szablon:Dopracować/opis 10 33365 559129 544546 2026-10-11T18:23:17Z Persino 2851 /* Parametry konkretnych problemów */ 559129 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|Dopracować}} {{Wysokie ryzyko}} {{Spis treści}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> == Składnia == Podstawowa składnia szablonu: : {{Code|{{s|Dopracować|{{!(}}nazwa problemu 1{{)!}} {{=}} {{!(}}data{{)!}}|{{!(}}nazwa problemu 2{{)!}} {{=}} {{!(}}data{{)!}}}}}} :: [data] w formacie rrrr-mm :: szablon przyjmuje dowolną liczbę problemów Przykłady: : {{Code|{{s|Dopracować|język {{=}} {{Czas|Y-m}}}}}} : {{Code|{{s|Dopracować|źródła {{=}} {{Czas|Y-m}}|styl {{=}} {{Czas|Y-m}}}}}} (więcej o wstawianiu kilku problemów w sekcji {{Link wewnętrzny|nagłówek=Kilka parametrów na raz|nazwa=Kilka parametrów na raz}}) Wskazówki: * Jeżeli [nazwa problemu] jest parametrem z tabeli poniżej (sekcja {{Link wewnętrzny|nagłówek=Parametry konkretnych problemów|nazwa=Parametry konkretnych problemów}}), wyświetlony zostanie zdefiniowany tekst. W przeciwnym razie wyświetlony zostanie tekst, który został wpisany do szablonu. Zob. sekcja {{Link wewnętrzny|nagłówek=Użycie|nazwa=Użycie}}. * Jeśli problem dotyczy tylko konkretnej sekcji, należy zastosować dodatkowy parametr "sekcja", zob. opis {{Link wewnętrzny|nagłówek=Parametry pomocnicze|nazwa=Parametry pomocnicze}}. == Użycie == Szablonu używamy do oznaczania jednostek w obsługiwanych przestrzeniach na obsługiwanych stronach tego szablonu, nie używając parametrów dodatkowych, tzn.: przestrzeń nazw: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}} (ale nie: {{lj2|Strona główna}}), {{Np|User|link=tak}} (ale nie strona główna Wikipedysty), {{Np|Category|link=tak}}, {{Np|Template|link=tak}} (strony opisu), {{Np|Module|link=tak}} (strony opisu), {{Np|Wikibooks|link=tak}} (ale nie: {{lr2|Strona główna}}) i {{Np|Help|link=tak}} oraz nibyprzestrzenie nazw: {{lr2|Brudnopis}} (brudnopis projektu), {{ls2|Brudnopis}} (brudnopis szablonu) i {{ld2|Brudnopis}} (brudnopis modułu), nie napisane zgodnie z zasadami lub zaleceniami edycyjnymi, a więc wymagają dopracowania, a z parametrami dodatkowymi sytuacja jest trochę inna. '''Wstawienie samego {{s|dopracować}} nie wystarcza zazwyczaj, by osoba chętna do poprawienia wiedziała od razu, jakie mankamenty znajdują się w jednostce''', dlatego zaleca się używać niżej opisanych parametrów. Pusty szablon na stronie nie generuje żadnych informacji, a kategoria {{lk|Szablon dopracować bez podanych parametrów}} zawiera listę takich stron. Parametry zostały określone, ponieważ niektóre problemy pojawiają się dość często i gdy użyjemy parametrów, w szablonie znajdą się linki do odpowiednich {{lpr|metastrony|metastron}}, a samo hasło przypisane zostanie do wąskiej kategorii zawierającej jednostki obarczone tymi problemami. Jeżeli jakiś problem nie został zdefiniowany, można go opisać po „|”. W szablonie można zmieścić dowolną liczbę parametrów (zazwyczaj aż tak dużo problemów nie ma, a jeżeli jest aż tyle, to najlepiej zrobić wpis na stronie dyskusji i użyć parametru {{Tt|sekcja dyskusji {{=}} nazwa sekcji}} === Data === Przy parametrach należy podać datę (rok i miesiąc, w formacie rrrr-mm) wstawienia szablonu. Nieistotna jest data wstawienia kwestionowanych informacji. Daty nie należy podawać, jeśli opis problemu jest zwykłym tekstem, a nie parametrem. A jeżeli nie wstawiano danych przy nienazwanych parametrach, to należy wstawić datę za pomocą zmiennej ''data'' według przykładu: '''{{Kolor|Maroon|data}}''' = {{Czas|Y-m}}. === Parametry konkretnych problemów === : Te parametry można stosować w dowolnej kolejności. {{EfektKodów | kod-rozmiar = 30% | 1 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|styl}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające poprawy stylu}}. | _1 = {{Dopracować|styl={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 2 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|język}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki niezgodne z normami polskiego języka literackiego}}. | _2 = {{Dopracować|język={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 3 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|tłumaczenie}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające przetłumaczenia}}. | _3 = {{Dopracować|tłumaczenie={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 4 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|źródła medyczne}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki medyczne wymagające dodania wiarygodnych źródeł}}. * działają też parametry {{tt|'''medref'''}}, {{tt|'''medwer'''}} * należy używać tylko w przypadku braków odpowiedniego uźródłowienia w hasach medycznych. W przypadku, kiedy cały artykuł (podręcznik) jest niezgodny z aktualną wiedzą medyczną, na jego górze powinien znajdować się szablon informacyjny {{s|nmed}}. | _4 = {{Dopracować|źródła medyczne={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 5 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|źródła}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające uzupełnienia źródeł}}. * działają też parametry {{Tt|'''Źródła'''}}, {{Tt|'''WER'''}} i {{Tt|'''wer'''}} * należy używać tylko w przypadku rażących braków w uźródłowieniu, mogących w przyszłości stać się źródłem poważnych problemów | _5 = {{Dopracować|źródła={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 6 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|opis bibliograficzny}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki zawierające niepełne opisy bibliograficzne}}. * działa też parametr {{Tt|'''niepełne źródła'''}} i {{Tt|'''niepełne źródło'''}} * do zastosowania w sytuacji, gdy np. źródle podano nazwisko i rok publikacji, ale bez tytułu publikacji. | _6 = {{Dopracować|opis bibliograficzny={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 7 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|tamże}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające poprawienia przypisów}}. * działają też parametry {{Tt|'''Ibidem'''}} i {{Tt|'''Ibid'''}} * do zastosowania w sytuacji, gdy jako źródło jest zastosowany zapis "Tamże", "Ibidem", "Ibid". Między treścią uźródłowioną przypisem z podaną publikacją, a fragmentem z przypisem podanym powyższy sposób zawsze ktoś może dodać treść z przypisem powołującym się na zupełnie inną publikację. | _7 = {{Dopracować|Tamże={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 8 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|więcej przypisów}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z brakującymi przypisami}}. | _8 = {{Dopracować|więcej przypisów={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 9 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|nierzetelne}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki zawierające nierzetelne źródła}}. | _9 = {{Dopracować|nierzetelne={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 10 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|sprzeczne informacje}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki ze sprzecznymi informacjami}}. | _10 = {{Dopracować|sprzeczne informacje={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 11 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|zweryfikować}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki do weryfikacji}}. | _11 = {{Dopracować|zweryfikować={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 12 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|OR}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki zawierające własne teorie}}. * działa też parametr {{Tt|'''or'''}} | _12 = {{Dopracować|OR={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 13 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|pov}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające neutralnego ujęcia tematu}}. * działają też parametry {{Tt|'''POV'''}} i {{Tt|'''neutralność'''}} | _13 = {{Dopracować|pov={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 14 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|reklama}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki napisane w formie reklamy}}. | _14 = {{Dopracować|reklama={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 15 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|kryteria}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki bez kryteriów dla list}}. | _15 = {{Dopracować|kryteria={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 16 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|ency}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z encyklopedycznymi treściami}}. | _16 = {{Dopracować|ency={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 17 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|polonocentryzm}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki polonocentryczne}}. | _17 = {{Dopracować|polonocentryzm={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 18 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|pustosłowie}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z pustosłowiem}}. | _18 = {{Dopracować|pustosłowie={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 19 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|łasiczki}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z wyrażeniami zwodniczymi}}. * działa też parametr {{Tt|'''zwodnicze'''}} | _19 = {{Dopracować|łasiczki={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 20 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|ciekawostki}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z ciekawostkami}}. * działa też parametr {{Tt|'''trivia'''}} | _20 = {{Dopracować|ciekawostki={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 21 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|linki}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z linkami wewnętrznymi do dodania}}. | _21 = {{Dopracować|linki={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 22 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|linkizew}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z linkami zewnętrznymi do wyczyszczenia}}. | _22 = {{Dopracować|linkizew={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 23 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|wikikod}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki do poprawy wikikodu}}. | _23 = {{Dopracować|wikikod={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 24 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|kategoria}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające umieszczenia w odpowiedniej kategorii}}. * działa też parametr {{Tt|'''kategorie'''}} | _24 = {{Dopracować|kategoria={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 25 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|format}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające formatowania}}. * działają też parametry {{Tt|'''formatowanie'''}}, {{Tt|'''forma'''}} i {{Tt|'''wikizacja'''}} | _25 = {{Dopracować|format={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 26 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|brak definicji}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające podania definicji}}. * działa też parametr {{Tt|'''definicja'''}} | _26 = {{Dopracować|brak definicji={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 27 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|lead}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające poprawy leadu}}. * działa też parametr {{Tt|'''wstęp'''}} i {{Tt|'''wprowadzenie'''}} | _27 = {{Dopracować|lead={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 28 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|uzupełnić}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające uzupełnienia informacji}}. * działają też parametry {{Tt|'''rozbudować'''}} i {{Tt|'''rozwinąć'''}} | _28 = {{Dopracować|uzupełnić={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 29 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|dane biograficzne}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z biogramami wymagającymi uzupełnienia podstawowych informacji}}. | _29 = {{Dopracować|dane biograficzne={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 30 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|aktualizacja}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające aktualizacji}}. | _30 = {{Dopracować|aktualizacja={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 31 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|aktualizacja stanu prawnego}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z dziedziny prawa wymagające aktualizacji}}. | _31 = {{Dopracować|aktualizacja stanu prawnego={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} }} === Parametry pomocnicze === {| class="wikitable" width=100% !width=35%|Parametr ! Efekt |- | {{s|Dopracować|sekcja dyskusji{{=}}Nazwa sekcji na stronie dyskusji|nierzetelne{{=}}{{Czas|Y-m}}}} : parametr zalecany w sytuacjach, w których uchybienia są liczne; wtedy zgrabniej wyliczyć je w jednej sekcji na stronie dyskusji, niż w szablonie : należy pamiętać o podaniu przynajmniej jednego konkretnego parametru, inaczej wyświetli się komunikat, że nie wyszczególniono niedoskonałości | {{Dopracować|sekcja dyskusji=Nazwa sekcji na stronie dyskusji|nierzetelne={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=strona opisu szablonu|nazwij jednostką=tak|bez błędu=tak}} |- | {{s|Dopracować|sekcja|źródła{{=}}{{Czas|Y-m}}}} : to pole wpisujemy jako pierwsze, gdy problem dotyczy konkretnej sekcji w danym haśle : po nim umieszczamy konkretny parametr | {{Dopracować|sekcja|źródła={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=strona opisu szablonu|nazwij jednostką=tak|bez błędu=tak}} |} === Parametry dodatkowe === {{Szablonowy opis pudełka | opis parametrów szablonu = tak | nazwa szablonu = Dopracować }} ===Umieszczanie, przez szablon strony w kategorii w przypadku błędu, i wynik użycia=== {{Szablonowy opis pudełka | nazwa szablonu = Dopracować }} == Kilka parametrów na raz == W wywołaniu szablonu może być podawany jeden lub więcej parametrów. Jeśli wstawiamy szablon do sekcji, to pierwszy parametr musi być słowem „sekcja” (i oczywiście takie wywołanie szablonu powinno być wstawione w sekcji) – podanie innego słowa spowoduje uznanie go za pominięcie parametru nr 1 i przypisanie tego słowa parametrowi nr 2. W razie podania parametru nr 2, czyli tekstu, który pojawi się w drugim akapicie komunikatu, trzeba ułożyć ten tekst tak, aby był poprawny gramatycznie. Będzie to tekst odpowiadający na pytanie – co należy poprawić? === Przykłady === {{s|1=Dopracować|2=styl={{Czas|Y-m}}|3=neutralność={{Czas|Y-m}}|4=źródła={{Czas|Y-m}}|5=pustosłowie={{Czas|Y-m}}|6=język={{Czas|Y-m}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować|styl={{Czas|Y-m}}|neutralność={{Czas|Y-m}}|źródła={{Czas|Y-m}}|pustosłowie={{Czas|Y-m}}|język={{Czas|Y-m}}|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}}|kategorie istnieją=tak}} {{s|1=Dopracować|2=styl={{Czas|Y-m}}|3=źródła={{Czas|Y-m}}|4=pustosłowie={{Czas|Y-m}}|5=dane liczbowe – są niepoprawne, składy – są nieaktualne, poprawić transliterację nazwisk}} {{OpakujKategorieZeSortowaniem|{{Dopracować|styl={{Czas|Y-m}}|źródła={{Czas|Y-m}}|pustosłowie={{Czas|Y-m}}|dane liczbowe – są niepoprawne, składy – są nieaktualne, poprawić transliterację nazwisk|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}}|kategorie istnieją=tak}} {{s|1=Dopracować|2=styl={{Czas|Y-m}}|3=źródła={{Czas|Y-m}}|4=pustosłowie={{Czas|Y-m}}|5=dane liczbowe – są niepoprawne, składy – są nieaktualne, poprawić transliterację nazwisk|6=format={{Czas|Y-m}}|7=brak definicji={{Czas|Y-m}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować|styl={{Czas|Y-m}}|źródła={{Czas|Y-m}}|pustosłowie={{Czas|Y-m}}|dane liczbowe – są niepoprawne, składy – są nieaktualne, poprawić transliterację nazwisk|format={{Czas|Y-m}}|brak definicji={{Czas|Y-m}}|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}}|kategorie istnieją=tak}} == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "description": "Gdy strona wymaga poprawy", "params": { "1": { "label": "własny komentarz", "description": "To pole wybieramy, gdy chcemy wpisać komentarz „swoimi słowami”. Zalecamy jednak korzystać z pozostałych parametrów, które wyczerpują większość najczęstszych problemów.", "type": "string" }, "sekcja": { "label": "Sekcja", "description": "To pole wybieramy, gdy problem dotyczy konkretnej sekcji na stronie. Można w nim wpisać komentarz „swoimi słowami”. Zalecamy jednak pozostawić go pustym i korzystać z pozostałych parametrów, które wyczerpują większość najczęstszych problemów.", "type": "string" }, "sekcja dyskusji": { "label": "Uwagi na stronie dyskusji", "description": "Wybierz to pole, jeżeli dodatkowe wyjaśnienia są w konkretnej sekcji na stronie dyskusji strony. Wpisz nazwę sekcji.", "type": "string" }, "styl": { "label": "Styl", "description": "Wybierz to pole, jeżeli strona wymaga poprawy stylu.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "brak definicji": { "label": "Brak definicji", "aliases": [ "definicja" ], "description": "Wybierz to pole, jeżeli należy poprawić lub napisać definicję.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "źródła": { "label": "Brak źródeł", "aliases": [ "WER", " wer" ], "description": "Wybierz to pole, jeżeli należy zweryfikować treść i dodać źródła, a widzisz rażące braki w uźródłowieniu, mogące w przyszłości stać się źródłem poważnych problemów.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "POV": { "label": "Tekst nieneutralny", "aliases": [ "pov", " neutralność" ], "description": "Wybierz to pole, jeżeli strona nie jest napisana w sposób neutralny.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "ency": { "label": "Encyklopedyczne treści", "description": "Wybierz to pole, jeżeli strona zawiera encyklopedyczne treści.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "pustosłowie": { "label": "Pustosłowie", "aliases": [ "trawa" ], "description": "Wybierz to pole, jeżeli strona zawiera pustosłowie.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "łasiczki": { "label": "Zwodnicze wyrażenia", "aliases": [ "zwodnicze" ], "description": "Wybierz to pole, jeżeli strona zawiera zwodnicze wyrażenia.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "ciekawostki": { "label": "Ciekawostki", "aliases": [ "trivia" ], "description": "Użyj tego parametru, jeżeli strona zawiera informacje sformułowane jako ciekawostki.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "język": { "label": "Błędy językowe", "description": "Wybierz to pole, jeżeli strona zawiera błędy językowe (jest napisany niezgodnie z normami polskiego języka literackiego).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "linki": { "label": "Linki", "description": "Wybierz to pole, jeżeli trzeba wstawić linki do innych haseł.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "kategoria": { "label": "Brak kategorii", "aliases": [ "kategorie" ], "description": "Wybierz to pole, jeżeli strona nie jest dołączona do żadnej kategorii.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "format": { "label": "Formatowanie", "aliases": [ "formatowanie", "forma", "wikizacja" ], "description": "Wybierz to pole, jeżeli należy sformatować tekst (podzielić na sekcje, umieścić tabele itp.).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "sprzeczne informacje": { "label": "Sprzeczne informacje", "description": "Wybierz to pole, jeżeli należy wyeliminować sprzeczne informacje.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "dane biograficzne": { "label": "Dane biograficzne", "description": "Wybierz to pole, jeżeli należy dodać podstawowe dane biograficzne.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "tłumaczenie": { "label": "Tłumaczenie", "description": "Wybierz to pole, jeżeli należy poprawić tłumaczenie fragmentów tekstu.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "źródła medyczne": { "label": "Brak źródeł medycznych", "aliases": [ "medref", " medwer" ], "description": "Wybierz to pole, jeżeli informacje medyczne nie są poparte dowodami naukowymi (zgodnie z EBM).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "OR": { "label": "Twórczość własna", "aliases": [ "or" ], "description": "Wybierz to pole, jeżeli strona może zawierać twórczość własną (tj. informacje nigdzie wcześniej nieopublikowane).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "polonocentryzm": { "label": "Polonocentryzm", "description": "Wybierz to pole, jeżeli należy zredagować tekst w taki sposób, aby nie był polonocentryczny. Jeżeli strona dotyczy pojęć prawniczych, zalecamy użyć szablonu „zasięg geograficzny”, ponieważ strona z tej dziedziny wyjątkowo trudno opisać w sposób niepolonocentryczny.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "aktualizacja": { "label": "Aktualizacja", "description": "Wybierz to pole, jeżeli strona zawiera nieaktualne informacje.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "aktualizacja stanu prawnego": { "label": "Aktualizacja stanu prawnego", "description": "Wybierz to pole, jeżeli strona zawiera nieaktualne informacje na temat norm lub przepisów prawnych.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "reklama": { "label": "Reklama", "description": "Wybierz to pole, jeżeli strona jest napisany w formie reklamy.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "linkizew": { "label": "Linki zewnętrzne", "description": "Wybierz to pole, jeżeli strona zawiera niewłaściwe linki zewnętrzne (zob. na Wikipedii: Wikipedia:Zasady wstawiania linków zewnętrznych).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "kryteria": { "label": "Lista bez wyraźnych kryteriów", "description": "Wybierz to pole, jeżeli strona zawiera informacje przedstawione w formie bezładnej listy (bez wyraźnych kryteriów).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "więcej przypisów": { "label": "Więcej przypisów", "description": "Wybierz to pole, jeżeli strona zawiera niedostateczną liczbę przypisów. Jeżeli w artykule w ogóle nie ma przypisów lub braki są rażące, wybierz parametr „źródła”.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "wikikod": { "label": "Wikikod", "description": "Wybierz to pole, jeżeli należy poprawić kod źródłowy strony.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" } }, "paramOrder": [ "1", "sekcja", "sekcja dyskusji", "źródła", "styl", "format", "brak definicji", "POV", "ency", "pustosłowie", "łasiczki", "ciekawostki", "język", "linki", "kategoria", "sprzeczne informacje", "dane biograficzne", "tłumaczenie", "źródła medyczne", "OR", "polonocentryzm", "aktualizacja", "aktualizacja stanu prawnego", "reklama", "linkizew", "kryteria", "więcej przypisów", "wikikod" ] } </templatedata> == Zobacz też == {{Dopracować/opis/Zobacz też}} {{BrClear}} <includeonly> <!-- DODAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategorie | Omiń w druku | Szablony dodające kategorie | Szablony problemów umieszczane na stronach }} <!-- DODAJ INTERWIKI PONIŻEJ TEJ LINII --> </includeonly> 9esqv7mt953pdaofajlqytwkakdfqwg 559130 559129 2026-10-11T18:25:34Z Persino 2851 /* Parametry konkretnych problemów */ 559130 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|Dopracować}} {{Wysokie ryzyko}} {{Spis treści}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> == Składnia == Podstawowa składnia szablonu: : {{Code|{{s|Dopracować|{{!(}}nazwa problemu 1{{)!}} {{=}} {{!(}}data{{)!}}|{{!(}}nazwa problemu 2{{)!}} {{=}} {{!(}}data{{)!}}}}}} :: [data] w formacie rrrr-mm :: szablon przyjmuje dowolną liczbę problemów Przykłady: : {{Code|{{s|Dopracować|język {{=}} {{Czas|Y-m}}}}}} : {{Code|{{s|Dopracować|źródła {{=}} {{Czas|Y-m}}|styl {{=}} {{Czas|Y-m}}}}}} (więcej o wstawianiu kilku problemów w sekcji {{Link wewnętrzny|nagłówek=Kilka parametrów na raz|nazwa=Kilka parametrów na raz}}) Wskazówki: * Jeżeli [nazwa problemu] jest parametrem z tabeli poniżej (sekcja {{Link wewnętrzny|nagłówek=Parametry konkretnych problemów|nazwa=Parametry konkretnych problemów}}), wyświetlony zostanie zdefiniowany tekst. W przeciwnym razie wyświetlony zostanie tekst, który został wpisany do szablonu. Zob. sekcja {{Link wewnętrzny|nagłówek=Użycie|nazwa=Użycie}}. * Jeśli problem dotyczy tylko konkretnej sekcji, należy zastosować dodatkowy parametr "sekcja", zob. opis {{Link wewnętrzny|nagłówek=Parametry pomocnicze|nazwa=Parametry pomocnicze}}. == Użycie == Szablonu używamy do oznaczania jednostek w obsługiwanych przestrzeniach na obsługiwanych stronach tego szablonu, nie używając parametrów dodatkowych, tzn.: przestrzeń nazw: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}} (ale nie: {{lj2|Strona główna}}), {{Np|User|link=tak}} (ale nie strona główna Wikipedysty), {{Np|Category|link=tak}}, {{Np|Template|link=tak}} (strony opisu), {{Np|Module|link=tak}} (strony opisu), {{Np|Wikibooks|link=tak}} (ale nie: {{lr2|Strona główna}}) i {{Np|Help|link=tak}} oraz nibyprzestrzenie nazw: {{lr2|Brudnopis}} (brudnopis projektu), {{ls2|Brudnopis}} (brudnopis szablonu) i {{ld2|Brudnopis}} (brudnopis modułu), nie napisane zgodnie z zasadami lub zaleceniami edycyjnymi, a więc wymagają dopracowania, a z parametrami dodatkowymi sytuacja jest trochę inna. '''Wstawienie samego {{s|dopracować}} nie wystarcza zazwyczaj, by osoba chętna do poprawienia wiedziała od razu, jakie mankamenty znajdują się w jednostce''', dlatego zaleca się używać niżej opisanych parametrów. Pusty szablon na stronie nie generuje żadnych informacji, a kategoria {{lk|Szablon dopracować bez podanych parametrów}} zawiera listę takich stron. Parametry zostały określone, ponieważ niektóre problemy pojawiają się dość często i gdy użyjemy parametrów, w szablonie znajdą się linki do odpowiednich {{lpr|metastrony|metastron}}, a samo hasło przypisane zostanie do wąskiej kategorii zawierającej jednostki obarczone tymi problemami. Jeżeli jakiś problem nie został zdefiniowany, można go opisać po „|”. W szablonie można zmieścić dowolną liczbę parametrów (zazwyczaj aż tak dużo problemów nie ma, a jeżeli jest aż tyle, to najlepiej zrobić wpis na stronie dyskusji i użyć parametru {{Tt|sekcja dyskusji {{=}} nazwa sekcji}} === Data === Przy parametrach należy podać datę (rok i miesiąc, w formacie rrrr-mm) wstawienia szablonu. Nieistotna jest data wstawienia kwestionowanych informacji. Daty nie należy podawać, jeśli opis problemu jest zwykłym tekstem, a nie parametrem. A jeżeli nie wstawiano danych przy nienazwanych parametrach, to należy wstawić datę za pomocą zmiennej ''data'' według przykładu: '''{{Kolor|Maroon|data}}''' = {{Czas|Y-m}}. === Parametry konkretnych problemów === : Te parametry można stosować w dowolnej kolejności. {{EfektKodów | kod-rozmiar = 35% | 1 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|styl}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające poprawy stylu}}. | _1 = {{Dopracować|styl={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 2 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|język}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki niezgodne z normami polskiego języka literackiego}}. | _2 = {{Dopracować|język={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 3 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|tłumaczenie}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające przetłumaczenia}}. | _3 = {{Dopracować|tłumaczenie={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 4 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|źródła medyczne}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki medyczne wymagające dodania wiarygodnych źródeł}}. * działają też parametry {{tt|'''medref'''}}, {{tt|'''medwer'''}} * należy używać tylko w przypadku braków odpowiedniego uźródłowienia w hasach medycznych. W przypadku, kiedy cały artykuł (podręcznik) jest niezgodny z aktualną wiedzą medyczną, na jego górze powinien znajdować się szablon informacyjny {{s|nmed}}. | _4 = {{Dopracować|źródła medyczne={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 5 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|źródła}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające uzupełnienia źródeł}}. * działają też parametry {{Tt|'''Źródła'''}}, {{Tt|'''WER'''}} i {{Tt|'''wer'''}} * należy używać tylko w przypadku rażących braków w uźródłowieniu, mogących w przyszłości stać się źródłem poważnych problemów | _5 = {{Dopracować|źródła={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 6 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|opis bibliograficzny}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki zawierające niepełne opisy bibliograficzne}}. * działa też parametr {{Tt|'''niepełne źródła'''}} i {{Tt|'''niepełne źródło'''}} * do zastosowania w sytuacji, gdy np. źródle podano nazwisko i rok publikacji, ale bez tytułu publikacji. | _6 = {{Dopracować|opis bibliograficzny={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 7 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|tamże}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające poprawienia przypisów}}. * działają też parametry {{Tt|'''Ibidem'''}} i {{Tt|'''Ibid'''}} * do zastosowania w sytuacji, gdy jako źródło jest zastosowany zapis "Tamże", "Ibidem", "Ibid". Między treścią uźródłowioną przypisem z podaną publikacją, a fragmentem z przypisem podanym powyższy sposób zawsze ktoś może dodać treść z przypisem powołującym się na zupełnie inną publikację. | _7 = {{Dopracować|Tamże={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 8 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|więcej przypisów}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z brakującymi przypisami}}. | _8 = {{Dopracować|więcej przypisów={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 9 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|nierzetelne}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki zawierające nierzetelne źródła}}. | _9 = {{Dopracować|nierzetelne={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 10 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|sprzeczne informacje}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki ze sprzecznymi informacjami}}. | _10 = {{Dopracować|sprzeczne informacje={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 11 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|zweryfikować}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki do weryfikacji}}. | _11 = {{Dopracować|zweryfikować={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 12 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|OR}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki zawierające własne teorie}}. * działa też parametr {{Tt|'''or'''}} | _12 = {{Dopracować|OR={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 13 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|pov}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające neutralnego ujęcia tematu}}. * działają też parametry {{Tt|'''POV'''}} i {{Tt|'''neutralność'''}} | _13 = {{Dopracować|pov={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 14 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|reklama}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki napisane w formie reklamy}}. | _14 = {{Dopracować|reklama={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 15 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|kryteria}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki bez kryteriów dla list}}. | _15 = {{Dopracować|kryteria={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 16 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|ency}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z encyklopedycznymi treściami}}. | _16 = {{Dopracować|ency={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 17 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|polonocentryzm}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki polonocentryczne}}. | _17 = {{Dopracować|polonocentryzm={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 18 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|pustosłowie}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z pustosłowiem}}. | _18 = {{Dopracować|pustosłowie={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 19 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|łasiczki}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z wyrażeniami zwodniczymi}}. * działa też parametr {{Tt|'''zwodnicze'''}} | _19 = {{Dopracować|łasiczki={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 20 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|ciekawostki}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z ciekawostkami}}. * działa też parametr {{Tt|'''trivia'''}} | _20 = {{Dopracować|ciekawostki={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 21 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|linki}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z linkami wewnętrznymi do dodania}}. | _21 = {{Dopracować|linki={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 22 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|linkizew}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z linkami zewnętrznymi do wyczyszczenia}}. | _22 = {{Dopracować|linkizew={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 23 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|wikikod}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki do poprawy wikikodu}}. | _23 = {{Dopracować|wikikod={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 24 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|kategoria}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające umieszczenia w odpowiedniej kategorii}}. * działa też parametr {{Tt|'''kategorie'''}} | _24 = {{Dopracować|kategoria={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 25 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|format}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające formatowania}}. * działają też parametry {{Tt|'''formatowanie'''}}, {{Tt|'''forma'''}} i {{Tt|'''wikizacja'''}} | _25 = {{Dopracować|format={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 26 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|brak definicji}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające podania definicji}}. * działa też parametr {{Tt|'''definicja'''}} | _26 = {{Dopracować|brak definicji={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 27 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|lead}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające poprawy leadu}}. * działa też parametr {{Tt|'''wstęp'''}} i {{Tt|'''wprowadzenie'''}} | _27 = {{Dopracować|lead={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 28 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|uzupełnić}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające uzupełnienia informacji}}. * działają też parametry {{Tt|'''rozbudować'''}} i {{Tt|'''rozwinąć'''}} | _28 = {{Dopracować|uzupełnić={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 29 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|dane biograficzne}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z biogramami wymagającymi uzupełnienia podstawowych informacji}}. | _29 = {{Dopracować|dane biograficzne={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 30 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|aktualizacja}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające aktualizacji}}. | _30 = {{Dopracować|aktualizacja={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 31 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|aktualizacja stanu prawnego}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z dziedziny prawa wymagające aktualizacji}}. | _31 = {{Dopracować|aktualizacja stanu prawnego={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} }} === Parametry pomocnicze === {| class="wikitable" width=100% !width=35%|Parametr ! Efekt |- | {{s|Dopracować|sekcja dyskusji{{=}}Nazwa sekcji na stronie dyskusji|nierzetelne{{=}}{{Czas|Y-m}}}} : parametr zalecany w sytuacjach, w których uchybienia są liczne; wtedy zgrabniej wyliczyć je w jednej sekcji na stronie dyskusji, niż w szablonie : należy pamiętać o podaniu przynajmniej jednego konkretnego parametru, inaczej wyświetli się komunikat, że nie wyszczególniono niedoskonałości | {{Dopracować|sekcja dyskusji=Nazwa sekcji na stronie dyskusji|nierzetelne={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=strona opisu szablonu|nazwij jednostką=tak|bez błędu=tak}} |- | {{s|Dopracować|sekcja|źródła{{=}}{{Czas|Y-m}}}} : to pole wpisujemy jako pierwsze, gdy problem dotyczy konkretnej sekcji w danym haśle : po nim umieszczamy konkretny parametr | {{Dopracować|sekcja|źródła={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=strona opisu szablonu|nazwij jednostką=tak|bez błędu=tak}} |} === Parametry dodatkowe === {{Szablonowy opis pudełka | opis parametrów szablonu = tak | nazwa szablonu = Dopracować }} ===Umieszczanie, przez szablon strony w kategorii w przypadku błędu, i wynik użycia=== {{Szablonowy opis pudełka | nazwa szablonu = Dopracować }} == Kilka parametrów na raz == W wywołaniu szablonu może być podawany jeden lub więcej parametrów. Jeśli wstawiamy szablon do sekcji, to pierwszy parametr musi być słowem „sekcja” (i oczywiście takie wywołanie szablonu powinno być wstawione w sekcji) – podanie innego słowa spowoduje uznanie go za pominięcie parametru nr 1 i przypisanie tego słowa parametrowi nr 2. W razie podania parametru nr 2, czyli tekstu, który pojawi się w drugim akapicie komunikatu, trzeba ułożyć ten tekst tak, aby był poprawny gramatycznie. Będzie to tekst odpowiadający na pytanie – co należy poprawić? === Przykłady === {{s|1=Dopracować|2=styl={{Czas|Y-m}}|3=neutralność={{Czas|Y-m}}|4=źródła={{Czas|Y-m}}|5=pustosłowie={{Czas|Y-m}}|6=język={{Czas|Y-m}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować|styl={{Czas|Y-m}}|neutralność={{Czas|Y-m}}|źródła={{Czas|Y-m}}|pustosłowie={{Czas|Y-m}}|język={{Czas|Y-m}}|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}}|kategorie istnieją=tak}} {{s|1=Dopracować|2=styl={{Czas|Y-m}}|3=źródła={{Czas|Y-m}}|4=pustosłowie={{Czas|Y-m}}|5=dane liczbowe – są niepoprawne, składy – są nieaktualne, poprawić transliterację nazwisk}} {{OpakujKategorieZeSortowaniem|{{Dopracować|styl={{Czas|Y-m}}|źródła={{Czas|Y-m}}|pustosłowie={{Czas|Y-m}}|dane liczbowe – są niepoprawne, składy – są nieaktualne, poprawić transliterację nazwisk|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}}|kategorie istnieją=tak}} {{s|1=Dopracować|2=styl={{Czas|Y-m}}|3=źródła={{Czas|Y-m}}|4=pustosłowie={{Czas|Y-m}}|5=dane liczbowe – są niepoprawne, składy – są nieaktualne, poprawić transliterację nazwisk|6=format={{Czas|Y-m}}|7=brak definicji={{Czas|Y-m}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować|styl={{Czas|Y-m}}|źródła={{Czas|Y-m}}|pustosłowie={{Czas|Y-m}}|dane liczbowe – są niepoprawne, składy – są nieaktualne, poprawić transliterację nazwisk|format={{Czas|Y-m}}|brak definicji={{Czas|Y-m}}|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}}|kategorie istnieją=tak}} == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "description": "Gdy strona wymaga poprawy", "params": { "1": { "label": "własny komentarz", "description": "To pole wybieramy, gdy chcemy wpisać komentarz „swoimi słowami”. Zalecamy jednak korzystać z pozostałych parametrów, które wyczerpują większość najczęstszych problemów.", "type": "string" }, "sekcja": { "label": "Sekcja", "description": "To pole wybieramy, gdy problem dotyczy konkretnej sekcji na stronie. Można w nim wpisać komentarz „swoimi słowami”. Zalecamy jednak pozostawić go pustym i korzystać z pozostałych parametrów, które wyczerpują większość najczęstszych problemów.", "type": "string" }, "sekcja dyskusji": { "label": "Uwagi na stronie dyskusji", "description": "Wybierz to pole, jeżeli dodatkowe wyjaśnienia są w konkretnej sekcji na stronie dyskusji strony. Wpisz nazwę sekcji.", "type": "string" }, "styl": { "label": "Styl", "description": "Wybierz to pole, jeżeli strona wymaga poprawy stylu.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "brak definicji": { "label": "Brak definicji", "aliases": [ "definicja" ], "description": "Wybierz to pole, jeżeli należy poprawić lub napisać definicję.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "źródła": { "label": "Brak źródeł", "aliases": [ "WER", " wer" ], "description": "Wybierz to pole, jeżeli należy zweryfikować treść i dodać źródła, a widzisz rażące braki w uźródłowieniu, mogące w przyszłości stać się źródłem poważnych problemów.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "POV": { "label": "Tekst nieneutralny", "aliases": [ "pov", " neutralność" ], "description": "Wybierz to pole, jeżeli strona nie jest napisana w sposób neutralny.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "ency": { "label": "Encyklopedyczne treści", "description": "Wybierz to pole, jeżeli strona zawiera encyklopedyczne treści.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "pustosłowie": { "label": "Pustosłowie", "aliases": [ "trawa" ], "description": "Wybierz to pole, jeżeli strona zawiera pustosłowie.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "łasiczki": { "label": "Zwodnicze wyrażenia", "aliases": [ "zwodnicze" ], "description": "Wybierz to pole, jeżeli strona zawiera zwodnicze wyrażenia.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "ciekawostki": { "label": "Ciekawostki", "aliases": [ "trivia" ], "description": "Użyj tego parametru, jeżeli strona zawiera informacje sformułowane jako ciekawostki.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "język": { "label": "Błędy językowe", "description": "Wybierz to pole, jeżeli strona zawiera błędy językowe (jest napisany niezgodnie z normami polskiego języka literackiego).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "linki": { "label": "Linki", "description": "Wybierz to pole, jeżeli trzeba wstawić linki do innych haseł.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "kategoria": { "label": "Brak kategorii", "aliases": [ "kategorie" ], "description": "Wybierz to pole, jeżeli strona nie jest dołączona do żadnej kategorii.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "format": { "label": "Formatowanie", "aliases": [ "formatowanie", "forma", "wikizacja" ], "description": "Wybierz to pole, jeżeli należy sformatować tekst (podzielić na sekcje, umieścić tabele itp.).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "sprzeczne informacje": { "label": "Sprzeczne informacje", "description": "Wybierz to pole, jeżeli należy wyeliminować sprzeczne informacje.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "dane biograficzne": { "label": "Dane biograficzne", "description": "Wybierz to pole, jeżeli należy dodać podstawowe dane biograficzne.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "tłumaczenie": { "label": "Tłumaczenie", "description": "Wybierz to pole, jeżeli należy poprawić tłumaczenie fragmentów tekstu.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "źródła medyczne": { "label": "Brak źródeł medycznych", "aliases": [ "medref", " medwer" ], "description": "Wybierz to pole, jeżeli informacje medyczne nie są poparte dowodami naukowymi (zgodnie z EBM).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "OR": { "label": "Twórczość własna", "aliases": [ "or" ], "description": "Wybierz to pole, jeżeli strona może zawierać twórczość własną (tj. informacje nigdzie wcześniej nieopublikowane).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "polonocentryzm": { "label": "Polonocentryzm", "description": "Wybierz to pole, jeżeli należy zredagować tekst w taki sposób, aby nie był polonocentryczny. Jeżeli strona dotyczy pojęć prawniczych, zalecamy użyć szablonu „zasięg geograficzny”, ponieważ strona z tej dziedziny wyjątkowo trudno opisać w sposób niepolonocentryczny.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "aktualizacja": { "label": "Aktualizacja", "description": "Wybierz to pole, jeżeli strona zawiera nieaktualne informacje.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "aktualizacja stanu prawnego": { "label": "Aktualizacja stanu prawnego", "description": "Wybierz to pole, jeżeli strona zawiera nieaktualne informacje na temat norm lub przepisów prawnych.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "reklama": { "label": "Reklama", "description": "Wybierz to pole, jeżeli strona jest napisany w formie reklamy.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "linkizew": { "label": "Linki zewnętrzne", "description": "Wybierz to pole, jeżeli strona zawiera niewłaściwe linki zewnętrzne (zob. na Wikipedii: Wikipedia:Zasady wstawiania linków zewnętrznych).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "kryteria": { "label": "Lista bez wyraźnych kryteriów", "description": "Wybierz to pole, jeżeli strona zawiera informacje przedstawione w formie bezładnej listy (bez wyraźnych kryteriów).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "więcej przypisów": { "label": "Więcej przypisów", "description": "Wybierz to pole, jeżeli strona zawiera niedostateczną liczbę przypisów. Jeżeli w artykule w ogóle nie ma przypisów lub braki są rażące, wybierz parametr „źródła”.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "wikikod": { "label": "Wikikod", "description": "Wybierz to pole, jeżeli należy poprawić kod źródłowy strony.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" } }, "paramOrder": [ "1", "sekcja", "sekcja dyskusji", "źródła", "styl", "format", "brak definicji", "POV", "ency", "pustosłowie", "łasiczki", "ciekawostki", "język", "linki", "kategoria", "sprzeczne informacje", "dane biograficzne", "tłumaczenie", "źródła medyczne", "OR", "polonocentryzm", "aktualizacja", "aktualizacja stanu prawnego", "reklama", "linkizew", "kryteria", "więcej przypisów", "wikikod" ] } </templatedata> == Zobacz też == {{Dopracować/opis/Zobacz też}} {{BrClear}} <includeonly> <!-- DODAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategorie | Omiń w druku | Szablony dodające kategorie | Szablony problemów umieszczane na stronach }} <!-- DODAJ INTERWIKI PONIŻEJ TEJ LINII --> </includeonly> neqcbrlotq50h8v3ut8sc99hkhra5bk 559131 559130 2026-10-11T18:27:22Z Persino 2851 /* Parametry pomocnicze */ 559131 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|Dopracować}} {{Wysokie ryzyko}} {{Spis treści}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> == Składnia == Podstawowa składnia szablonu: : {{Code|{{s|Dopracować|{{!(}}nazwa problemu 1{{)!}} {{=}} {{!(}}data{{)!}}|{{!(}}nazwa problemu 2{{)!}} {{=}} {{!(}}data{{)!}}}}}} :: [data] w formacie rrrr-mm :: szablon przyjmuje dowolną liczbę problemów Przykłady: : {{Code|{{s|Dopracować|język {{=}} {{Czas|Y-m}}}}}} : {{Code|{{s|Dopracować|źródła {{=}} {{Czas|Y-m}}|styl {{=}} {{Czas|Y-m}}}}}} (więcej o wstawianiu kilku problemów w sekcji {{Link wewnętrzny|nagłówek=Kilka parametrów na raz|nazwa=Kilka parametrów na raz}}) Wskazówki: * Jeżeli [nazwa problemu] jest parametrem z tabeli poniżej (sekcja {{Link wewnętrzny|nagłówek=Parametry konkretnych problemów|nazwa=Parametry konkretnych problemów}}), wyświetlony zostanie zdefiniowany tekst. W przeciwnym razie wyświetlony zostanie tekst, który został wpisany do szablonu. Zob. sekcja {{Link wewnętrzny|nagłówek=Użycie|nazwa=Użycie}}. * Jeśli problem dotyczy tylko konkretnej sekcji, należy zastosować dodatkowy parametr "sekcja", zob. opis {{Link wewnętrzny|nagłówek=Parametry pomocnicze|nazwa=Parametry pomocnicze}}. == Użycie == Szablonu używamy do oznaczania jednostek w obsługiwanych przestrzeniach na obsługiwanych stronach tego szablonu, nie używając parametrów dodatkowych, tzn.: przestrzeń nazw: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}} (ale nie: {{lj2|Strona główna}}), {{Np|User|link=tak}} (ale nie strona główna Wikipedysty), {{Np|Category|link=tak}}, {{Np|Template|link=tak}} (strony opisu), {{Np|Module|link=tak}} (strony opisu), {{Np|Wikibooks|link=tak}} (ale nie: {{lr2|Strona główna}}) i {{Np|Help|link=tak}} oraz nibyprzestrzenie nazw: {{lr2|Brudnopis}} (brudnopis projektu), {{ls2|Brudnopis}} (brudnopis szablonu) i {{ld2|Brudnopis}} (brudnopis modułu), nie napisane zgodnie z zasadami lub zaleceniami edycyjnymi, a więc wymagają dopracowania, a z parametrami dodatkowymi sytuacja jest trochę inna. '''Wstawienie samego {{s|dopracować}} nie wystarcza zazwyczaj, by osoba chętna do poprawienia wiedziała od razu, jakie mankamenty znajdują się w jednostce''', dlatego zaleca się używać niżej opisanych parametrów. Pusty szablon na stronie nie generuje żadnych informacji, a kategoria {{lk|Szablon dopracować bez podanych parametrów}} zawiera listę takich stron. Parametry zostały określone, ponieważ niektóre problemy pojawiają się dość często i gdy użyjemy parametrów, w szablonie znajdą się linki do odpowiednich {{lpr|metastrony|metastron}}, a samo hasło przypisane zostanie do wąskiej kategorii zawierającej jednostki obarczone tymi problemami. Jeżeli jakiś problem nie został zdefiniowany, można go opisać po „|”. W szablonie można zmieścić dowolną liczbę parametrów (zazwyczaj aż tak dużo problemów nie ma, a jeżeli jest aż tyle, to najlepiej zrobić wpis na stronie dyskusji i użyć parametru {{Tt|sekcja dyskusji {{=}} nazwa sekcji}} === Data === Przy parametrach należy podać datę (rok i miesiąc, w formacie rrrr-mm) wstawienia szablonu. Nieistotna jest data wstawienia kwestionowanych informacji. Daty nie należy podawać, jeśli opis problemu jest zwykłym tekstem, a nie parametrem. A jeżeli nie wstawiano danych przy nienazwanych parametrach, to należy wstawić datę za pomocą zmiennej ''data'' według przykładu: '''{{Kolor|Maroon|data}}''' = {{Czas|Y-m}}. === Parametry konkretnych problemów === : Te parametry można stosować w dowolnej kolejności. {{EfektKodów | kod-rozmiar = 35% | 1 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|styl}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające poprawy stylu}}. | _1 = {{Dopracować|styl={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 2 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|język}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki niezgodne z normami polskiego języka literackiego}}. | _2 = {{Dopracować|język={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 3 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|tłumaczenie}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające przetłumaczenia}}. | _3 = {{Dopracować|tłumaczenie={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 4 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|źródła medyczne}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki medyczne wymagające dodania wiarygodnych źródeł}}. * działają też parametry {{tt|'''medref'''}}, {{tt|'''medwer'''}} * należy używać tylko w przypadku braków odpowiedniego uźródłowienia w hasach medycznych. W przypadku, kiedy cały artykuł (podręcznik) jest niezgodny z aktualną wiedzą medyczną, na jego górze powinien znajdować się szablon informacyjny {{s|nmed}}. | _4 = {{Dopracować|źródła medyczne={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 5 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|źródła}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające uzupełnienia źródeł}}. * działają też parametry {{Tt|'''Źródła'''}}, {{Tt|'''WER'''}} i {{Tt|'''wer'''}} * należy używać tylko w przypadku rażących braków w uźródłowieniu, mogących w przyszłości stać się źródłem poważnych problemów | _5 = {{Dopracować|źródła={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 6 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|opis bibliograficzny}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki zawierające niepełne opisy bibliograficzne}}. * działa też parametr {{Tt|'''niepełne źródła'''}} i {{Tt|'''niepełne źródło'''}} * do zastosowania w sytuacji, gdy np. źródle podano nazwisko i rok publikacji, ale bez tytułu publikacji. | _6 = {{Dopracować|opis bibliograficzny={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 7 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|tamże}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające poprawienia przypisów}}. * działają też parametry {{Tt|'''Ibidem'''}} i {{Tt|'''Ibid'''}} * do zastosowania w sytuacji, gdy jako źródło jest zastosowany zapis "Tamże", "Ibidem", "Ibid". Między treścią uźródłowioną przypisem z podaną publikacją, a fragmentem z przypisem podanym powyższy sposób zawsze ktoś może dodać treść z przypisem powołującym się na zupełnie inną publikację. | _7 = {{Dopracować|Tamże={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 8 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|więcej przypisów}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z brakującymi przypisami}}. | _8 = {{Dopracować|więcej przypisów={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 9 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|nierzetelne}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki zawierające nierzetelne źródła}}. | _9 = {{Dopracować|nierzetelne={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 10 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|sprzeczne informacje}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki ze sprzecznymi informacjami}}. | _10 = {{Dopracować|sprzeczne informacje={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 11 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|zweryfikować}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki do weryfikacji}}. | _11 = {{Dopracować|zweryfikować={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 12 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|OR}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki zawierające własne teorie}}. * działa też parametr {{Tt|'''or'''}} | _12 = {{Dopracować|OR={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 13 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|pov}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające neutralnego ujęcia tematu}}. * działają też parametry {{Tt|'''POV'''}} i {{Tt|'''neutralność'''}} | _13 = {{Dopracować|pov={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 14 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|reklama}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki napisane w formie reklamy}}. | _14 = {{Dopracować|reklama={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 15 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|kryteria}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki bez kryteriów dla list}}. | _15 = {{Dopracować|kryteria={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 16 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|ency}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z encyklopedycznymi treściami}}. | _16 = {{Dopracować|ency={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 17 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|polonocentryzm}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki polonocentryczne}}. | _17 = {{Dopracować|polonocentryzm={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 18 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|pustosłowie}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z pustosłowiem}}. | _18 = {{Dopracować|pustosłowie={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 19 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|łasiczki}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z wyrażeniami zwodniczymi}}. * działa też parametr {{Tt|'''zwodnicze'''}} | _19 = {{Dopracować|łasiczki={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 20 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|ciekawostki}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z ciekawostkami}}. * działa też parametr {{Tt|'''trivia'''}} | _20 = {{Dopracować|ciekawostki={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 21 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|linki}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z linkami wewnętrznymi do dodania}}. | _21 = {{Dopracować|linki={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 22 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|linkizew}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z linkami zewnętrznymi do wyczyszczenia}}. | _22 = {{Dopracować|linkizew={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 23 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|wikikod}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki do poprawy wikikodu}}. | _23 = {{Dopracować|wikikod={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 24 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|kategoria}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające umieszczenia w odpowiedniej kategorii}}. * działa też parametr {{Tt|'''kategorie'''}} | _24 = {{Dopracować|kategoria={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 25 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|format}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające formatowania}}. * działają też parametry {{Tt|'''formatowanie'''}}, {{Tt|'''forma'''}} i {{Tt|'''wikizacja'''}} | _25 = {{Dopracować|format={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 26 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|brak definicji}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające podania definicji}}. * działa też parametr {{Tt|'''definicja'''}} | _26 = {{Dopracować|brak definicji={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 27 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|lead}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające poprawy leadu}}. * działa też parametr {{Tt|'''wstęp'''}} i {{Tt|'''wprowadzenie'''}} | _27 = {{Dopracować|lead={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 28 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|uzupełnić}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające uzupełnienia informacji}}. * działają też parametry {{Tt|'''rozbudować'''}} i {{Tt|'''rozwinąć'''}} | _28 = {{Dopracować|uzupełnić={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 29 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|dane biograficzne}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z biogramami wymagającymi uzupełnienia podstawowych informacji}}. | _29 = {{Dopracować|dane biograficzne={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 30 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|aktualizacja}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki wymagające aktualizacji}}. | _30 = {{Dopracować|aktualizacja={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} | 31 = {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|aktualizacja stanu prawnego}}'''={{Czas|Y-m}}}}}} * dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: ** {{lk|Jednostki z dziedziny prawa wymagające aktualizacji}}. | _31 = {{Dopracować|aktualizacja stanu prawnego={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} }} === Parametry pomocnicze === {{EfektKodów | kod-rozmiar = 35% | 1 = {{s|Dopracować|sekcja dyskusji{{=}}Nazwa sekcji na stronie dyskusji|nierzetelne{{=}}{{Czas|Y-m}}}} : parametr zalecany w sytuacjach, w których uchybienia są liczne; wtedy zgrabniej wyliczyć je w jednej sekcji na stronie dyskusji, niż w szablonie : należy pamiętać o podaniu przynajmniej jednego konkretnego parametru, inaczej wyświetli się komunikat, że nie wyszczególniono niedoskonałości | _1 = {{Dopracować|sekcja dyskusji=Nazwa sekcji na stronie dyskusji|nierzetelne={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=strona opisu szablonu|nazwij jednostką=tak|bez błędu=tak}} | 2 = {{s|Dopracować|sekcja|źródła{{=}}{{Czas|Y-m}}}} : to pole wpisujemy jako pierwsze, gdy problem dotyczy konkretnej sekcji w danym haśle : po nim umieszczamy konkretny parametr | _2 = {{Dopracować|sekcja|źródła={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=strona opisu szablonu|nazwij jednostką=tak|bez błędu=tak}} }} === Parametry dodatkowe === {{Szablonowy opis pudełka | opis parametrów szablonu = tak | nazwa szablonu = Dopracować }} ===Umieszczanie, przez szablon strony w kategorii w przypadku błędu, i wynik użycia=== {{Szablonowy opis pudełka | nazwa szablonu = Dopracować }} == Kilka parametrów na raz == W wywołaniu szablonu może być podawany jeden lub więcej parametrów. Jeśli wstawiamy szablon do sekcji, to pierwszy parametr musi być słowem „sekcja” (i oczywiście takie wywołanie szablonu powinno być wstawione w sekcji) – podanie innego słowa spowoduje uznanie go za pominięcie parametru nr 1 i przypisanie tego słowa parametrowi nr 2. W razie podania parametru nr 2, czyli tekstu, który pojawi się w drugim akapicie komunikatu, trzeba ułożyć ten tekst tak, aby był poprawny gramatycznie. Będzie to tekst odpowiadający na pytanie – co należy poprawić? === Przykłady === {{s|1=Dopracować|2=styl={{Czas|Y-m}}|3=neutralność={{Czas|Y-m}}|4=źródła={{Czas|Y-m}}|5=pustosłowie={{Czas|Y-m}}|6=język={{Czas|Y-m}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować|styl={{Czas|Y-m}}|neutralność={{Czas|Y-m}}|źródła={{Czas|Y-m}}|pustosłowie={{Czas|Y-m}}|język={{Czas|Y-m}}|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}}|kategorie istnieją=tak}} {{s|1=Dopracować|2=styl={{Czas|Y-m}}|3=źródła={{Czas|Y-m}}|4=pustosłowie={{Czas|Y-m}}|5=dane liczbowe – są niepoprawne, składy – są nieaktualne, poprawić transliterację nazwisk}} {{OpakujKategorieZeSortowaniem|{{Dopracować|styl={{Czas|Y-m}}|źródła={{Czas|Y-m}}|pustosłowie={{Czas|Y-m}}|dane liczbowe – są niepoprawne, składy – są nieaktualne, poprawić transliterację nazwisk|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}}|kategorie istnieją=tak}} {{s|1=Dopracować|2=styl={{Czas|Y-m}}|3=źródła={{Czas|Y-m}}|4=pustosłowie={{Czas|Y-m}}|5=dane liczbowe – są niepoprawne, składy – są nieaktualne, poprawić transliterację nazwisk|6=format={{Czas|Y-m}}|7=brak definicji={{Czas|Y-m}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować|styl={{Czas|Y-m}}|źródła={{Czas|Y-m}}|pustosłowie={{Czas|Y-m}}|dane liczbowe – są niepoprawne, składy – są nieaktualne, poprawić transliterację nazwisk|format={{Czas|Y-m}}|brak definicji={{Czas|Y-m}}|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}}|kategorie istnieją=tak}} == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "description": "Gdy strona wymaga poprawy", "params": { "1": { "label": "własny komentarz", "description": "To pole wybieramy, gdy chcemy wpisać komentarz „swoimi słowami”. Zalecamy jednak korzystać z pozostałych parametrów, które wyczerpują większość najczęstszych problemów.", "type": "string" }, "sekcja": { "label": "Sekcja", "description": "To pole wybieramy, gdy problem dotyczy konkretnej sekcji na stronie. Można w nim wpisać komentarz „swoimi słowami”. Zalecamy jednak pozostawić go pustym i korzystać z pozostałych parametrów, które wyczerpują większość najczęstszych problemów.", "type": "string" }, "sekcja dyskusji": { "label": "Uwagi na stronie dyskusji", "description": "Wybierz to pole, jeżeli dodatkowe wyjaśnienia są w konkretnej sekcji na stronie dyskusji strony. Wpisz nazwę sekcji.", "type": "string" }, "styl": { "label": "Styl", "description": "Wybierz to pole, jeżeli strona wymaga poprawy stylu.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "brak definicji": { "label": "Brak definicji", "aliases": [ "definicja" ], "description": "Wybierz to pole, jeżeli należy poprawić lub napisać definicję.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "źródła": { "label": "Brak źródeł", "aliases": [ "WER", " wer" ], "description": "Wybierz to pole, jeżeli należy zweryfikować treść i dodać źródła, a widzisz rażące braki w uźródłowieniu, mogące w przyszłości stać się źródłem poważnych problemów.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "POV": { "label": "Tekst nieneutralny", "aliases": [ "pov", " neutralność" ], "description": "Wybierz to pole, jeżeli strona nie jest napisana w sposób neutralny.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "ency": { "label": "Encyklopedyczne treści", "description": "Wybierz to pole, jeżeli strona zawiera encyklopedyczne treści.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "pustosłowie": { "label": "Pustosłowie", "aliases": [ "trawa" ], "description": "Wybierz to pole, jeżeli strona zawiera pustosłowie.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "łasiczki": { "label": "Zwodnicze wyrażenia", "aliases": [ "zwodnicze" ], "description": "Wybierz to pole, jeżeli strona zawiera zwodnicze wyrażenia.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "ciekawostki": { "label": "Ciekawostki", "aliases": [ "trivia" ], "description": "Użyj tego parametru, jeżeli strona zawiera informacje sformułowane jako ciekawostki.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "język": { "label": "Błędy językowe", "description": "Wybierz to pole, jeżeli strona zawiera błędy językowe (jest napisany niezgodnie z normami polskiego języka literackiego).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "linki": { "label": "Linki", "description": "Wybierz to pole, jeżeli trzeba wstawić linki do innych haseł.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "kategoria": { "label": "Brak kategorii", "aliases": [ "kategorie" ], "description": "Wybierz to pole, jeżeli strona nie jest dołączona do żadnej kategorii.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "format": { "label": "Formatowanie", "aliases": [ "formatowanie", "forma", "wikizacja" ], "description": "Wybierz to pole, jeżeli należy sformatować tekst (podzielić na sekcje, umieścić tabele itp.).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "sprzeczne informacje": { "label": "Sprzeczne informacje", "description": "Wybierz to pole, jeżeli należy wyeliminować sprzeczne informacje.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "dane biograficzne": { "label": "Dane biograficzne", "description": "Wybierz to pole, jeżeli należy dodać podstawowe dane biograficzne.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "tłumaczenie": { "label": "Tłumaczenie", "description": "Wybierz to pole, jeżeli należy poprawić tłumaczenie fragmentów tekstu.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "źródła medyczne": { "label": "Brak źródeł medycznych", "aliases": [ "medref", " medwer" ], "description": "Wybierz to pole, jeżeli informacje medyczne nie są poparte dowodami naukowymi (zgodnie z EBM).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "OR": { "label": "Twórczość własna", "aliases": [ "or" ], "description": "Wybierz to pole, jeżeli strona może zawierać twórczość własną (tj. informacje nigdzie wcześniej nieopublikowane).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "polonocentryzm": { "label": "Polonocentryzm", "description": "Wybierz to pole, jeżeli należy zredagować tekst w taki sposób, aby nie był polonocentryczny. Jeżeli strona dotyczy pojęć prawniczych, zalecamy użyć szablonu „zasięg geograficzny”, ponieważ strona z tej dziedziny wyjątkowo trudno opisać w sposób niepolonocentryczny.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "aktualizacja": { "label": "Aktualizacja", "description": "Wybierz to pole, jeżeli strona zawiera nieaktualne informacje.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "aktualizacja stanu prawnego": { "label": "Aktualizacja stanu prawnego", "description": "Wybierz to pole, jeżeli strona zawiera nieaktualne informacje na temat norm lub przepisów prawnych.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "reklama": { "label": "Reklama", "description": "Wybierz to pole, jeżeli strona jest napisany w formie reklamy.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "linkizew": { "label": "Linki zewnętrzne", "description": "Wybierz to pole, jeżeli strona zawiera niewłaściwe linki zewnętrzne (zob. na Wikipedii: Wikipedia:Zasady wstawiania linków zewnętrznych).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "kryteria": { "label": "Lista bez wyraźnych kryteriów", "description": "Wybierz to pole, jeżeli strona zawiera informacje przedstawione w formie bezładnej listy (bez wyraźnych kryteriów).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "więcej przypisów": { "label": "Więcej przypisów", "description": "Wybierz to pole, jeżeli strona zawiera niedostateczną liczbę przypisów. Jeżeli w artykule w ogóle nie ma przypisów lub braki są rażące, wybierz parametr „źródła”.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "wikikod": { "label": "Wikikod", "description": "Wybierz to pole, jeżeli należy poprawić kod źródłowy strony.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" } }, "paramOrder": [ "1", "sekcja", "sekcja dyskusji", "źródła", "styl", "format", "brak definicji", "POV", "ency", "pustosłowie", "łasiczki", "ciekawostki", "język", "linki", "kategoria", "sprzeczne informacje", "dane biograficzne", "tłumaczenie", "źródła medyczne", "OR", "polonocentryzm", "aktualizacja", "aktualizacja stanu prawnego", "reklama", "linkizew", "kryteria", "więcej przypisów", "wikikod" ] } </templatedata> == Zobacz też == {{Dopracować/opis/Zobacz też}} {{BrClear}} <includeonly> <!-- DODAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategorie | Omiń w druku | Szablony dodające kategorie | Szablony problemów umieszczane na stronach }} <!-- DODAJ INTERWIKI PONIŻEJ TEJ LINII --> </includeonly> toyhkxmyi6pm0fykk2o45is6vxlk6tq Szablon:StronaStart/styles.css 10 33595 559134 556632 2026-10-11T18:41:06Z Persino 2851 559134 sanitized-css text/css .fonty_rodzina_sans{ font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif; font-stretch:normal; font-variant:normal; font-style:normal; font-weight:normal; font-size-adjust:none; letter-spacing:normal; word-spacing:normal; text-align:justify; text-justify:inter-word; word-wrap:break-word; word-break:normal; hyphens:auto; } .fonty_rodzina_sans ul li, .fonty_rodzina_sans ol li{ text-align:left; } .fonty_główna_kolumna, .fonty_tekst_we_wzorach, .fonty_obiekt, .fonty_rysunek, .fonty_patrz,.fonty_zobaczteż, .fonty_twierdzenie, .fonty_hipoteza, .fonty_lemat, .fonty_kryterium, .fonty_dowód, .fonty_postulat, .fonty_postulaty, .fonty_określenie, .fonty_zadanie, .fonty_praktyka, .fonty_procedura, .fonty_schemat{ font-size:calc( 0.875rem * 1.042 ); line-height:1.4em; } .format .fonty_główna_kolumna{ font-size:calc( 0.875em * 1.042 ); line-height:1.4em; } .format .fonty_tekst_we_wzorach, .format .fonty_obiekt, .format .fonty_rysunek, .format .fonty_patrz,.fonty_zobaczteż, .format .fonty_twierdzenie, .format .fonty_hipoteza, .format .fonty_lemat, .format .fonty_kryterium, .format .fonty_dowód, .format .fonty_postulat, .format .fonty_postulaty, .format .fonty_określenie, .format .fonty_zadanie, .format .fonty_praktyka, .format .fonty_procedura, .format .fonty_schemat{ font-size:1em; line-height:1.3em; } .fonty_poboczna_kolumna{ font-size:calc( 0.75rem * 1.040 ); line-height:1.2em; } .format .fonty_poboczna_kolumna{ font-size:calc( 0.75em * 1.040 ); line-height:1.2em; } .fonty_toc{ font-size:calc( 0.8125rem * 1.092 ); line-height: 1.0em; } .format .fonty_toc{ font-size:calc( 0.8125em * 1.092 ); line-height: 1.0em; } :not(span):not(.fonty_formuły) > span.mwe-math-element, :not(span):not(.fonty_wzory) > span.mwe-math-element, .fonty_rodzina_serif{ font-family: "Times New Roman", Times, "Free Times", FreeSerif, serif; font-stretch:normal; font-variant:normal; font-style:normal; font-weight:normal; font-size-adjust:0.45; letter-spacing:normal; word-spacing:normal; word-wrap:break-word; word-break:break-word; } :not(span):not(.fonty_formuły) > span.mwe-math-element, :not(span):not(.fonty_wzory) > span.mwe-math-element, .fonty_formuły, .fonty_wzory{ font-size:calc( 0.875rem * 0.86 ); line-height:inherit; } .format .fonty_formuły, .format .fonty_wzory{ font-size:calc( 0.875em * 0.86 / 0.875 / 1.042 ); line-height:inherit; } .format .fonty_formuły > span.fonty_tekst_we_wzorach, .format .fonty_wzory > span.fonty_tekst_we_wzorach{ font-size:calc( 1em / 0.875 / 0.86 * 0.875 * 1.042 ); line-height:inherit; } .fonty_opis_i_numeracja, .fonty_linkobiekt, .fonty_linkwzór, .fonty_linkrysunek, .fonty_linkpatrz,.fonty_linkzobaczteż, .fonty_linktwierdzenie, .fonty_linkhipoteza, .fonty_linklemat, .fonty_linkkryterium, .fonty_linkdowód, .fonty_linkpostulat, .fonty_linkpostulaty, .fonty_linkokreślenie, .fonty_linkzadanie, .fonty_linkpraktyka, .fonty_linkprocedura, .fonty_linkschemat,.fonty_linknagłówek{ font-size:calc(0.8125rem * 1.034); line-height:inherit; } .format .fonty_opis_i_numeracja, .format .fonty_linkobiekt, .format .fonty_linkwzór, .format .fonty_linkrysunek, .format .fonty_linkpatrz,.format .fonty_linkzobaczteż, .format .fonty_linktwierdzenie, .format .fonty_linkhipoteza, .format .fonty_linklemat, .format .fonty_linkkryterium, .format .fonty_linkdowód, .format .fonty_linkpostulat, .format .fonty_linkpostulaty, .format .fonty_linkokreślenie, .format .fonty_linkzadanie, .format .fonty_linkpraktyka, .format .fonty_linkprocedura, .format .fonty_linkschemat,.format .fonty_linknagłówek{ font-size:calc( 1em * 0.8125 * 1.034 / 0.875 / 1.042 ); line-height:inherit; } /*{{Kategoria|Szablony - arkusze stylów/StronaStart|sortuj spacją=tak}}*/ c2ln0hih25aphu3hzmorbftfa5r8l4x 559141 559134 2026-10-11T19:04:13Z Persino 2851 559141 sanitized-css text/css .fonty_rodzina_sans{ font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif; font-stretch:normal; font-variant:normal; font-style:normal; font-weight:normal; font-size-adjust:none; letter-spacing:normal; word-spacing:normal; text-align:justify; text-justify:inter-word; word-wrap:break-word; word-break:break-word; hyphens:auto; } .fonty_rodzina_sans ul li, .fonty_rodzina_sans ol li{ text-align:left; } .fonty_główna_kolumna, .fonty_tekst_we_wzorach, .fonty_obiekt, .fonty_rysunek, .fonty_patrz,.fonty_zobaczteż, .fonty_twierdzenie, .fonty_hipoteza, .fonty_lemat, .fonty_kryterium, .fonty_dowód, .fonty_postulat, .fonty_postulaty, .fonty_określenie, .fonty_zadanie, .fonty_praktyka, .fonty_procedura, .fonty_schemat{ font-size:calc( 0.875rem * 1.042 ); line-height:1.4em; } .format .fonty_główna_kolumna{ font-size:calc( 0.875em * 1.042 ); line-height:1.4em; } .format .fonty_tekst_we_wzorach, .format .fonty_obiekt, .format .fonty_rysunek, .format .fonty_patrz,.fonty_zobaczteż, .format .fonty_twierdzenie, .format .fonty_hipoteza, .format .fonty_lemat, .format .fonty_kryterium, .format .fonty_dowód, .format .fonty_postulat, .format .fonty_postulaty, .format .fonty_określenie, .format .fonty_zadanie, .format .fonty_praktyka, .format .fonty_procedura, .format .fonty_schemat{ font-size:1em; line-height:1.3em; } .fonty_poboczna_kolumna{ font-size:calc( 0.75rem * 1.040 ); line-height:1.2em; } .format .fonty_poboczna_kolumna{ font-size:calc( 0.75em * 1.040 ); line-height:1.2em; } .fonty_toc{ font-size:calc( 0.8125rem * 1.092 ); line-height: 1.0em; } .format .fonty_toc{ font-size:calc( 0.8125em * 1.092 ); line-height: 1.0em; } :not(span):not(.fonty_formuły) > span.mwe-math-element, :not(span):not(.fonty_wzory) > span.mwe-math-element, .fonty_rodzina_serif{ font-family: "Times New Roman", Times, "Free Times", FreeSerif, serif; font-stretch:normal; font-variant:normal; font-style:normal; font-weight:normal; font-size-adjust:0.45; letter-spacing:normal; word-spacing:normal; word-wrap:break-word; word-break:break-word; } :not(span):not(.fonty_formuły) > span.mwe-math-element, :not(span):not(.fonty_wzory) > span.mwe-math-element, .fonty_formuły, .fonty_wzory{ font-size:calc( 0.875rem * 0.86 ); line-height:inherit; } .format .fonty_formuły, .format .fonty_wzory{ font-size:calc( 0.875em * 0.86 / 0.875 / 1.042 ); line-height:inherit; } .format .fonty_formuły > span.fonty_tekst_we_wzorach, .format .fonty_wzory > span.fonty_tekst_we_wzorach{ font-size:calc( 1em / 0.875 / 0.86 * 0.875 * 1.042 ); line-height:inherit; } .fonty_opis_i_numeracja, .fonty_linkobiekt, .fonty_linkwzór, .fonty_linkrysunek, .fonty_linkpatrz,.fonty_linkzobaczteż, .fonty_linktwierdzenie, .fonty_linkhipoteza, .fonty_linklemat, .fonty_linkkryterium, .fonty_linkdowód, .fonty_linkpostulat, .fonty_linkpostulaty, .fonty_linkokreślenie, .fonty_linkzadanie, .fonty_linkpraktyka, .fonty_linkprocedura, .fonty_linkschemat,.fonty_linknagłówek{ font-size:calc(0.8125rem * 1.034); line-height:inherit; } .format .fonty_opis_i_numeracja, .format .fonty_linkobiekt, .format .fonty_linkwzór, .format .fonty_linkrysunek, .format .fonty_linkpatrz,.format .fonty_linkzobaczteż, .format .fonty_linktwierdzenie, .format .fonty_linkhipoteza, .format .fonty_linklemat, .format .fonty_linkkryterium, .format .fonty_linkdowód, .format .fonty_linkpostulat, .format .fonty_linkpostulaty, .format .fonty_linkokreślenie, .format .fonty_linkzadanie, .format .fonty_linkpraktyka, .format .fonty_linkprocedura, .format .fonty_linkschemat,.format .fonty_linknagłówek{ font-size:calc( 1em * 0.8125 * 1.034 / 0.875 / 1.042 ); line-height:inherit; } /*{{Kategoria|Szablony - arkusze stylów/StronaStart|sortuj spacją=tak}}*/ rth5mgdm8xgq89pns2lits29yj41etp Szablon:Dokumentacja/styles.css 10 33615 559128 559047 2026-10-11T17:56:37Z Persino 2851 559128 sanitized-css text/css .template-documentation { background-color:#ECFCF4; border:1px solid #a2a9b1; clear:both; margin:1em 0pt 0pt; padding:5px; } .template-documentation > *:first-child ~ p, .template-documentation > *:first-child ~ * p{ font-size:inherit; line-height:inherit; } .template-documentation > *:first-child ~ code, .template-documentation > *:first-child ~ * code{ font-size:inherit; line-height:1.57; padding:1px 4px; } /*{{Kategoria|Szablony - arkusze stylów}}*/ lqbu0qqdwp9abmdpwsb66qwjl5e05dy Moduł:StronicowyParser 828 34347 559138 558757 2026-10-11T18:53:20Z Persino 2851 559138 Scribunto text/plain local p = {} function p.SpreparowanyWikikodStrony(nazwa_modulu,dokumentacja,inkludowana) local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); local szablonowe_modul=require("Module:Szablonowe"); local nazwa_modulu_szablonowa=szablonowe_modul["SzablonowaKompletnaNazwaStrony"](nazwa_modulu,nil,nil); return stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,nazwa_modulu,nazwa_modulu_szablonowa,dokumentacja,inkludowana); end; function p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nazwa_modulu_aktualna_czy_biezaca,inkludowana) local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); local szablonowe_modul=require("Module:Szablonowe"); local nazwa_modulu_aktualna_czy_biezaca_szablonowa=szablonowe_modul["SzablonowaKompletnaNazwaStrony"](nazwa_modulu_aktualna_czy_biezaca,nil,nil); local tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nil,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,inkludowana,nil); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony; end; p["DaneUkładuAutonawigacji"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki); local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki); if(not spis)then return nil;end; return tab_lista_artykulow_w_ksiazce.nazwa_bazowego_spisu,tab_lista_artykulow_w_ksiazce.tab_inne_spisy,tab_lista_artykulow_w_ksiazce.dodatkowe_strony_woluminu; end; p["SpisyTreści"]=function(frame,tabela_listy_danych_analizy_ksiazki,bez_json) local nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly=p["DaneUkładuAutonawigacji"](frame,tabela_listy_danych_analizy_ksiazki); local tabela={}; tabela.spis_tresci=nazwa_glownego_spisu; tabela.inne_spisy=tab_inne_spisy; tabela.dodatkowe_strony_woluminu=dodatkowe_artykuly; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local czy_json=((not bez_json)and(parametry_modul.CzyTak(PobierzParametr("json")))) and true or false; return czy_json and mw.text.jsonEncode(tabela,mw.text.JSON_PRESERVE_KEYS) or tabela; end; p["CzySpisTreści"]=function(frame,tabela_listy_danych_analizy_ksiazki) local spisy=p["SpisyTreści"](frame,tabela_listy_danych_analizy_ksiazki,true); local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local artykul=PobierzParametr("artykuł"); ---- if(artykul)then artykul=parametry_modul["Odstępy"]{[1]=artykul,[2]="tak",}; if((spisy.spis_tresci)and((parametry_modul.TypeTable(spisy.spis_tresci))and((spisy.spis_tresci[1]==artykul)or(spisy.spis_tresci[2]==artykul))or(spisy.spis_tresci==artykul)))then return "tak"; else if((spisy.inne_spisy)and(parametry_modul.TypeTable(spisy.inne_spisy)))then for _,spis_tresci in ipairs(spisy.inne_spisy)do if((parametry_modul.TypeTable(spis_tresci))and((spis_tresci[1]==artykul)or(spis_tresci[2]==artykul))or(spis_tresci==artykul))then return "tak"; end; end; end; end; end; end; p["TekstRozdziałuStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.TekstPoNapisieWprowadzeniaTekstuStrony(frame); end; p["KtóraSekcjaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.NumerSekcjiStrony(frame); end; p["ZwróćSekcjęNagłówkaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.ZwracanieSekcjiNapisuWprowadzeniaTekstuStrony(frame); end; p["NastępnyArtykuł"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); --- local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); local html_modul=require("Module:Html"); local nazwa_artykulu_bez_naglowka=html_modul["NazwaStronyAdresu"](nazwa_artykulu,true); local nazwa_artykulu=(not naglowek) and nazwa_artykulu_bez_naglowka or nazwa_artykulu; ---- local juz_tak=false; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka,numer) or nil; ---- for nazwa_artykulu_w_bazie,nazwa_linku_artykulu_w_bazie,przekierowanie_artykulu_w_bazie,pelna_nazwa_ksiazki_w_bazie in iterator do local nazwa_artykulu_w_bazie2=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,naglowek); local function Nastepny() if(not nazwa)then return stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana); end; return nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana); end; if(juz_tak)then if(numer>0)then local nazwa_artykulu_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu_w_bazie,false); local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu_bez_naglowka_w_bazie); local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka_w_bazie,numer); if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then return Nastepny(); end; else return Nastepny(); end; else if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then juz_tak=true; end; end; end; if(juz_tak)then return ""; else return "(błąd)"; end; end; p["PoprzedniArtykuł"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); --- local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); local html_modul=require("Module:Html"); local nazwa_artykulu_bez_naglowka=html_modul["NazwaStronyAdresu"](nazwa_artykulu,true); local nazwa_artykulu=(not naglowek) and nazwa_artykulu_bez_naglowka or nazwa_artykulu; ---- local juz_tak=false; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka,numer) or nil; ---- local artykul=""; ---- for nazwa_artykulu_w_bazie,nazwa_linku_artykulu_w_bazie,przekierowanie_artykulu_w_bazie,pelna_nazwa_ksiazki_w_bazie in iterator do local nazwa_artykulu_w_bazie2=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,naglowek); if(numer>0)then local nazwa_artykulu_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu_w_bazie,false); local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu_bez_naglowka_w_bazie); local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka_w_bazie,numer); if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then return artykul; else artykul=(not nazwa) and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana) or (nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana)); end; else if(artykul~="")then return artykul; else artykul=""; end; end; else if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then return artykul; else artykul=(not nazwa) and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana) or (nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana)); end; end; end; return "(błąd)"; end; p["PoziomNazwyArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu); end; p["PierwszyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local args=stronicowyparser_potrzebne_modul:Args(); for tab_artykul,nazwa_linku,przekierowanie,pelna_nazwa_ksiazki in iterator do local artykul=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,czy_naglowek); local function PierwszyArtykul() if(not nazwa)then return stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); else return nazwa_linku or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); end; end; if(numer==0)then return PierwszyArtykul(); else local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul); if(numer==numer_artykulu_w_bazie)then return PierwszyArtykul(); end; end; end; return "(błąd)"; end; p["OstatniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local ostatni_artykul=nil; for tab_artykul,nazwa_linku,przekierowanie,pelna_nazwa_ksiazki in iterator do local artykul=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,czy_naglowek); local function OstatniArtykul() if(not nazwa)then ostatni_artykul=stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); else ostatni_artykul=nazwa_linku or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); end; end; if(numer==0)then OstatniArtykul(); else local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul); if(numer==numer_artykulu_w_bazie)then OstatniArtykul(); end; end; end; if(ostatni_artykul)then return ostatni_artykul;end; return "(błąd)"; end; p["PomiędzyNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(frame); end; p["LosowyNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:LosowyNapisProwadzeniaTekstuWoluminu(frame); end; p["PierwszyNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:PierwszyNapisWprowadzeniaTekstu(frame); end; p["OstatniNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:OstatniNapisWprowadzeniaTekstu(frame); end; p["LiczbaNagłówkówSpisu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:LiczbaNapisowaWprowadzeniaTekstu(frame); end; p["PomiędzyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local parametry_modul=require("Module:Parametry"); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local element=stronicowyparser_potrzebne_modul:LosowaStronaBezPierwszejOrazOstatniejStronyWoluminu(frame,numer) or nil; if(not element)then return "(błąd)";end; local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); if(not nazwa)then return czy_table and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana) or ((not czy_table) and element or "(błąd)");end; return czy_table and (element[2] or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana)) or ((not czy_table) and element or "(błąd)"); end; p["LosowyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local parametry_modul=require("Module:Parametry"); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local element=stronicowyparser_potrzebne_modul:LosowaStronaWoluminu(frame,numer); if(not element)then return "(błąd)";end; local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); if(not nazwa)then return czy_table and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana) or ((not czy_table) and element or "(błąd)");end; return czy_table and (element[2] or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana)) or ((not czy_table) and element or "(błąd)"); end; p["SubNazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local krok=tonumber(args[2])or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok); end; p["NazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer); end; p["NazwaLinkuArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local args=stronicowyparser_potrzebne_modul:Args(); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local parametry_modul=require("Module:Parametry"); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); if(not czy_tabela_artykulu)then local nazwa_artykulu_z_parametrami_i_naglowkiem=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_w_bazie[1],czy_naglowek); if(nazwa_artykulu_z_parametrami_i_naglowkiem==nazwa_artykulu)then return artykul_w_bazie[1]; end; else local nazwa_artykulu_z_parametrami_i_naglowkiem=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_w_bazie[1][1],czy_naglowek); if(nazwa_artykulu_z_parametrami_i_naglowkiem==nazwa_artykulu)then return artykul_w_bazie[1][2]; end; end; end; end; end; return "(błąd)"; end; p["LiczbaArtykułówKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek) and {} or nil; local i=0; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local nazwa_artykulu=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; local artykul=(not naglowek) and stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu,false) or nil; if(naglowek or not tab_artykul[artykul])then if(not naglowek)then tab_artykul[artykul]=true; end; i=i+1; end; end; end; end; return i; end; p["LiniaArtykułuKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); local parametry_modul=require("Module:Parametry"); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local czy_analiza=parametry_modul.CzyTak(args["analiza"]); local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]); if(not uzupelniaj_sekcje_artykulow)then for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local artykul_ksiazki=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; artykul_ksiazki=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_ksiazki,czy_naglowek); if(artykul_ksiazki==nazwa_artykulu)then if(not czy_analiza)then return artykul_w_bazie[3]; else local function AnalizaLiniiArtykolow() local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})"); if(czy_spis_tresci)then local szablonowe_modul=require("Module:Szablonowe"); local parametry_szablony,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](czy_spis_tresci); local nazwa_artykulu=parametry_szablony[1]; ------ local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]"; local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link); return linia2; else local linia2=artykul_w_bazie[3]; local czy_spis_tresci=mw.ustring.match(linia2,"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})") or mw.ustring.match(linia2,"({{%s*[Ss]r%s*|[^{}]*}})"); if(czy_spis_tresci)then local linia2,_=mw.ustring.gsub(linia2,"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|"); local linia2,_=mw.ustring.gsub(linia2,"({{%s*[Ss]r%s*|)","%1astandardowo=tak|"); return linia2; else local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local function adresuj_linki(a,b) return "[["..nazwa_ksiazki.."/"..a..(b or ("|"..a)).."]]"; end; local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki); artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki); return artykul; end; end; end; return AnalizaLiniiArtykolow(); end end; end; end; end; else if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"); if(parametry_modul["CzyTakCiąg"](naglowek))then local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame) return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]"; end; end; end; end; p["AktualnaKsiążka"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); return stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame) or ((not __error)and "(błąd)" or nil); end; p["AktualnaKsiążkaArtykułu"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); ---- local parametry_modul=require("Module:Parametry"); local ksiazka=parametry_modul.CzyTak(args["książka"]); local nazwy_modul=require("Module:Nazwy"); ---- local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local nazwa_artykulu_ksiazki=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); ---- for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local nazwa_artykulu_dana=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; nazwa_artykulu_dana=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_dana,czy_naglowek); if(nazwa_artykulu_ksiazki==nazwa_artykulu_dana)then if(not czy_tabela_artykulu)then return nazwa_ksiazki; else local pelna_nazwa_ksiazki=artykul_w_bazie[1][4]; if((pelna_nazwa_ksiazki)and(pelna_nazwa_ksiazki[4]))then return nazwy_modul["NazwaModułu"](pelna_nazwa_ksiazki[1],pelna_nazwa_ksiazki[2],pelna_nazwa_ksiazki[3],"") else return nazwa_ksiazki; end; end; end; end; end; end; return ((not __error)and "(błąd)" or nil) end; p["NazwaAktualnyArtykuł"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); return stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame) or ((not __error)and "(błąd)" or nil); end; p["PobierzNumerNagłówka"]=function(frame) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaNagłówkówKsiążek"); return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNumerNagłówka"](frame); end; p["PobierzNazwęNagłówka"]=function(frame) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaNagłówkówKsiążek"); return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNazwęNagłówka"](frame); end; p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek"); local wartosc,_=stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNumerArtykułu"](frame,tabela_listy_danych_analizy_ksiazki); return wartosc; end; p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek"); local wartosc,_=stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNazwęArtykułu"](frame,tabela_listy_danych_analizy_ksiazki); return wartosc; end; p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek"); return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzDaneKsiążki"](frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json); end; p["ListaNagłówkówKsiążki"] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local parametry_modul=require("Module:Parametry"); local odczyt_tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu=stronicowyparser_obiekty.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu; local tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu=parametry_modul["KopiujTabelęElementów"](odczyt_tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu); setmetatable(tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu,parametry_modul.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter); local czy_sa_rozdzialy=nil; local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local args=stronicowyparser_potrzebne_modul:Args(); local wikikod=""; local linki_modul=require("Module:Linki"); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local numer_rozdzialu=tab_lista[1][2][1]; local czy_centrowany=tab_lista[1][2][4]; if((numer_rozdzialu)and(numer_rozdzialu>0)and(not czy_centrowany))then if(not tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu[rozdzial])then wikikod=((wikikod~="")and (wikikod.." &nbsp;—&nbsp; ") or "")..linki_modul["Link wewnętrzny"]{["strona"]=pelna_nazwa_ksiazki,["nagłówek"]=rozdzial,["nazwa"]=rozdzial,["bez znaczników"]=args["bez znaczników"],["bez przetwarzania"]=args["bez przetwarzania"],}; end; czy_sa_rozdzialy=true; end; end; if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end; return wikikod; end; p["ArtykułSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame,true); local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu"); local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki"); local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu); local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki); if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki; elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return "(błąd)"; end; local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; local nazwy_modul=require("Module:Nazwy"); if(nazwa_strony==nazwy_modul["PEŁNANAZWASTRONY"]())then local blad_modul=require("Module:Błąd"); return blad_modul.error{args={[1]="Próbowano załadować bieżącą stronę.",},}; end; local szablonowe_modul=require("Module:Szablonowe"); local szablon=szablonowe_modul.NazwaSzablonu(nazwa_strony); local zawartosc=frame:expandTemplate{title=szablon,args={},}; --Tworzenie ramek div-- local divramka=mw.html.create('div'); divramka:addClass('artykułsubst'); local poddivramka=mw.html.create('div'); poddivramka:wikitext(nazwa_strony); poddivramka:addClass("adres"); poddivramka:css("display","none"); divramka:node(poddivramka); local divzawartosc=mw.html.create('div'); divzawartosc:addClass("zawartość"); divzawartosc:css("display","block"); divzawartosc:wikitext(zawartosc); divramka:node(divzawartosc) --Zwracanie ramki div-- return tostring(divramka:allDone()); end; p["KsiążkaSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_przestrzeni_nazw=PobierzParametr("nazwa przestrzeni nazw"); local nazwa_jednostki=PobierzParametr("nazwa jednostki"); if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]; if(str)then str=frame:preprocess(str); return str; end; return nil; end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); local ksiazkowe_modul=require("Module:Książkowe"); local tabela_nazw={}; local nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw); local nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw); local str=((((tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"]or{})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki]or{})[nazwa_artykulu]; if(str)then str=frame:preprocess(str); return str; end; local str=(((tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"]or{})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki]; if(str)then str=frame:preprocess(str); return str; end; return nil; end; p["StronaSubst"] = function(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame,true); local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_przestrzeni_nazw=PobierzParametr("nazwa przestrzeni nazw"); local nazwa_jednostki=PobierzParametr("nazwa jednostki"); local tab_stronasubst; if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"]; if(not tab_stronasubst)then return;end; else local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw); local nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw); tab_stronasubst=(((tabela_listy_danych_analizy_ksiazki["StronaSubstInne"] or {})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki]; if(not tab_stronasubst)then return;end; end; local pierwszy=parametry_modul["Odstępy"]{nazwa=args[1],["wewnątrz"]="tak",}; local tab_strona=tab_stronasubst[pierwszy]; if(not tab_strona)then return;end; local link=args["link"]; local czy_link=parametry_modul.CzyTak(link); local stronasubst=tab_strona[(czy_link and "tak" or "")]; stronasubst=frame:preprocess(stronasubst); return stronasubst; end; p["CzyStronęNumerować"] = function(frame) local strona=frame.args[1]; local nazwy_modul=require("Module:Nazwy"); strona=nazwy_modul["PEŁNANAZWASTRONY"](strona); local pudelko_modul=require("Module:Pudełko"); if(strona==pudelko_modul["Strona główna tego projektu"](frame))then return; end; if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then return; end; if(mw.ustring.match(strona,"^Szablon:Strona główna/"))then return; end; local zbiory={ ["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true, ["Wikibooks:Polecane książki"]=true, ["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true, } if(zbiory[strona])then return; end; if(mw.ustring.match(strona,"^Szablon:Polecane książki/") or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/")) or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/")) )then return; end; return "tak"; end; function p.HNumer(frame) local parametry_modul=require("Module:Parametry"); local p=parametry_modul.PobierzFrameEwentualnieParent(frame); if((not p) or (not p.args[1]))then local blad_module=require("Module:Błąd"); local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); return; end; local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(p.args[1]); if(licznik>6)then local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "") ..">"..naglowek.."</h6>"; elseif(licznik<1)then local blad_module=require("Module:Błąd"); return blad_module.error{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="strong",},}; else local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") ..((parametry_modul.CzyTak(klasa)) and " class=\""..klasa.."\"" or "") ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..naglowek.."</h"..licznik..">"; end; end; function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci) local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local ksiazkowe_modul=require("Module:Książkowe"); local html_modul=require("Module:Html"); local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local uzyskana_nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local uzyskana_nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local pelna_nazwa_strony=((uzyskana_nazwa_przestrzeni~="") and (uzyskana_nazwa_przestrzeni..":") or "")..((uzyskana_nazwa_przestrzeni_ksiazki~="") and (uzyskana_nazwa_przestrzeni_ksiazki.."/") or "")..uzyskana_nazwa_ksiazki..((uzyskana_nazwa_artykulu~="")and ("/"..uzyskana_nazwa_artykulu) or ""); local args=parametry_modul.PobierzArgsParametry(frame,true); local nazwa_ksiazki;local nazwa_artykulu; if(args[1])then nazwa_artykulu=args[1]; nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; end; if(args[2])then nazwa_ksiazki=args[2]; nazwa_ksiazki=html_modul.DecodeHtml(nazwa_ksiazki,true); local techniczne_modul=require("Module:Techniczne"); nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_ksiazki,[2]=pelna_nazwa_strony,}; end; local nazwa_artykulu=parametry_modul.CzyTak(nazwa_artykulu) and nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](pelna_nazwa_strony); local czy_nazwa_ksiazki=parametry_modul.CzyTak(nazwa_ksiazki); local podana_nazwa_przestrzeni_nazw=czy_nazwa_ksiazki and (nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki)) or ksiazkowe_modul["NazwaPrzestrzeni"](pelna_nazwa_strony); local podana_nazwa_jednostki=czy_nazwa_ksiazki and (nazwy_modul["NAZWAKSIĄŻKI"](nazwa_ksiazki)..((nazwa_artykulu~="")and ("/"..nazwa_artykulu) or "")) or ksiazkowe_modul["NazwaArtykułu"](pelna_nazwa_strony); local args_nowe={ ["nazwa przestrzeni nazw"] = podana_nazwa_przestrzeni_nazw, ["nazwa jednostki"] = podana_nazwa_jednostki, }; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu{args=args_nowe}; stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu{args=args_nowe}; local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu{args=args_nowe}; local self_zmienna,tabela_listy_danych_analizy_ksiazki=stronicowyparser_potrzebne_modul:Self(); if((not tab_lista_zmiennych_w_artykule)and(not tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza))then local blad_modul=require("Module:Błąd"); return blad_modul.error{tab="span",tekst="Nie znalazłem takiej książki."}; end; local czy_nie_aktualny=( (self_zmienna.nazwa_przestrzeni_podana~=self_zmienna.nazwa_przestrzeni) or(self_zmienna.nazwa_przestrzeni_woluminu_podana~=self_zmienna.nazwa_przestrzeni_woluminu) or(self_zmienna.nazwa_woluminu_podana~=self_zmienna.nazwa_woluminu) or (self_zmienna.nazwa_podstrony_woluminu_podana~=self_zmienna.nazwa_podstrony_woluminu) ); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tab_lista_zmiennych_w_artykule and tab_lista_zmiennych_w_artykule.TOC or nil)) then local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tab_lista_zmiennych_w_artykule.TOC, czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; elseif(not gdy_pusty_spis_tresci)then local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; end; end; p["WykazModułówKsiążki"]=function(frame,czy_rozciagnij) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return nil;end; local self_zmienna=stronicowyparser_potrzebne_modul:Self(); local nazwa_ksiazki=self_zmienna.nazwa_woluminu; local nazwa_przestrzeni_ksiazki=self_zmienna.nazwa_przestrzeni_woluminu; local nazwa_przestrzeni=self_zmienna.nazwa_przestrzeni; local parametry_modul=require("Module:Parametry"); local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]); local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]); local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]); local artykul=frame.args["artykuł"]; local wysokosc=frame.args["wysokość"]; local szerokosc=frame.args["szerokość"]; local wykaz_modulow_w_liscie=""; local czy_spis_tresci=nil; local i=1; local czy_spisy=nil; for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local czy_nienilowy_rozdzial=tab_lista[1][2][1]; local poziom_rozdzialu=czy_nienilowy_rozdzial or 0; if((artykul)and(poziom_rozdzialu==1))then if(((m==1)and(not czy_spisy))or((m>1)and(czy_spisy)))then local spis=tab_lista[1]["spis"]; if(spis)then if(not czy_spis_tresci)then local spis_tresci_dany=spis[1]; czy_spis_tresci=(artykul==spis_tresci_dany); czy_spisy=true; else break; end; else local dodatkowe=tab_lista[1]["dodatkowe"]; if(dodatkowe)then break; end; end; end; end; if((not artykul)or((artykul)and((not czy_spisy)or((czy_spisy)and(czy_spis_tresci)))))then if(tab_lista[2])then for _,tab_pozycja in ipairs(tab_lista[2])do local sformatowana_nazwa_artykulu; local nazwa; if(type(tab_pozycja[1])~="table")then sformatowana_nazwa_artykulu=mw.ustring.gsub(tab_pozycja[1],"_"," "); nazwa=sformatowana_nazwa_artykulu; else sformatowana_nazwa_artykulu=mw.ustring.gsub(tab_pozycja[1][1],"_"," "); nazwa=tab_pozycja[1][2] or sformatowana_nazwa_artykulu; end; local id=tab_pozycja[4] if(not tylko_naglowki or id)then if(not spis_ksiazkowy)then wykaz_modulow_w_liscie=((wykaz_modulow_w_liscie~="") and (wykaz_modulow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..nazwa..'</span>]]</li>'; else wykaz_modulow_w_liscie=((wykaz_modulow_w_liscie~="") and (wykaz_modulow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/") or "#")..sformatowana_nazwa_artykulu.."|"..nazwa.."]]|"..i.."|100%}}"; end; i=i+1; end; end; end; end; end; if(wykaz_modulow_w_liscie=="")then return nil;end; if(not spis_ksiazkowy)then wykaz_modulow_w_liscie="<ul>"..wykaz_modulow_w_liscie.."</ul>"; wykaz_modulow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or (szerokosc or "auto"))..';box-sizing:border-box;max-width:100%;font-size:0.875rem;line-height:1.2;background-color:white;|styl nagłówka=background-color:white;|styl komórki=background-color:white;padding:0;|styl tytułu=font-size:0.875rem;line-height:1.2;text-align:left;white-space:nowrap;box-sizing:border-box;|tytuł=Wykaz modułów w książce|klasa spisu=toc_ogólnie_spis toc_wykaz|styl spisu=width:100%;box-sizing:border-box;max-height:25rem;overflow:auto;padding: 0.1875em 0.3125em;|spis='..wykaz_modulow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}'; else wykaz_modulow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:0.625rem;width:"..(czy_rozciagnij and "100%" or (szerokosc or "auto"))..";max-width:100%;box-sizing:border-box;background-color:white;\">"..wykaz_modulow_w_liscie.."</div>"; end; local rozwiniety_wikikod=frame:preprocess(wykaz_modulow_w_liscie); return rozwiniety_wikikod; end; p["NazwaAktualnyModuł"]=function() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np'); local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; if(nazwa_artykulu==nil)then return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]"; else return nazwa_artykulu; end; end; p["WstępDoLicencji"]=function(frame) local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>'; local element_licencji_2; if((frame.args[2]~='')and(frame.args[2]~=nil))then element_licencji_2=frame.args[2]..'<BR>'; end; local element_licencji_3; if((frame.args[3]~='')and(frame.args[3]~=nil))then element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>'; end; local element_licencji_4; if((frame.args[4]~='')and(frame.args[4]~=nil))then element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>"; else element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>'; end; local element_licencji_5; if((frame.args[5]~='')and(frame.args[5]~=nil))then element_licencji_5=frame.args[5].."<BR>"; else element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>'; end; local element_licencji_6; if((frame.args[6]~='')and(frame.args[6]~=nil))then element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>'; else element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa, na tych samych warunkach, z możliwością obowiązywania dodatkowych ograniczeń].<BR>'; end; local element_licencji_7; if((frame.args[7]~='')and(frame.args[7]~=nil))then element_licencji_7=frame.args[7].."<BR>"; else element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce, nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji, niezależnie czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>'; end; local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "") ..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7; return licencja; end; function p.Licencja(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local menu_z_licencja; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki].licencja; if(licencja)then if(licencja[1])then local frame={}; frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]}; local ramka_z_licencja=p["WstępDoLicencji"](frame); menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:0.875rem;line-height:1.2;box-sizing:border-box;background-color:white;|styl nagłówka=background-color:white;|styl komórki=background-color:white;padding:0;|styl tytułu=font-size:0.875rem;line-height:1.2;text-align:left;white-space:nowrap;box-sizing:border-box;|tytuł=Licencja|styl spisu=margin-left:0px;padding:0.1875rem;width:100%;height:auto;box-sizing:border-box;padding: 0.1875em 0.3125em;|spis='..ramka_z_licencja..'|funkcja=PokazanaWikitabelowaListaMenu}}'; else return nil; end; local frame=mw.getCurrentFrame(); local rozwiniety_wikikod=frame:preprocess(menu_z_licencja); return rozwiniety_wikikod; else return nil; end; end; function p.Autor(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki].licencja; if(tabela_listy_danych_analizy_ksiazki.licencja)then if(licencja and licencja[1])then return licencja[1]; end; end; end; p["NazwaLicencjaWykazSpisTreściModułuKsiążki"]=function(frame) local prawe_menu=""; local parametry_modul=require("Module:Parametry"); local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"]) if(parametry_modul.CzyTak(frame.args[1]))then prawe_menu='<div style="margin-top:0.3125rem;font-size:1.9em;line-height:1.5625rem;text-align:left;">'..p["NazwaAktualnyModuł"]()..'</div><hr class=\"pierwsza_strona_spis_treści-hr\"/>'; end; if(parametry_modul.CzyTak(frame.args[2]))then local licencja=p.Licencja(frame,czy_rozciagnij); if(licencja~=nil)then prawe_menu=prawe_menu..licencja; else local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local uchwyt_strony=mw.title.getCurrentTitle(); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników" or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu" or "na stronach głównych, publikacji"))); local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or ""; prawe_menu=prawe_menu..kategoria_braku_licencji; end; end; if(parametry_modul.CzyTak(frame.args[3]))then local wykaz_artykulow=p["WykazModułówKsiążki"](frame,czy_rozciagnij); if(wykaz_artykulow~=nil)then prawe_menu=prawe_menu.."<hr class=\"pierwsza_strona_spis_treści-hr\"/>"..wykaz_artykulow; end; end; if(parametry_modul.CzyTak(frame.args[4]))then local spis_tresci=p.TOC(frame,czy_rozciagnij,true); if(spis_tresci~=nil)then prawe_menu=prawe_menu.."<hr class=\"pierwsza_strona_spis_treści-hr\"/><div class=\"pierwsza_strona_spis_treści\">"..spis_tresci.."</div>"; end; end; local wysokosc=frame.args["wysokość"]; return "<div style=\"padding:0.3125rem;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:43.75rem;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;width:100%;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>"; end; p["SpisTreści"]=function(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame); local nazwa_artykulu=args["artykuł"] or args[1] or "Przykładowy artykuł"; local nazwa_ksiazki=args["książka"] or args[2]; local czy_analiza=parametry_modul.CzyTak(args["analiza"]); local czy_specjalne=parametry_modul.CzyTak(args["specjalne"]); local czy_parser=parametry_modul.CzyTak(args["parser"]); local dokumentacja=args["dokumentacja"]; local czy_dokumentacja=parametry_modul.CzyTak(dokumentacja); local czy_math=parametry_modul.CzyTak(args["wzory"]); local czy_math_analiza=parametry_modul.CzyTak(args["wzory-analiza"]); local czy_bez_przypisow=parametry_modul.CzyTak(args["bez przypisów"]); if(not dokumentacja)then czy_dokumentacja=czy_analiza or czy_specjalne or czy_parser; end local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; if(not parametry_modul.CzyTak(nazwa_ksiazki))then local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local uzyskana_nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~="") and (uzyskana_nazwa_przestrzeni..":") or "")..((uzyskana_nazwa_przestrzeni_ksiazki~="") and (uzyskana_nazwa_przestrzeni_ksiazki.."/") or "")..uzyskana_nazwa_ksiazki; end; local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil); if(brak~=nil)then local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu," or "stron,"))); return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]"; end; local html_modul=require("Module:Html"); local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_modulu=nazwy_modul["NazwaModułu"](tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni,tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu); local techniczne_modul=require("Module:Techniczne"); nazwa_ksiazki=html_modul.DecodeHtml(nazwa_ksiazki,true); nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_ksiazki,[2]=nazwa_modulu,}; local nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; local pelna_nazwa_strony=((not nazwa_artykulu) or (nazwa_artykulu==""))and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local strona=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_strony); if(strona)then pelna_nazwa_strony=strona; nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony); else nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony); end; local szablonowe_modul=require("Module:Szablonowe"); local tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony; local pelna_nazwa_strony_szablonowa=szablonowe_modul["SzablonowaKompletnaNazwaStrony"](pelna_nazwa_strony,nil,nil); if((czy_analiza)or(czy_parser))then tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,false); else tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,not czy_dokumentacja); if(tekst_artykulu)then if(czy_dokumentacja)then tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=szablonowe_modul:UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(pelna_nazwa_strony); else tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany=szablonowe_modul:KodujWzoryMatematyczneTekstu(tekst_artykulu); if((not czy_math)and(not czy_math_analiza))then tablica_obiektow_strony_dany_modul_uzyskany=nil; end; end; end; end; local nazwa=args["nazwa"] or args[3]; local czy_nazwa=parametry_modul.CzyTak(nazwa); local nazwa_strony_artykulu=czy_nazwa and nazwa or nazwa_artykulu; local dodatek=args["dodatek"] or args[4]; local poziom=tonumber(args["poziom"]) or 6; local FuncNaglowek=function(czy_red) local id_alternatywne=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony); local nazwa_optymalizowane=czy_nazwa and (parametry_modul["Odstępy"]{[1]=nazwa,[2]="tak",}) or nil; local czy_inne_id=(czy_nazwa and (nazwa_optymalizowane~=id_alternatywne)); local dodatek_id=((parametry_modul.CzyTak(dodatek)) and (" "..dodatek) or ""); local tab_atrybuty={["id"]=((czy_nazwa and nazwa or id_alternatywne)..dodatek_id),}; local rozdzial=(czy_inne_id and ("<span id=\""..id_alternatywne.."\" class=\"SpisTreści-nazwa\">") or "")..(czy_red and ("<span style=\"color:red\">") or "").."[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(czy_red and ("</span>") or "")..dodatek_id..(czy_inne_id and ("</span>") or ""); local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local naglowek=stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstuHn(rozdzial,poziom,tab_atrybuty); return naglowek; end; if(not tekst_artykulu)then if(nazwa_artykulu~="")then return FuncNaglowek(true); else local blad_modul=require("Module:Błąd"); return blad_modul.error{args={[1]="Wywołano szablon z argumentem pierwszym pustym.",tag="span",}}; end; else local twor_spisu_tresci=FuncNaglowek(false); --- local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil; if(((czy_dokumentacja)and((czy_specjalne)or(czy_parser)))or((not czy_dokumentacja)and(czy_math_analiza)))then tekst_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_artykulu,pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,tablica_obiektow_strony_dany_modul_uzyskany); end; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local ulozenia_w_menu_spisu_tresci=stronicowyparser_glownafunkcjazbieraniadanych_modul:SpisRzeczyWedlePodanegoTekstu(tekst_artykulu,pelna_nazwa_strony,nil,nil,nil, tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni, tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu, tabela_listy_danych_analizy_ksiazki.nazwa_woluminu, nazwa_artykulu, pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,tablica_obiektow_strony_dany_modul_uzyskany or {},nil,tablica_obiektow_strony_danych_kodow_specjalnych_modul,nil,true); local atrybuty="style=\"margin-left:20px\""; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local toc=stronicowyparser_potrzebne_modul.TOCSilnik(frame,ulozenia_w_menu_spisu_tresci, atrybuty,czy_bez_przypisow); local limit=args["limit"]; local czy_limit=parametry_modul.CzyTak(limit); toc=toc and frame:preprocess(toc) or nil; return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>'; end; end; local function IteratorFunkcja() local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tabela_wypowiedzi=obiekty_modul.tablica_obiektowych_form; local licznik=1; return function() local tabela_obiektu=tabela_wypowiedzi[licznik]; if(not tabela_obiektu)then return nil;end; local wartosc1=tabela_obiektu[1]; local wartosc2=tabela_obiektu[4]; licznik=licznik+1; return wartosc1,wartosc2; end; end; local iterator=IteratorFunkcja(); for nazwa_obiektu,czesc_nazwy_funkcji in iterator do p["Numer"..czesc_nazwy_funkcji] = function(frame) local stronicowyparser_numerobiektu_modul=require("Module:StronicowyParser/NumerObiektu"); return stronicowyparser_numerobiektu_modul.NumerObiektu(frame,nazwa_obiektu); end; end; p["AnalizujSzablonemStronicowymArtykuł"]=function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; return ""; end; function p.formatowanie() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; return tabela_listy_danych_analizy_ksiazki.formatowanie; end; function p.StronaZeSzablonemStronaStart() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; return tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start; end; function p.WstawKategorie(frame) local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie"); return stronicowyparser_kategorie_modul.WstawKategorie(frame); end; function p.CzyStronaSubst(frame,czy_wymusic) if(czy_wymusic)then local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_zmiennych_w_artykule)then return nil;end; return tab_lista_zmiennych_w_artykule.strona_zbiorcza; end; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then return "tak"; end; end; p["CzyArtykułKsiążki"]=function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; if(tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then return "tak"; end; end; return p; 4nj579b0vr86dijtpc9ygrenfgf6s71 559142 559138 2026-10-11T19:11:01Z Persino 2851 559142 Scribunto text/plain local p = {} function p.SpreparowanyWikikodStrony(nazwa_modulu,dokumentacja,inkludowana) local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); local szablonowe_modul=require("Module:Szablonowe"); local nazwa_modulu_szablonowa=szablonowe_modul["SzablonowaKompletnaNazwaStrony"](nazwa_modulu,nil,nil); return stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,nazwa_modulu,nazwa_modulu_szablonowa,dokumentacja,inkludowana); end; function p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nazwa_modulu_aktualna_czy_biezaca,inkludowana) local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); local szablonowe_modul=require("Module:Szablonowe"); local nazwa_modulu_aktualna_czy_biezaca_szablonowa=szablonowe_modul["SzablonowaKompletnaNazwaStrony"](nazwa_modulu_aktualna_czy_biezaca,nil,nil); local tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nil,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,inkludowana,nil); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony; end; p["DaneUkładuAutonawigacji"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki); local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki); if(not spis)then return nil;end; return tab_lista_artykulow_w_ksiazce.nazwa_bazowego_spisu,tab_lista_artykulow_w_ksiazce.tab_inne_spisy,tab_lista_artykulow_w_ksiazce.dodatkowe_strony_woluminu; end; p["SpisyTreści"]=function(frame,tabela_listy_danych_analizy_ksiazki,bez_json) local nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly=p["DaneUkładuAutonawigacji"](frame,tabela_listy_danych_analizy_ksiazki); local tabela={}; tabela.spis_tresci=nazwa_glownego_spisu; tabela.inne_spisy=tab_inne_spisy; tabela.dodatkowe_strony_woluminu=dodatkowe_artykuly; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local czy_json=((not bez_json)and(parametry_modul.CzyTak(PobierzParametr("json")))) and true or false; return czy_json and mw.text.jsonEncode(tabela,mw.text.JSON_PRESERVE_KEYS) or tabela; end; p["CzySpisTreści"]=function(frame,tabela_listy_danych_analizy_ksiazki) local spisy=p["SpisyTreści"](frame,tabela_listy_danych_analizy_ksiazki,true); local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local artykul=PobierzParametr("artykuł"); ---- if(artykul)then artykul=parametry_modul["Odstępy"]{[1]=artykul,[2]="tak",}; if((spisy.spis_tresci)and((parametry_modul.TypeTable(spisy.spis_tresci))and((spisy.spis_tresci[1]==artykul)or(spisy.spis_tresci[2]==artykul))or(spisy.spis_tresci==artykul)))then return "tak"; else if((spisy.inne_spisy)and(parametry_modul.TypeTable(spisy.inne_spisy)))then for _,spis_tresci in ipairs(spisy.inne_spisy)do if((parametry_modul.TypeTable(spis_tresci))and((spis_tresci[1]==artykul)or(spis_tresci[2]==artykul))or(spis_tresci==artykul))then return "tak"; end; end; end; end; end; end; p["TekstRozdziałuStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.TekstPoNapisieWprowadzeniaTekstuStrony(frame); end; p["KtóraSekcjaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.NumerSekcjiStrony(frame); end; p["ZwróćSekcjęNagłówkaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.ZwracanieSekcjiNapisuWprowadzeniaTekstuStrony(frame); end; p["NastępnyArtykuł"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); --- local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); local html_modul=require("Module:Html"); local nazwa_artykulu_bez_naglowka=html_modul["NazwaStronyAdresu"](nazwa_artykulu,true); local nazwa_artykulu=(not naglowek) and nazwa_artykulu_bez_naglowka or nazwa_artykulu; ---- local juz_tak=false; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka,numer) or nil; ---- for nazwa_artykulu_w_bazie,nazwa_linku_artykulu_w_bazie,przekierowanie_artykulu_w_bazie,pelna_nazwa_ksiazki_w_bazie in iterator do local nazwa_artykulu_w_bazie2=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,naglowek); local function Nastepny() if(not nazwa)then return stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana); end; return nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana); end; if(juz_tak)then if(numer>0)then local nazwa_artykulu_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu_w_bazie,false); local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu_bez_naglowka_w_bazie); local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka_w_bazie,numer); if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then return Nastepny(); end; else return Nastepny(); end; else if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then juz_tak=true; end; end; end; if(juz_tak)then return ""; else return "(błąd)"; end; end; p["PoprzedniArtykuł"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); --- local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); local html_modul=require("Module:Html"); local nazwa_artykulu_bez_naglowka=html_modul["NazwaStronyAdresu"](nazwa_artykulu,true); local nazwa_artykulu=(not naglowek) and nazwa_artykulu_bez_naglowka or nazwa_artykulu; ---- local juz_tak=false; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka,numer) or nil; ---- local artykul=""; ---- for nazwa_artykulu_w_bazie,nazwa_linku_artykulu_w_bazie,przekierowanie_artykulu_w_bazie,pelna_nazwa_ksiazki_w_bazie in iterator do local nazwa_artykulu_w_bazie2=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,naglowek); if(numer>0)then local nazwa_artykulu_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu_w_bazie,false); local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu_bez_naglowka_w_bazie); local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka_w_bazie,numer); if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then return artykul; else artykul=(not nazwa) and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana) or (nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana)); end; else if(artykul~="")then return artykul; else artykul=""; end; end; else if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then return artykul; else artykul=(not nazwa) and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana) or (nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana)); end; end; end; return "(błąd)"; end; p["PoziomNazwyArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu); end; p["PierwszyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local args=stronicowyparser_potrzebne_modul:Args(); for tab_artykul,nazwa_linku,przekierowanie,pelna_nazwa_ksiazki in iterator do local artykul=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,czy_naglowek); local function PierwszyArtykul() if(not nazwa)then return stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); else return nazwa_linku or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); end; end; if(numer==0)then return PierwszyArtykul(); else local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul); if(numer==numer_artykulu_w_bazie)then return PierwszyArtykul(); end; end; end; return "(błąd)"; end; p["OstatniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local ostatni_artykul=nil; for tab_artykul,nazwa_linku,przekierowanie,pelna_nazwa_ksiazki in iterator do local artykul=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,czy_naglowek); local function OstatniArtykul() if(not nazwa)then ostatni_artykul=stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); else ostatni_artykul=nazwa_linku or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); end; end; if(numer==0)then OstatniArtykul(); else local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul); if(numer==numer_artykulu_w_bazie)then OstatniArtykul(); end; end; end; if(ostatni_artykul)then return ostatni_artykul;end; return "(błąd)"; end; p["PomiędzyNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(frame); end; p["LosowyNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:LosowyNapisProwadzeniaTekstuWoluminu(frame); end; p["PierwszyNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:PierwszyNapisWprowadzeniaTekstu(frame); end; p["OstatniNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:OstatniNapisWprowadzeniaTekstu(frame); end; p["LiczbaNagłówkówSpisu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:LiczbaNapisowaWprowadzeniaTekstu(frame); end; p["PomiędzyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local parametry_modul=require("Module:Parametry"); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local element=stronicowyparser_potrzebne_modul:LosowaStronaBezPierwszejOrazOstatniejStronyWoluminu(frame,numer) or nil; if(not element)then return "(błąd)";end; local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); if(not nazwa)then return czy_table and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana) or ((not czy_table) and element or "(błąd)");end; return czy_table and (element[2] or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana)) or ((not czy_table) and element or "(błąd)"); end; p["LosowyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local parametry_modul=require("Module:Parametry"); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local element=stronicowyparser_potrzebne_modul:LosowaStronaWoluminu(frame,numer); if(not element)then return "(błąd)";end; local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); if(not nazwa)then return czy_table and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana) or ((not czy_table) and element or "(błąd)");end; return czy_table and (element[2] or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana)) or ((not czy_table) and element or "(błąd)"); end; p["SubNazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local krok=tonumber(args[2])or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok); end; p["NazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer); end; p["NazwaLinkuArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local args=stronicowyparser_potrzebne_modul:Args(); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local parametry_modul=require("Module:Parametry"); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); if(not czy_tabela_artykulu)then local nazwa_artykulu_z_parametrami_i_naglowkiem=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_w_bazie[1],czy_naglowek); if(nazwa_artykulu_z_parametrami_i_naglowkiem==nazwa_artykulu)then return artykul_w_bazie[1]; end; else local nazwa_artykulu_z_parametrami_i_naglowkiem=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_w_bazie[1][1],czy_naglowek); if(nazwa_artykulu_z_parametrami_i_naglowkiem==nazwa_artykulu)then return artykul_w_bazie[1][2]; end; end; end; end; end; return "(błąd)"; end; p["LiczbaArtykułówKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek) and {} or nil; local i=0; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local nazwa_artykulu=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; local artykul=(not naglowek) and stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu,false) or nil; if(naglowek or not tab_artykul[artykul])then if(not naglowek)then tab_artykul[artykul]=true; end; i=i+1; end; end; end; end; return i; end; p["LiniaArtykułuKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); local parametry_modul=require("Module:Parametry"); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local czy_analiza=parametry_modul.CzyTak(args["analiza"]); local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]); if(not uzupelniaj_sekcje_artykulow)then for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local artykul_ksiazki=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; artykul_ksiazki=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_ksiazki,czy_naglowek); if(artykul_ksiazki==nazwa_artykulu)then if(not czy_analiza)then return artykul_w_bazie[3]; else local function AnalizaLiniiArtykolow() local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})"); if(czy_spis_tresci)then local szablonowe_modul=require("Module:Szablonowe"); local parametry_szablony,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](czy_spis_tresci); local nazwa_artykulu=parametry_szablony[1]; ------ local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]"; local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link); return linia2; else local linia2=artykul_w_bazie[3]; local czy_spis_tresci=mw.ustring.match(linia2,"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})") or mw.ustring.match(linia2,"({{%s*[Ss]r%s*|[^{}]*}})"); if(czy_spis_tresci)then local linia2,_=mw.ustring.gsub(linia2,"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|"); local linia2,_=mw.ustring.gsub(linia2,"({{%s*[Ss]r%s*|)","%1astandardowo=tak|"); return linia2; else local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local function adresuj_linki(a,b) return "[["..nazwa_ksiazki.."/"..a..(b or ("|"..a)).."]]"; end; local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki); artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki); return artykul; end; end; end; return AnalizaLiniiArtykolow(); end end; end; end; end; else if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"); if(parametry_modul["CzyTakCiąg"](naglowek))then local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame) return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]"; end; end; end; end; p["AktualnaKsiążka"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); return stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame) or ((not __error)and "(błąd)" or nil); end; p["AktualnaKsiążkaArtykułu"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); ---- local parametry_modul=require("Module:Parametry"); local ksiazka=parametry_modul.CzyTak(args["książka"]); local nazwy_modul=require("Module:Nazwy"); ---- local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local nazwa_artykulu_ksiazki=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); ---- for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local nazwa_artykulu_dana=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; nazwa_artykulu_dana=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_dana,czy_naglowek); if(nazwa_artykulu_ksiazki==nazwa_artykulu_dana)then if(not czy_tabela_artykulu)then return nazwa_ksiazki; else local pelna_nazwa_ksiazki=artykul_w_bazie[1][4]; if((pelna_nazwa_ksiazki)and(pelna_nazwa_ksiazki[4]))then return nazwy_modul["NazwaModułu"](pelna_nazwa_ksiazki[1],pelna_nazwa_ksiazki[2],pelna_nazwa_ksiazki[3],"") else return nazwa_ksiazki; end; end; end; end; end; end; return ((not __error)and "(błąd)" or nil) end; p["NazwaAktualnyArtykuł"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); return stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame) or ((not __error)and "(błąd)" or nil); end; p["PobierzNumerNagłówka"]=function(frame) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaNagłówkówKsiążek"); return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNumerNagłówka"](frame); end; p["PobierzNazwęNagłówka"]=function(frame) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaNagłówkówKsiążek"); return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNazwęNagłówka"](frame); end; p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek"); local wartosc,_=stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNumerArtykułu"](frame,tabela_listy_danych_analizy_ksiazki); return wartosc; end; p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek"); local wartosc,_=stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNazwęArtykułu"](frame,tabela_listy_danych_analizy_ksiazki); return wartosc; end; p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek"); return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzDaneKsiążki"](frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json); end; p["ListaNagłówkówKsiążki"] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local parametry_modul=require("Module:Parametry"); local odczyt_tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu=stronicowyparser_obiekty.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu; local tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu=parametry_modul["KopiujTabelęElementów"](odczyt_tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu); setmetatable(tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu,parametry_modul.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter); local czy_sa_rozdzialy=nil; local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local args=stronicowyparser_potrzebne_modul:Args(); local wikikod=""; local linki_modul=require("Module:Linki"); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local numer_rozdzialu=tab_lista[1][2][1]; local czy_centrowany=tab_lista[1][2][4]; if((numer_rozdzialu)and(numer_rozdzialu>0)and(not czy_centrowany))then if(not tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu[rozdzial])then wikikod=((wikikod~="")and (wikikod.." &nbsp;—&nbsp; ") or "")..linki_modul["Link wewnętrzny"]{["strona"]=pelna_nazwa_ksiazki,["nagłówek"]=rozdzial,["nazwa"]=rozdzial,["bez znaczników"]=args["bez znaczników"],["bez przetwarzania"]=args["bez przetwarzania"],}; end; czy_sa_rozdzialy=true; end; end; if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end; return wikikod; end; p["ArtykułSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame,true); local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu"); local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki"); local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu); local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki); if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki; elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return "(błąd)"; end; local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; local nazwy_modul=require("Module:Nazwy"); if(nazwa_strony==nazwy_modul["PEŁNANAZWASTRONY"]())then local blad_modul=require("Module:Błąd"); return blad_modul.error{args={[1]="Próbowano załadować bieżącą stronę.",},}; end; local szablonowe_modul=require("Module:Szablonowe"); local szablon=szablonowe_modul.NazwaSzablonu(nazwa_strony); local zawartosc=frame:expandTemplate{title=szablon,args={},}; --Tworzenie ramek div-- local divramka=mw.html.create('div'); divramka:addClass('artykułsubst'); local poddivramka=mw.html.create('div'); poddivramka:wikitext(nazwa_strony); poddivramka:addClass("adres"); poddivramka:css("display","none"); divramka:node(poddivramka); local divzawartosc=mw.html.create('div'); divzawartosc:addClass("zawartość"); divzawartosc:css("display","block"); divzawartosc:wikitext(zawartosc); divramka:node(divzawartosc) --Zwracanie ramki div-- return tostring(divramka:allDone()); end; p["KsiążkaSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_przestrzeni_nazw=PobierzParametr("nazwa przestrzeni nazw"); local nazwa_jednostki=PobierzParametr("nazwa jednostki"); if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]; if(str)then str=frame:preprocess(str); return str; end; return nil; end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); local ksiazkowe_modul=require("Module:Książkowe"); local tabela_nazw={}; local nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw); local nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw); local str=((((tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"]or{})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki]or{})[nazwa_artykulu]; if(str)then str=frame:preprocess(str); return str; end; local str=(((tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"]or{})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki]; if(str)then str=frame:preprocess(str); return str; end; return nil; end; p["StronaSubst"] = function(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame,true); local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_przestrzeni_nazw=PobierzParametr("nazwa przestrzeni nazw"); local nazwa_jednostki=PobierzParametr("nazwa jednostki"); local tab_stronasubst; if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"]; if(not tab_stronasubst)then return;end; else local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw); local nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw); tab_stronasubst=(((tabela_listy_danych_analizy_ksiazki["StronaSubstInne"] or {})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki]; if(not tab_stronasubst)then return;end; end; local pierwszy=parametry_modul["Odstępy"]{nazwa=args[1],["wewnątrz"]="tak",}; local tab_strona=tab_stronasubst[pierwszy]; if(not tab_strona)then return;end; local link=args["link"]; local czy_link=parametry_modul.CzyTak(link); local stronasubst=tab_strona[(czy_link and "tak" or "")]; stronasubst=frame:preprocess(stronasubst); return stronasubst; end; p["CzyStronęNumerować"] = function(frame) local strona=frame.args[1]; local nazwy_modul=require("Module:Nazwy"); strona=nazwy_modul["PEŁNANAZWASTRONY"](strona); local pudelko_modul=require("Module:Pudełko"); if(strona==pudelko_modul["Strona główna tego projektu"](frame))then return; end; if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then return; end; if(mw.ustring.match(strona,"^Szablon:Strona główna/"))then return; end; local zbiory={ ["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true, ["Wikibooks:Polecane książki"]=true, ["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true, } if(zbiory[strona])then return; end; if(mw.ustring.match(strona,"^Szablon:Polecane książki/") or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/")) or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/")) )then return; end; return "tak"; end; function p.HNumer(frame) local parametry_modul=require("Module:Parametry"); local p=parametry_modul.PobierzFrameEwentualnieParent(frame); if((not p) or (not p.args[1]))then local blad_module=require("Module:Błąd"); local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); return; end; local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(p.args[1]); if(licznik>6)then local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "") ..">"..naglowek.."</h6>"; elseif(licznik<1)then local blad_module=require("Module:Błąd"); return blad_module.error{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="strong",},}; else local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") ..((parametry_modul.CzyTak(klasa)) and " class=\""..klasa.."\"" or "") ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..naglowek.."</h"..licznik..">"; end; end; function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci) local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local ksiazkowe_modul=require("Module:Książkowe"); local html_modul=require("Module:Html"); local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local uzyskana_nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local uzyskana_nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local pelna_nazwa_strony=((uzyskana_nazwa_przestrzeni~="") and (uzyskana_nazwa_przestrzeni..":") or "")..((uzyskana_nazwa_przestrzeni_ksiazki~="") and (uzyskana_nazwa_przestrzeni_ksiazki.."/") or "")..uzyskana_nazwa_ksiazki..((uzyskana_nazwa_artykulu~="")and ("/"..uzyskana_nazwa_artykulu) or ""); local args=parametry_modul.PobierzArgsParametry(frame,true); local nazwa_ksiazki;local nazwa_artykulu; if(args[1])then nazwa_artykulu=args[1]; nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; end; if(args[2])then nazwa_ksiazki=args[2]; nazwa_ksiazki=html_modul.DecodeHtml(nazwa_ksiazki,true); local techniczne_modul=require("Module:Techniczne"); nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_ksiazki,[2]=pelna_nazwa_strony,}; end; local nazwa_artykulu=parametry_modul.CzyTak(nazwa_artykulu) and nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](pelna_nazwa_strony); local czy_nazwa_ksiazki=parametry_modul.CzyTak(nazwa_ksiazki); local podana_nazwa_przestrzeni_nazw=czy_nazwa_ksiazki and (nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki)) or ksiazkowe_modul["NazwaPrzestrzeni"](pelna_nazwa_strony); local podana_nazwa_jednostki=czy_nazwa_ksiazki and (nazwy_modul["NAZWAKSIĄŻKI"](nazwa_ksiazki)..((nazwa_artykulu~="")and ("/"..nazwa_artykulu) or "")) or ksiazkowe_modul["NazwaArtykułu"](pelna_nazwa_strony); local args_nowe={ ["nazwa przestrzeni nazw"] = podana_nazwa_przestrzeni_nazw, ["nazwa jednostki"] = podana_nazwa_jednostki, }; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu{args=args_nowe}; stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu{args=args_nowe}; local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu{args=args_nowe}; local self_zmienna,tabela_listy_danych_analizy_ksiazki=stronicowyparser_potrzebne_modul:Self(); if((not tab_lista_zmiennych_w_artykule)and(not tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza))then local blad_modul=require("Module:Błąd"); return blad_modul.error{tab="span",tekst="Nie znalazłem takiej książki."}; end; local czy_nie_aktualny=( (self_zmienna.nazwa_przestrzeni_podana~=self_zmienna.nazwa_przestrzeni) or(self_zmienna.nazwa_przestrzeni_woluminu_podana~=self_zmienna.nazwa_przestrzeni_woluminu) or(self_zmienna.nazwa_woluminu_podana~=self_zmienna.nazwa_woluminu) or (self_zmienna.nazwa_podstrony_woluminu_podana~=self_zmienna.nazwa_podstrony_woluminu) ); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tab_lista_zmiennych_w_artykule and tab_lista_zmiennych_w_artykule.TOC or nil)) then local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tab_lista_zmiennych_w_artykule.TOC, czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; elseif(not gdy_pusty_spis_tresci)then local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; end; end; p["WykazModułówKsiążki"]=function(frame,czy_rozciagnij) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return nil;end; local self_zmienna=stronicowyparser_potrzebne_modul:Self(); local nazwa_ksiazki=self_zmienna.nazwa_woluminu; local nazwa_przestrzeni_ksiazki=self_zmienna.nazwa_przestrzeni_woluminu; local nazwa_przestrzeni=self_zmienna.nazwa_przestrzeni; local parametry_modul=require("Module:Parametry"); local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]); local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]); local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]); local artykul=frame.args["artykuł"]; local wysokosc=frame.args["wysokość"]; local szerokosc=frame.args["szerokość"]; local wykaz_modulow_w_liscie=""; local czy_spis_tresci=nil; local i=1; local czy_spisy=nil; for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local czy_nienilowy_rozdzial=tab_lista[1][2][1]; local poziom_rozdzialu=czy_nienilowy_rozdzial or 0; if((artykul)and(poziom_rozdzialu==1))then if(((m==1)and(not czy_spisy))or((m>1)and(czy_spisy)))then local spis=tab_lista[1]["spis"]; if(spis)then if(not czy_spis_tresci)then local spis_tresci_dany=spis[1]; czy_spis_tresci=(artykul==spis_tresci_dany); czy_spisy=true; else break; end; else local dodatkowe=tab_lista[1]["dodatkowe"]; if(dodatkowe)then break; end; end; end; end; if((not artykul)or((artykul)and((not czy_spisy)or((czy_spisy)and(czy_spis_tresci)))))then if(tab_lista[2])then for _,tab_pozycja in ipairs(tab_lista[2])do local sformatowana_nazwa_artykulu; local nazwa; if(type(tab_pozycja[1])~="table")then sformatowana_nazwa_artykulu=mw.ustring.gsub(tab_pozycja[1],"_"," "); nazwa=sformatowana_nazwa_artykulu; else sformatowana_nazwa_artykulu=mw.ustring.gsub(tab_pozycja[1][1],"_"," "); nazwa=tab_pozycja[1][2] or sformatowana_nazwa_artykulu; end; local id=tab_pozycja[4] if(not tylko_naglowki or id)then if(not spis_ksiazkowy)then wykaz_modulow_w_liscie=((wykaz_modulow_w_liscie~="") and (wykaz_modulow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..nazwa..'</span>]]</li>'; else wykaz_modulow_w_liscie=((wykaz_modulow_w_liscie~="") and (wykaz_modulow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/") or "#")..sformatowana_nazwa_artykulu.."|"..nazwa.."]]|"..i.."|100%}}"; end; i=i+1; end; end; end; end; end; if(wykaz_modulow_w_liscie=="")then return nil;end; if(not spis_ksiazkowy)then wykaz_modulow_w_liscie="<ul>"..wykaz_modulow_w_liscie.."</ul>"; wykaz_modulow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or (szerokosc or "auto"))..';box-sizing:border-box;max-width:100%;font-size:0.875rem;line-height:1.2;background-color:white;|styl nagłówka=background-color:white;|styl komórki=background-color:white;padding:0;|styl tytułu=font-size:0.875rem;line-height:1.2;text-align:left;white-space:nowrap;box-sizing:border-box;|tytuł=Wykaz modułów w książce|klasa spisu=toc_ogólnie_spis toc_wykaz|styl spisu=width:100%;box-sizing:border-box;max-height:25rem;overflow:auto;padding: 0.1875em 0.3125em;|spis='..wykaz_modulow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}'; else wykaz_modulow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:0.625rem;width:"..(czy_rozciagnij and "100%" or (szerokosc or "auto"))..";max-width:100%;box-sizing:border-box;background-color:white;\">"..wykaz_modulow_w_liscie.."</div>"; end; local rozwiniety_wikikod=frame:preprocess(wykaz_modulow_w_liscie); return rozwiniety_wikikod; end; p["NazwaAktualnyModuł"]=function() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np'); local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; if(nazwa_artykulu==nil)then return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]"; else return nazwa_artykulu; end; end; p["WstępDoLicencji"]=function(frame) local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>'; local element_licencji_2; if((frame.args[2]~='')and(frame.args[2]~=nil))then element_licencji_2=frame.args[2]..'<BR>'; end; local element_licencji_3; if((frame.args[3]~='')and(frame.args[3]~=nil))then element_licencji_3='<strong>Email:</strong> <span class="email">'..frame.args[3]..'</span><BR>'; end; local element_licencji_4; if((frame.args[4]~='')and(frame.args[4]~=nil))then element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>"; else element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>'; end; local element_licencji_5; if((frame.args[5]~='')and(frame.args[5]~=nil))then element_licencji_5=frame.args[5].."<BR>"; else element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>'; end; local element_licencji_6; if((frame.args[6]~='')and(frame.args[6]~=nil))then element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>'; else element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa, na tych samych warunkach, z możliwością obowiązywania dodatkowych ograniczeń].<BR>'; end; local element_licencji_7; if((frame.args[7]~='')and(frame.args[7]~=nil))then element_licencji_7=frame.args[7].."<BR>"; else element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce, nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji, niezależnie czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>'; end; local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "") ..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7; return licencja; end; function p.Licencja(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local menu_z_licencja; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki].licencja; if(licencja)then if(licencja[1])then local frame={}; frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]}; local ramka_z_licencja=p["WstępDoLicencji"](frame); menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:0.875rem;line-height:1.2;box-sizing:border-box;background-color:white;|styl nagłówka=background-color:white;|styl komórki=background-color:white;padding:0;|styl tytułu=font-size:0.875rem;line-height:1.2;text-align:left;white-space:nowrap;box-sizing:border-box;|tytuł=Licencja|styl spisu=margin-left:0px;padding:0.1875rem;width:100%;height:auto;box-sizing:border-box;padding: 0.1875em 0.3125em;|spis='..ramka_z_licencja..'|funkcja=PokazanaWikitabelowaListaMenu}}'; else return nil; end; local frame=mw.getCurrentFrame(); local rozwiniety_wikikod=frame:preprocess(menu_z_licencja); return rozwiniety_wikikod; else return nil; end; end; function p.Autor(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki].licencja; if(tabela_listy_danych_analizy_ksiazki.licencja)then if(licencja and licencja[1])then return licencja[1]; end; end; end; p["NazwaLicencjaWykazSpisTreściModułuKsiążki"]=function(frame) local prawe_menu=""; local parametry_modul=require("Module:Parametry"); local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"]) if(parametry_modul.CzyTak(frame.args[1]))then prawe_menu='<div style="margin-top:0.3125rem;font-size:1.9em;line-height:1.5625rem;text-align:left;">'..p["NazwaAktualnyModuł"]()..'</div><hr class=\"pierwsza_strona_spis_treści-hr\"/>'; end; if(parametry_modul.CzyTak(frame.args[2]))then local licencja=p.Licencja(frame,czy_rozciagnij); if(licencja~=nil)then prawe_menu=prawe_menu..licencja; else local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local uchwyt_strony=mw.title.getCurrentTitle(); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników" or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu" or "na stronach głównych, publikacji"))); local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or ""; prawe_menu=prawe_menu..kategoria_braku_licencji; end; end; if(parametry_modul.CzyTak(frame.args[3]))then local wykaz_artykulow=p["WykazModułówKsiążki"](frame,czy_rozciagnij); if(wykaz_artykulow~=nil)then prawe_menu=prawe_menu.."<hr class=\"pierwsza_strona_spis_treści-hr\"/>"..wykaz_artykulow; end; end; if(parametry_modul.CzyTak(frame.args[4]))then local spis_tresci=p.TOC(frame,czy_rozciagnij,true); if(spis_tresci~=nil)then prawe_menu=prawe_menu.."<hr class=\"pierwsza_strona_spis_treści-hr\"/><div class=\"pierwsza_strona_spis_treści\">"..spis_tresci.."</div>"; end; end; local wysokosc=frame.args["wysokość"]; return "<div style=\"padding:0.3125rem;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:43.75rem;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;width:100%;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>"; end; p["SpisTreści"]=function(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame); local nazwa_artykulu=args["artykuł"] or args[1] or "Przykładowy artykuł"; local nazwa_ksiazki=args["książka"] or args[2]; local czy_analiza=parametry_modul.CzyTak(args["analiza"]); local czy_specjalne=parametry_modul.CzyTak(args["specjalne"]); local czy_parser=parametry_modul.CzyTak(args["parser"]); local dokumentacja=args["dokumentacja"]; local czy_dokumentacja=parametry_modul.CzyTak(dokumentacja); local czy_math=parametry_modul.CzyTak(args["wzory"]); local czy_math_analiza=parametry_modul.CzyTak(args["wzory-analiza"]); local czy_bez_przypisow=parametry_modul.CzyTak(args["bez przypisów"]); if(not dokumentacja)then czy_dokumentacja=czy_analiza or czy_specjalne or czy_parser; end local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; if(not parametry_modul.CzyTak(nazwa_ksiazki))then local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local uzyskana_nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~="") and (uzyskana_nazwa_przestrzeni..":") or "")..((uzyskana_nazwa_przestrzeni_ksiazki~="") and (uzyskana_nazwa_przestrzeni_ksiazki.."/") or "")..uzyskana_nazwa_ksiazki; end; local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil); if(brak~=nil)then local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu," or "stron,"))); return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]"; end; local html_modul=require("Module:Html"); local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_modulu=nazwy_modul["NazwaModułu"](tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni,tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu); local techniczne_modul=require("Module:Techniczne"); nazwa_ksiazki=html_modul.DecodeHtml(nazwa_ksiazki,true); nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_ksiazki,[2]=nazwa_modulu,}; local nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; local pelna_nazwa_strony=((not nazwa_artykulu) or (nazwa_artykulu==""))and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local strona=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_strony); if(strona)then pelna_nazwa_strony=strona; nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony); else nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony); end; local szablonowe_modul=require("Module:Szablonowe"); local tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony; local pelna_nazwa_strony_szablonowa=szablonowe_modul["SzablonowaKompletnaNazwaStrony"](pelna_nazwa_strony,nil,nil); if((czy_analiza)or(czy_parser))then tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,false); else tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,not czy_dokumentacja); if(tekst_artykulu)then if(czy_dokumentacja)then tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=szablonowe_modul:UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(pelna_nazwa_strony); else tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany=szablonowe_modul:KodujWzoryMatematyczneTekstu(tekst_artykulu); if((not czy_math)and(not czy_math_analiza))then tablica_obiektow_strony_dany_modul_uzyskany=nil; end; end; end; end; local nazwa=args["nazwa"] or args[3]; local czy_nazwa=parametry_modul.CzyTak(nazwa); local nazwa_strony_artykulu=czy_nazwa and nazwa or nazwa_artykulu; local dodatek=args["dodatek"] or args[4]; local poziom=tonumber(args["poziom"]) or 6; local FuncNaglowek=function(czy_red) local id_alternatywne=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony); local nazwa_optymalizowane=czy_nazwa and (parametry_modul["Odstępy"]{[1]=nazwa,[2]="tak",}) or nil; local czy_inne_id=(czy_nazwa and (nazwa_optymalizowane~=id_alternatywne)); local dodatek_id=((parametry_modul.CzyTak(dodatek)) and (" "..dodatek) or ""); local tab_atrybuty={["id"]=((czy_nazwa and nazwa or id_alternatywne)..dodatek_id),}; local rozdzial=(czy_inne_id and ("<span id=\""..id_alternatywne.."\" class=\"SpisTreści-nazwa\">") or "")..(czy_red and ("<span style=\"color:red\">") or "").."[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(czy_red and ("</span>") or "")..dodatek_id..(czy_inne_id and ("</span>") or ""); local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local naglowek=stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstuHn(rozdzial,poziom,tab_atrybuty); return naglowek; end; if(not tekst_artykulu)then if(nazwa_artykulu~="")then return FuncNaglowek(true); else local blad_modul=require("Module:Błąd"); return blad_modul.error{args={[1]="Wywołano szablon z argumentem pierwszym pustym.",tag="span",}}; end; else local twor_spisu_tresci=FuncNaglowek(false); --- local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil; if(((czy_dokumentacja)and((czy_specjalne)or(czy_parser)))or((not czy_dokumentacja)and(czy_math_analiza)))then tekst_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_artykulu,pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,tablica_obiektow_strony_dany_modul_uzyskany); end; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local ulozenia_w_menu_spisu_tresci=stronicowyparser_glownafunkcjazbieraniadanych_modul:SpisRzeczyWedlePodanegoTekstu(tekst_artykulu,pelna_nazwa_strony,nil,nil,nil, tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni, tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu, tabela_listy_danych_analizy_ksiazki.nazwa_woluminu, nazwa_artykulu, pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,tablica_obiektow_strony_dany_modul_uzyskany or {},nil,tablica_obiektow_strony_danych_kodow_specjalnych_modul,nil,true); local atrybuty="style=\"margin-left:20px\""; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local toc=stronicowyparser_potrzebne_modul.TOCSilnik(frame,ulozenia_w_menu_spisu_tresci, atrybuty,czy_bez_przypisow); local limit=args["limit"]; local czy_limit=parametry_modul.CzyTak(limit); toc=toc and frame:preprocess(toc) or nil; return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>'; end; end; local function IteratorFunkcja() local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tabela_wypowiedzi=obiekty_modul.tablica_obiektowych_form; local licznik=1; return function() local tabela_obiektu=tabela_wypowiedzi[licznik]; if(not tabela_obiektu)then return nil;end; local wartosc1=tabela_obiektu[1]; local wartosc2=tabela_obiektu[4]; licznik=licznik+1; return wartosc1,wartosc2; end; end; local iterator=IteratorFunkcja(); for nazwa_obiektu,czesc_nazwy_funkcji in iterator do p["Numer"..czesc_nazwy_funkcji] = function(frame) local stronicowyparser_numerobiektu_modul=require("Module:StronicowyParser/NumerObiektu"); return stronicowyparser_numerobiektu_modul.NumerObiektu(frame,nazwa_obiektu); end; end; p["AnalizujSzablonemStronicowymArtykuł"]=function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; return ""; end; function p.formatowanie() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; return tabela_listy_danych_analizy_ksiazki.formatowanie; end; function p.StronaZeSzablonemStronaStart() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; return tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start; end; function p.WstawKategorie(frame) local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie"); return stronicowyparser_kategorie_modul.WstawKategorie(frame); end; function p.CzyStronaSubst(frame,czy_wymusic) if(czy_wymusic)then local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_zmiennych_w_artykule)then return nil;end; return tab_lista_zmiennych_w_artykule.strona_zbiorcza; end; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then return "tak"; end; end; p["CzyArtykułKsiążki"]=function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; if(tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then return "tak"; end; end; return p; lwzx31brkknai4tgln6drrma4ftxza6 559144 559142 2026-10-11T19:25:35Z Persino 2851 559144 Scribunto text/plain local p = {} function p.SpreparowanyWikikodStrony(nazwa_modulu,dokumentacja,inkludowana) local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); local szablonowe_modul=require("Module:Szablonowe"); local nazwa_modulu_szablonowa=szablonowe_modul["SzablonowaKompletnaNazwaStrony"](nazwa_modulu,nil,nil); return stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,nazwa_modulu,nazwa_modulu_szablonowa,dokumentacja,inkludowana); end; function p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nazwa_modulu_aktualna_czy_biezaca,inkludowana) local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); local szablonowe_modul=require("Module:Szablonowe"); local nazwa_modulu_aktualna_czy_biezaca_szablonowa=szablonowe_modul["SzablonowaKompletnaNazwaStrony"](nazwa_modulu_aktualna_czy_biezaca,nil,nil); local tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nil,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,inkludowana,nil); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony; end; p["DaneUkładuAutonawigacji"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki); local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki); if(not spis)then return nil;end; return tab_lista_artykulow_w_ksiazce.nazwa_bazowego_spisu,tab_lista_artykulow_w_ksiazce.tab_inne_spisy,tab_lista_artykulow_w_ksiazce.dodatkowe_strony_woluminu; end; p["SpisyTreści"]=function(frame,tabela_listy_danych_analizy_ksiazki,bez_json) local nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly=p["DaneUkładuAutonawigacji"](frame,tabela_listy_danych_analizy_ksiazki); local tabela={}; tabela.spis_tresci=nazwa_glownego_spisu; tabela.inne_spisy=tab_inne_spisy; tabela.dodatkowe_strony_woluminu=dodatkowe_artykuly; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local czy_json=((not bez_json)and(parametry_modul.CzyTak(PobierzParametr("json")))) and true or false; return czy_json and mw.text.jsonEncode(tabela,mw.text.JSON_PRESERVE_KEYS) or tabela; end; p["CzySpisTreści"]=function(frame,tabela_listy_danych_analizy_ksiazki) local spisy=p["SpisyTreści"](frame,tabela_listy_danych_analizy_ksiazki,true); local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local artykul=PobierzParametr("artykuł"); ---- if(artykul)then artykul=parametry_modul["Odstępy"]{[1]=artykul,[2]="tak",}; if((spisy.spis_tresci)and((parametry_modul.TypeTable(spisy.spis_tresci))and((spisy.spis_tresci[1]==artykul)or(spisy.spis_tresci[2]==artykul))or(spisy.spis_tresci==artykul)))then return "tak"; else if((spisy.inne_spisy)and(parametry_modul.TypeTable(spisy.inne_spisy)))then for _,spis_tresci in ipairs(spisy.inne_spisy)do if((parametry_modul.TypeTable(spis_tresci))and((spis_tresci[1]==artykul)or(spis_tresci[2]==artykul))or(spis_tresci==artykul))then return "tak"; end; end; end; end; end; end; p["TekstRozdziałuStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.TekstPoNapisieWprowadzeniaTekstuStrony(frame); end; p["KtóraSekcjaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.NumerSekcjiStrony(frame); end; p["ZwróćSekcjęNagłówkaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.ZwracanieSekcjiNapisuWprowadzeniaTekstuStrony(frame); end; p["NastępnyArtykuł"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); --- local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); local html_modul=require("Module:Html"); local nazwa_artykulu_bez_naglowka=html_modul["NazwaStronyAdresu"](nazwa_artykulu,true); local nazwa_artykulu=(not naglowek) and nazwa_artykulu_bez_naglowka or nazwa_artykulu; ---- local juz_tak=false; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka,numer) or nil; ---- for nazwa_artykulu_w_bazie,nazwa_linku_artykulu_w_bazie,przekierowanie_artykulu_w_bazie,pelna_nazwa_ksiazki_w_bazie in iterator do local nazwa_artykulu_w_bazie2=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,naglowek); local function Nastepny() if(not nazwa)then return stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana); end; return nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana); end; if(juz_tak)then if(numer>0)then local nazwa_artykulu_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu_w_bazie,false); local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu_bez_naglowka_w_bazie); local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka_w_bazie,numer); if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then return Nastepny(); end; else return Nastepny(); end; else if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then juz_tak=true; end; end; end; if(juz_tak)then return ""; else return "(błąd)"; end; end; p["PoprzedniArtykuł"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); --- local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); local html_modul=require("Module:Html"); local nazwa_artykulu_bez_naglowka=html_modul["NazwaStronyAdresu"](nazwa_artykulu,true); local nazwa_artykulu=(not naglowek) and nazwa_artykulu_bez_naglowka or nazwa_artykulu; ---- local juz_tak=false; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka,numer) or nil; ---- local artykul=""; ---- for nazwa_artykulu_w_bazie,nazwa_linku_artykulu_w_bazie,przekierowanie_artykulu_w_bazie,pelna_nazwa_ksiazki_w_bazie in iterator do local nazwa_artykulu_w_bazie2=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,naglowek); if(numer>0)then local nazwa_artykulu_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu_w_bazie,false); local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu_bez_naglowka_w_bazie); local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka_w_bazie,numer); if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then return artykul; else artykul=(not nazwa) and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana) or (nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana)); end; else if(artykul~="")then return artykul; else artykul=""; end; end; else if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then return artykul; else artykul=(not nazwa) and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana) or (nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana)); end; end; end; return "(błąd)"; end; p["PoziomNazwyArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu); end; p["PierwszyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local args=stronicowyparser_potrzebne_modul:Args(); for tab_artykul,nazwa_linku,przekierowanie,pelna_nazwa_ksiazki in iterator do local artykul=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,czy_naglowek); local function PierwszyArtykul() if(not nazwa)then return stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); else return nazwa_linku or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); end; end; if(numer==0)then return PierwszyArtykul(); else local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul); if(numer==numer_artykulu_w_bazie)then return PierwszyArtykul(); end; end; end; return "(błąd)"; end; p["OstatniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local ostatni_artykul=nil; for tab_artykul,nazwa_linku,przekierowanie,pelna_nazwa_ksiazki in iterator do local artykul=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,czy_naglowek); local function OstatniArtykul() if(not nazwa)then ostatni_artykul=stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); else ostatni_artykul=nazwa_linku or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); end; end; if(numer==0)then OstatniArtykul(); else local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul); if(numer==numer_artykulu_w_bazie)then OstatniArtykul(); end; end; end; if(ostatni_artykul)then return ostatni_artykul;end; return "(błąd)"; end; p["PomiędzyNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(frame); end; p["LosowyNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:LosowyNapisProwadzeniaTekstuWoluminu(frame); end; p["PierwszyNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:PierwszyNapisWprowadzeniaTekstu(frame); end; p["OstatniNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:OstatniNapisWprowadzeniaTekstu(frame); end; p["LiczbaNagłówkówSpisu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:LiczbaNapisowaWprowadzeniaTekstu(frame); end; p["PomiędzyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local parametry_modul=require("Module:Parametry"); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local element=stronicowyparser_potrzebne_modul:LosowaStronaBezPierwszejOrazOstatniejStronyWoluminu(frame,numer) or nil; if(not element)then return "(błąd)";end; local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); if(not nazwa)then return czy_table and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana) or ((not czy_table) and element or "(błąd)");end; return czy_table and (element[2] or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana)) or ((not czy_table) and element or "(błąd)"); end; p["LosowyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local parametry_modul=require("Module:Parametry"); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local element=stronicowyparser_potrzebne_modul:LosowaStronaWoluminu(frame,numer); if(not element)then return "(błąd)";end; local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); if(not nazwa)then return czy_table and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana) or ((not czy_table) and element or "(błąd)");end; return czy_table and (element[2] or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana)) or ((not czy_table) and element or "(błąd)"); end; p["SubNazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local krok=tonumber(args[2])or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok); end; p["NazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer); end; p["NazwaLinkuArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local args=stronicowyparser_potrzebne_modul:Args(); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local parametry_modul=require("Module:Parametry"); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); if(not czy_tabela_artykulu)then local nazwa_artykulu_z_parametrami_i_naglowkiem=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_w_bazie[1],czy_naglowek); if(nazwa_artykulu_z_parametrami_i_naglowkiem==nazwa_artykulu)then return artykul_w_bazie[1]; end; else local nazwa_artykulu_z_parametrami_i_naglowkiem=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_w_bazie[1][1],czy_naglowek); if(nazwa_artykulu_z_parametrami_i_naglowkiem==nazwa_artykulu)then return artykul_w_bazie[1][2]; end; end; end; end; end; return "(błąd)"; end; p["LiczbaArtykułówKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek) and {} or nil; local i=0; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local nazwa_artykulu=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; local artykul=(not naglowek) and stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu,false) or nil; if(naglowek or not tab_artykul[artykul])then if(not naglowek)then tab_artykul[artykul]=true; end; i=i+1; end; end; end; end; return i; end; p["LiniaArtykułuKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); local parametry_modul=require("Module:Parametry"); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local czy_analiza=parametry_modul.CzyTak(args["analiza"]); local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]); if(not uzupelniaj_sekcje_artykulow)then for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local artykul_ksiazki=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; artykul_ksiazki=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_ksiazki,czy_naglowek); if(artykul_ksiazki==nazwa_artykulu)then if(not czy_analiza)then return artykul_w_bazie[3]; else local function AnalizaLiniiArtykolow() local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})"); if(czy_spis_tresci)then local szablonowe_modul=require("Module:Szablonowe"); local parametry_szablony,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](czy_spis_tresci); local nazwa_artykulu=parametry_szablony[1]; ------ local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]"; local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link); return linia2; else local linia2=artykul_w_bazie[3]; local czy_spis_tresci=mw.ustring.match(linia2,"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})") or mw.ustring.match(linia2,"({{%s*[Ss]r%s*|[^{}]*}})"); if(czy_spis_tresci)then local linia2,_=mw.ustring.gsub(linia2,"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|"); local linia2,_=mw.ustring.gsub(linia2,"({{%s*[Ss]r%s*|)","%1astandardowo=tak|"); return linia2; else local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local function adresuj_linki(a,b) return "[["..nazwa_ksiazki.."/"..a..(b or ("|"..a)).."]]"; end; local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki); artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki); return artykul; end; end; end; return AnalizaLiniiArtykolow(); end end; end; end; end; else if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"); if(parametry_modul["CzyTakCiąg"](naglowek))then local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame) return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]"; end; end; end; end; p["AktualnaKsiążka"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); return stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame) or ((not __error)and "(błąd)" or nil); end; p["AktualnaKsiążkaArtykułu"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); ---- local parametry_modul=require("Module:Parametry"); local ksiazka=parametry_modul.CzyTak(args["książka"]); local nazwy_modul=require("Module:Nazwy"); ---- local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local nazwa_artykulu_ksiazki=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); ---- for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local nazwa_artykulu_dana=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; nazwa_artykulu_dana=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_dana,czy_naglowek); if(nazwa_artykulu_ksiazki==nazwa_artykulu_dana)then if(not czy_tabela_artykulu)then return nazwa_ksiazki; else local pelna_nazwa_ksiazki=artykul_w_bazie[1][4]; if((pelna_nazwa_ksiazki)and(pelna_nazwa_ksiazki[4]))then return nazwy_modul["NazwaModułu"](pelna_nazwa_ksiazki[1],pelna_nazwa_ksiazki[2],pelna_nazwa_ksiazki[3],"") else return nazwa_ksiazki; end; end; end; end; end; end; return ((not __error)and "(błąd)" or nil) end; p["NazwaAktualnyArtykuł"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); return stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame) or ((not __error)and "(błąd)" or nil); end; p["PobierzNumerNagłówka"]=function(frame) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaNagłówkówKsiążek"); return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNumerNagłówka"](frame); end; p["PobierzNazwęNagłówka"]=function(frame) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaNagłówkówKsiążek"); return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNazwęNagłówka"](frame); end; p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek"); local wartosc,_=stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNumerArtykułu"](frame,tabela_listy_danych_analizy_ksiazki); return wartosc; end; p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek"); local wartosc,_=stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNazwęArtykułu"](frame,tabela_listy_danych_analizy_ksiazki); return wartosc; end; p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek"); return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzDaneKsiążki"](frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json); end; p["ListaNagłówkówKsiążki"] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local parametry_modul=require("Module:Parametry"); local odczyt_tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu=stronicowyparser_obiekty.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu; local tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu=parametry_modul["KopiujTabelęElementów"](odczyt_tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu); setmetatable(tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu,parametry_modul.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter); local czy_sa_rozdzialy=nil; local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local args=stronicowyparser_potrzebne_modul:Args(); local wikikod=""; local linki_modul=require("Module:Linki"); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local numer_rozdzialu=tab_lista[1][2][1]; local czy_centrowany=tab_lista[1][2][4]; if((numer_rozdzialu)and(numer_rozdzialu>0)and(not czy_centrowany))then if(not tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu[rozdzial])then wikikod=((wikikod~="")and (wikikod.." &nbsp;—&nbsp; ") or "")..linki_modul["Link wewnętrzny"]{["strona"]=pelna_nazwa_ksiazki,["nagłówek"]=rozdzial,["nazwa"]=rozdzial,["bez znaczników"]=args["bez znaczników"],["bez przetwarzania"]=args["bez przetwarzania"],}; end; czy_sa_rozdzialy=true; end; end; if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end; return wikikod; end; p["ArtykułSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame,true); local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu"); local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki"); local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu); local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki); if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki; elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return "(błąd)"; end; local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; local nazwy_modul=require("Module:Nazwy"); if(nazwa_strony==nazwy_modul["PEŁNANAZWASTRONY"]())then local blad_modul=require("Module:Błąd"); return blad_modul.error{args={[1]="Próbowano załadować bieżącą stronę.",},}; end; local szablonowe_modul=require("Module:Szablonowe"); local szablon=szablonowe_modul.NazwaSzablonu(nazwa_strony); local zawartosc=frame:expandTemplate{title=szablon,args={},}; --Tworzenie ramek div-- local divramka=mw.html.create('div'); divramka:addClass('artykułsubst'); local poddivramka=mw.html.create('div'); poddivramka:wikitext(nazwa_strony); poddivramka:addClass("adres"); poddivramka:css("display","none"); divramka:node(poddivramka); local divzawartosc=mw.html.create('div'); divzawartosc:addClass("zawartość"); divzawartosc:css("display","block"); divzawartosc:wikitext(zawartosc); divramka:node(divzawartosc) --Zwracanie ramki div-- return tostring(divramka:allDone()); end; p["KsiążkaSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_przestrzeni_nazw=PobierzParametr("nazwa przestrzeni nazw"); local nazwa_jednostki=PobierzParametr("nazwa jednostki"); if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]; if(str)then str=frame:preprocess(str); return str; end; return nil; end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); local ksiazkowe_modul=require("Module:Książkowe"); local tabela_nazw={}; local nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw); local nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw); local str=((((tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"]or{})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki]or{})[nazwa_artykulu]; if(str)then str=frame:preprocess(str); return str; end; local str=(((tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"]or{})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki]; if(str)then str=frame:preprocess(str); return str; end; return nil; end; p["StronaSubst"] = function(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame,true); local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_przestrzeni_nazw=PobierzParametr("nazwa przestrzeni nazw"); local nazwa_jednostki=PobierzParametr("nazwa jednostki"); local tab_stronasubst; if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"]; if(not tab_stronasubst)then return;end; else local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw); local nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw); tab_stronasubst=(((tabela_listy_danych_analizy_ksiazki["StronaSubstInne"] or {})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki]; if(not tab_stronasubst)then return;end; end; local pierwszy=parametry_modul["Odstępy"]{nazwa=args[1],["wewnątrz"]="tak",}; local tab_strona=tab_stronasubst[pierwszy]; if(not tab_strona)then return;end; local link=args["link"]; local czy_link=parametry_modul.CzyTak(link); local stronasubst=tab_strona[(czy_link and "tak" or "")]; stronasubst=frame:preprocess(stronasubst); return stronasubst; end; p["CzyStronęNumerować"] = function(frame) local strona=frame.args[1]; local nazwy_modul=require("Module:Nazwy"); strona=nazwy_modul["PEŁNANAZWASTRONY"](strona); local pudelko_modul=require("Module:Pudełko"); if(strona==pudelko_modul["Strona główna tego projektu"](frame))then return; end; if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then return; end; if(mw.ustring.match(strona,"^Szablon:Strona główna/"))then return; end; local zbiory={ ["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true, ["Wikibooks:Polecane książki"]=true, ["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true, } if(zbiory[strona])then return; end; if(mw.ustring.match(strona,"^Szablon:Polecane książki/") or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/")) or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/")) )then return; end; return "tak"; end; function p.HNumer(frame) local parametry_modul=require("Module:Parametry"); local p=parametry_modul.PobierzFrameEwentualnieParent(frame); if((not p) or (not p.args[1]))then local blad_module=require("Module:Błąd"); local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); return; end; local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(p.args[1]); if(licznik>6)then local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "") ..">"..naglowek.."</h6>"; elseif(licznik<1)then local blad_module=require("Module:Błąd"); return blad_module.error{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="strong",},}; else local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") ..((parametry_modul.CzyTak(klasa)) and " class=\""..klasa.."\"" or "") ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..naglowek.."</h"..licznik..">"; end; end; function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci) local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local ksiazkowe_modul=require("Module:Książkowe"); local html_modul=require("Module:Html"); local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local uzyskana_nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local uzyskana_nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local pelna_nazwa_strony=((uzyskana_nazwa_przestrzeni~="") and (uzyskana_nazwa_przestrzeni..":") or "")..((uzyskana_nazwa_przestrzeni_ksiazki~="") and (uzyskana_nazwa_przestrzeni_ksiazki.."/") or "")..uzyskana_nazwa_ksiazki..((uzyskana_nazwa_artykulu~="")and ("/"..uzyskana_nazwa_artykulu) or ""); local args=parametry_modul.PobierzArgsParametry(frame,true); local nazwa_ksiazki;local nazwa_artykulu; if(args[1])then nazwa_artykulu=args[1]; nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; end; if(args[2])then nazwa_ksiazki=args[2]; nazwa_ksiazki=html_modul.DecodeHtml(nazwa_ksiazki,true); local techniczne_modul=require("Module:Techniczne"); nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_ksiazki,[2]=pelna_nazwa_strony,}; end; local nazwa_artykulu=parametry_modul.CzyTak(nazwa_artykulu) and nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](pelna_nazwa_strony); local czy_nazwa_ksiazki=parametry_modul.CzyTak(nazwa_ksiazki); local podana_nazwa_przestrzeni_nazw=czy_nazwa_ksiazki and (nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki)) or ksiazkowe_modul["NazwaPrzestrzeni"](pelna_nazwa_strony); local podana_nazwa_jednostki=czy_nazwa_ksiazki and (nazwy_modul["NAZWAKSIĄŻKI"](nazwa_ksiazki)..((nazwa_artykulu~="")and ("/"..nazwa_artykulu) or "")) or ksiazkowe_modul["NazwaArtykułu"](pelna_nazwa_strony); local args_nowe={ ["nazwa przestrzeni nazw"] = podana_nazwa_przestrzeni_nazw, ["nazwa jednostki"] = podana_nazwa_jednostki, }; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu{args=args_nowe}; stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu{args=args_nowe}; local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu{args=args_nowe}; local self_zmienna,tabela_listy_danych_analizy_ksiazki=stronicowyparser_potrzebne_modul:Self(); if((not tab_lista_zmiennych_w_artykule)and(not tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza))then local blad_modul=require("Module:Błąd"); return blad_modul.error{tab="span",tekst="Nie znalazłem takiej książki."}; end; local czy_nie_aktualny=( (self_zmienna.nazwa_przestrzeni_podana~=self_zmienna.nazwa_przestrzeni) or(self_zmienna.nazwa_przestrzeni_woluminu_podana~=self_zmienna.nazwa_przestrzeni_woluminu) or(self_zmienna.nazwa_woluminu_podana~=self_zmienna.nazwa_woluminu) or (self_zmienna.nazwa_podstrony_woluminu_podana~=self_zmienna.nazwa_podstrony_woluminu) ); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tab_lista_zmiennych_w_artykule and tab_lista_zmiennych_w_artykule.TOC or nil)) then local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tab_lista_zmiennych_w_artykule.TOC, czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; elseif(not gdy_pusty_spis_tresci)then local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; end; end; p["WykazModułówKsiążki"]=function(frame,czy_rozciagnij) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return nil;end; local self_zmienna=stronicowyparser_potrzebne_modul:Self(); local nazwa_ksiazki=self_zmienna.nazwa_woluminu; local nazwa_przestrzeni_ksiazki=self_zmienna.nazwa_przestrzeni_woluminu; local nazwa_przestrzeni=self_zmienna.nazwa_przestrzeni; local parametry_modul=require("Module:Parametry"); local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]); local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]); local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]); local artykul=frame.args["artykuł"]; local wysokosc=frame.args["wysokość"]; local szerokosc=frame.args["szerokość"]; local wykaz_modulow_w_liscie=""; local czy_spis_tresci=nil; local i=1; local czy_spisy=nil; for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local czy_nienilowy_rozdzial=tab_lista[1][2][1]; local poziom_rozdzialu=czy_nienilowy_rozdzial or 0; if((artykul)and(poziom_rozdzialu==1))then if(((m==1)and(not czy_spisy))or((m>1)and(czy_spisy)))then local spis=tab_lista[1]["spis"]; if(spis)then if(not czy_spis_tresci)then local spis_tresci_dany=spis[1]; czy_spis_tresci=(artykul==spis_tresci_dany); czy_spisy=true; else break; end; else local dodatkowe=tab_lista[1]["dodatkowe"]; if(dodatkowe)then break; end; end; end; end; if((not artykul)or((artykul)and((not czy_spisy)or((czy_spisy)and(czy_spis_tresci)))))then if(tab_lista[2])then for _,tab_pozycja in ipairs(tab_lista[2])do local sformatowana_nazwa_artykulu; local nazwa; if(type(tab_pozycja[1])~="table")then sformatowana_nazwa_artykulu=mw.ustring.gsub(tab_pozycja[1],"_"," "); nazwa=sformatowana_nazwa_artykulu; else sformatowana_nazwa_artykulu=mw.ustring.gsub(tab_pozycja[1][1],"_"," "); nazwa=tab_pozycja[1][2] or sformatowana_nazwa_artykulu; end; local id=tab_pozycja[4] if(not tylko_naglowki or id)then if(not spis_ksiazkowy)then wykaz_modulow_w_liscie=((wykaz_modulow_w_liscie~="") and (wykaz_modulow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..nazwa..'</span>]]</li>'; else wykaz_modulow_w_liscie=((wykaz_modulow_w_liscie~="") and (wykaz_modulow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/") or "#")..sformatowana_nazwa_artykulu.."|"..nazwa.."]]|"..i.."|100%}}"; end; i=i+1; end; end; end; end; end; if(wykaz_modulow_w_liscie=="")then return nil;end; if(not spis_ksiazkowy)then wykaz_modulow_w_liscie="<ul>"..wykaz_modulow_w_liscie.."</ul>"; wykaz_modulow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or (szerokosc or "auto"))..';box-sizing:border-box;max-width:100%;font-size:0.875rem;line-height:1.2;background-color:white;|styl nagłówka=background-color:white;|styl komórki=background-color:white;padding:0;|styl tytułu=font-size:0.875rem;line-height:1.2;text-align:left;white-space:nowrap;box-sizing:border-box;|tytuł=Wykaz modułów w książce|klasa spisu=toc_ogólnie_spis toc_wykaz|styl spisu=width:100%;box-sizing:border-box;max-height:25rem;overflow:auto;padding: 0.1875em 0.3125em;|spis='..wykaz_modulow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}'; else wykaz_modulow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:0.625rem;width:"..(czy_rozciagnij and "100%" or (szerokosc or "auto"))..";max-width:100%;box-sizing:border-box;background-color:white;\">"..wykaz_modulow_w_liscie.."</div>"; end; local rozwiniety_wikikod=frame:preprocess(wykaz_modulow_w_liscie); return rozwiniety_wikikod; end; p["NazwaAktualnyModuł"]=function() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np'); local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; if(nazwa_artykulu==nil)then return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]"; else return nazwa_artykulu; end; end; p["WstępDoLicencji"]=function(frame) local element_licencji_1='<strong>Autor:</strong> <span class="autor">'..frame.args[1]..'</span><BR>'; local element_licencji_2; if((frame.args[2]~='')and(frame.args[2]~=nil))then element_licencji_2=frame.args[2]..'<BR>'; end; local element_licencji_3; if((frame.args[3]~='')and(frame.args[3]~=nil))then element_licencji_3='<strong>Email:</strong> <span class="email">'..frame.args[3]..'</span><BR>'; end; local element_licencji_4; if((frame.args[4]~='')and(frame.args[4]~=nil))then element_licencji_4='<strong>Dotyczy:</strong> <span class="dotyczy">'..frame.args[4].."</span><BR>"; else element_licencji_4='<strong>Dotyczy:</strong> <span class="dotyczy">książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.</span><BR>'; end; local element_licencji_5; if((frame.args[5]~='')and(frame.args[5]~=nil))then element_licencji_5='<span class="licencjonowanie">'..frame.args[5].."</span><BR>"; else element_licencji_5='<span class="licencjonowanie">Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.</span><BR>'; end; local element_licencji_6; if((frame.args[6]~='')and(frame.args[6]~=nil))then element_licencji_6='<strong>Umowa prawna:</strong> <span class="umowa-prawna">'..frame.args[6]..'</span><BR>'; else element_licencji_6='<strong>Umowa prawna:</strong> <span class="umowa-prawna">[http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa, na tych samych warunkach, z możliwością obowiązywania dodatkowych ograniczeń].</span><BR>'; end; local element_licencji_7; if((frame.args[7]~='')and(frame.args[7]~=nil))then element_licencji_7='<span class="konsekwencje">'..frame.args[7].."</span><BR>"; else element_licencji_7='<span classs="konsekwencje">Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce, nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji, niezależnie czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.</span><BR>'; end; local licencja='<span class="licencja-książki">'..element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "") ..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7..'</span>'; return licencja; end; function p.Licencja(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local menu_z_licencja; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki].licencja; if(licencja)then if(licencja[1])then local frame={}; frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]}; local ramka_z_licencja=p["WstępDoLicencji"](frame); menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:0.875rem;line-height:1.2;box-sizing:border-box;background-color:white;|styl nagłówka=background-color:white;|styl komórki=background-color:white;padding:0;|styl tytułu=font-size:0.875rem;line-height:1.2;text-align:left;white-space:nowrap;box-sizing:border-box;|tytuł=Licencja|styl spisu=margin-left:0px;padding:0.1875rem;width:100%;height:auto;box-sizing:border-box;padding: 0.1875em 0.3125em;|spis='..ramka_z_licencja..'|funkcja=PokazanaWikitabelowaListaMenu}}'; else return nil; end; local frame=mw.getCurrentFrame(); local rozwiniety_wikikod=frame:preprocess(menu_z_licencja); return rozwiniety_wikikod; else return nil; end; end; function p.Autor(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki].licencja; if(tabela_listy_danych_analizy_ksiazki.licencja)then if(licencja and licencja[1])then return licencja[1]; end; end; end; p["NazwaLicencjaWykazSpisTreściModułuKsiążki"]=function(frame) local prawe_menu=""; local parametry_modul=require("Module:Parametry"); local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"]) if(parametry_modul.CzyTak(frame.args[1]))then prawe_menu='<div style="margin-top:0.3125rem;font-size:1.9em;line-height:1.5625rem;text-align:left;">'..p["NazwaAktualnyModuł"]()..'</div><hr class=\"pierwsza_strona_spis_treści-hr\"/>'; end; if(parametry_modul.CzyTak(frame.args[2]))then local licencja=p.Licencja(frame,czy_rozciagnij); if(licencja~=nil)then prawe_menu=prawe_menu..licencja; else local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local uchwyt_strony=mw.title.getCurrentTitle(); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników" or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu" or "na stronach głównych, publikacji"))); local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or ""; prawe_menu=prawe_menu..kategoria_braku_licencji; end; end; if(parametry_modul.CzyTak(frame.args[3]))then local wykaz_artykulow=p["WykazModułówKsiążki"](frame,czy_rozciagnij); if(wykaz_artykulow~=nil)then prawe_menu=prawe_menu.."<hr class=\"pierwsza_strona_spis_treści-hr\"/>"..wykaz_artykulow; end; end; if(parametry_modul.CzyTak(frame.args[4]))then local spis_tresci=p.TOC(frame,czy_rozciagnij,true); if(spis_tresci~=nil)then prawe_menu=prawe_menu.."<hr class=\"pierwsza_strona_spis_treści-hr\"/><div class=\"pierwsza_strona_spis_treści\">"..spis_tresci.."</div>"; end; end; local wysokosc=frame.args["wysokość"]; return "<div style=\"padding:0.3125rem;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:43.75rem;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;width:100%;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>"; end; p["SpisTreści"]=function(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame); local nazwa_artykulu=args["artykuł"] or args[1] or "Przykładowy artykuł"; local nazwa_ksiazki=args["książka"] or args[2]; local czy_analiza=parametry_modul.CzyTak(args["analiza"]); local czy_specjalne=parametry_modul.CzyTak(args["specjalne"]); local czy_parser=parametry_modul.CzyTak(args["parser"]); local dokumentacja=args["dokumentacja"]; local czy_dokumentacja=parametry_modul.CzyTak(dokumentacja); local czy_math=parametry_modul.CzyTak(args["wzory"]); local czy_math_analiza=parametry_modul.CzyTak(args["wzory-analiza"]); local czy_bez_przypisow=parametry_modul.CzyTak(args["bez przypisów"]); if(not dokumentacja)then czy_dokumentacja=czy_analiza or czy_specjalne or czy_parser; end local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; if(not parametry_modul.CzyTak(nazwa_ksiazki))then local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local uzyskana_nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~="") and (uzyskana_nazwa_przestrzeni..":") or "")..((uzyskana_nazwa_przestrzeni_ksiazki~="") and (uzyskana_nazwa_przestrzeni_ksiazki.."/") or "")..uzyskana_nazwa_ksiazki; end; local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil); if(brak~=nil)then local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu," or "stron,"))); return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]"; end; local html_modul=require("Module:Html"); local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_modulu=nazwy_modul["NazwaModułu"](tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni,tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu); local techniczne_modul=require("Module:Techniczne"); nazwa_ksiazki=html_modul.DecodeHtml(nazwa_ksiazki,true); nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_ksiazki,[2]=nazwa_modulu,}; local nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; local pelna_nazwa_strony=((not nazwa_artykulu) or (nazwa_artykulu==""))and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local strona=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_strony); if(strona)then pelna_nazwa_strony=strona; nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony); else nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony); end; local szablonowe_modul=require("Module:Szablonowe"); local tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony; local pelna_nazwa_strony_szablonowa=szablonowe_modul["SzablonowaKompletnaNazwaStrony"](pelna_nazwa_strony,nil,nil); if((czy_analiza)or(czy_parser))then tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,false); else tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,not czy_dokumentacja); if(tekst_artykulu)then if(czy_dokumentacja)then tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=szablonowe_modul:UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(pelna_nazwa_strony); else tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany=szablonowe_modul:KodujWzoryMatematyczneTekstu(tekst_artykulu); if((not czy_math)and(not czy_math_analiza))then tablica_obiektow_strony_dany_modul_uzyskany=nil; end; end; end; end; local nazwa=args["nazwa"] or args[3]; local czy_nazwa=parametry_modul.CzyTak(nazwa); local nazwa_strony_artykulu=czy_nazwa and nazwa or nazwa_artykulu; local dodatek=args["dodatek"] or args[4]; local poziom=tonumber(args["poziom"]) or 6; local FuncNaglowek=function(czy_red) local id_alternatywne=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony); local nazwa_optymalizowane=czy_nazwa and (parametry_modul["Odstępy"]{[1]=nazwa,[2]="tak",}) or nil; local czy_inne_id=(czy_nazwa and (nazwa_optymalizowane~=id_alternatywne)); local dodatek_id=((parametry_modul.CzyTak(dodatek)) and (" "..dodatek) or ""); local tab_atrybuty={["id"]=((czy_nazwa and nazwa or id_alternatywne)..dodatek_id),}; local rozdzial=(czy_inne_id and ("<span id=\""..id_alternatywne.."\" class=\"SpisTreści-nazwa\">") or "")..(czy_red and ("<span style=\"color:red\">") or "").."[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(czy_red and ("</span>") or "")..dodatek_id..(czy_inne_id and ("</span>") or ""); local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local naglowek=stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstuHn(rozdzial,poziom,tab_atrybuty); return naglowek; end; if(not tekst_artykulu)then if(nazwa_artykulu~="")then return FuncNaglowek(true); else local blad_modul=require("Module:Błąd"); return blad_modul.error{args={[1]="Wywołano szablon z argumentem pierwszym pustym.",tag="span",}}; end; else local twor_spisu_tresci=FuncNaglowek(false); --- local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil; if(((czy_dokumentacja)and((czy_specjalne)or(czy_parser)))or((not czy_dokumentacja)and(czy_math_analiza)))then tekst_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_artykulu,pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,tablica_obiektow_strony_dany_modul_uzyskany); end; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local ulozenia_w_menu_spisu_tresci=stronicowyparser_glownafunkcjazbieraniadanych_modul:SpisRzeczyWedlePodanegoTekstu(tekst_artykulu,pelna_nazwa_strony,nil,nil,nil, tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni, tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu, tabela_listy_danych_analizy_ksiazki.nazwa_woluminu, nazwa_artykulu, pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,tablica_obiektow_strony_dany_modul_uzyskany or {},nil,tablica_obiektow_strony_danych_kodow_specjalnych_modul,nil,true); local atrybuty="style=\"margin-left:20px\""; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local toc=stronicowyparser_potrzebne_modul.TOCSilnik(frame,ulozenia_w_menu_spisu_tresci, atrybuty,czy_bez_przypisow); local limit=args["limit"]; local czy_limit=parametry_modul.CzyTak(limit); toc=toc and frame:preprocess(toc) or nil; return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>'; end; end; local function IteratorFunkcja() local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tabela_wypowiedzi=obiekty_modul.tablica_obiektowych_form; local licznik=1; return function() local tabela_obiektu=tabela_wypowiedzi[licznik]; if(not tabela_obiektu)then return nil;end; local wartosc1=tabela_obiektu[1]; local wartosc2=tabela_obiektu[4]; licznik=licznik+1; return wartosc1,wartosc2; end; end; local iterator=IteratorFunkcja(); for nazwa_obiektu,czesc_nazwy_funkcji in iterator do p["Numer"..czesc_nazwy_funkcji] = function(frame) local stronicowyparser_numerobiektu_modul=require("Module:StronicowyParser/NumerObiektu"); return stronicowyparser_numerobiektu_modul.NumerObiektu(frame,nazwa_obiektu); end; end; p["AnalizujSzablonemStronicowymArtykuł"]=function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; return ""; end; function p.formatowanie() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; return tabela_listy_danych_analizy_ksiazki.formatowanie; end; function p.StronaZeSzablonemStronaStart() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; return tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start; end; function p.WstawKategorie(frame) local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie"); return stronicowyparser_kategorie_modul.WstawKategorie(frame); end; function p.CzyStronaSubst(frame,czy_wymusic) if(czy_wymusic)then local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_zmiennych_w_artykule)then return nil;end; return tab_lista_zmiennych_w_artykule.strona_zbiorcza; end; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then return "tak"; end; end; p["CzyArtykułKsiążki"]=function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; if(tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then return "tak"; end; end; return p; d2jy9iuwj64e8p83de4xaw4c183vp00 559145 559144 2026-10-11T19:31:31Z Persino 2851 559145 Scribunto text/plain local p = {} function p.SpreparowanyWikikodStrony(nazwa_modulu,dokumentacja,inkludowana) local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); local szablonowe_modul=require("Module:Szablonowe"); local nazwa_modulu_szablonowa=szablonowe_modul["SzablonowaKompletnaNazwaStrony"](nazwa_modulu,nil,nil); return stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,nazwa_modulu,nazwa_modulu_szablonowa,dokumentacja,inkludowana); end; function p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nazwa_modulu_aktualna_czy_biezaca,inkludowana) local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); local szablonowe_modul=require("Module:Szablonowe"); local nazwa_modulu_aktualna_czy_biezaca_szablonowa=szablonowe_modul["SzablonowaKompletnaNazwaStrony"](nazwa_modulu_aktualna_czy_biezaca,nil,nil); local tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nil,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,inkludowana,nil); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony; end; p["DaneUkładuAutonawigacji"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki); local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki); if(not spis)then return nil;end; return tab_lista_artykulow_w_ksiazce.nazwa_bazowego_spisu,tab_lista_artykulow_w_ksiazce.tab_inne_spisy,tab_lista_artykulow_w_ksiazce.dodatkowe_strony_woluminu; end; p["SpisyTreści"]=function(frame,tabela_listy_danych_analizy_ksiazki,bez_json) local nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly=p["DaneUkładuAutonawigacji"](frame,tabela_listy_danych_analizy_ksiazki); local tabela={}; tabela.spis_tresci=nazwa_glownego_spisu; tabela.inne_spisy=tab_inne_spisy; tabela.dodatkowe_strony_woluminu=dodatkowe_artykuly; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local czy_json=((not bez_json)and(parametry_modul.CzyTak(PobierzParametr("json")))) and true or false; return czy_json and mw.text.jsonEncode(tabela,mw.text.JSON_PRESERVE_KEYS) or tabela; end; p["CzySpisTreści"]=function(frame,tabela_listy_danych_analizy_ksiazki) local spisy=p["SpisyTreści"](frame,tabela_listy_danych_analizy_ksiazki,true); local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local artykul=PobierzParametr("artykuł"); ---- if(artykul)then artykul=parametry_modul["Odstępy"]{[1]=artykul,[2]="tak",}; if((spisy.spis_tresci)and((parametry_modul.TypeTable(spisy.spis_tresci))and((spisy.spis_tresci[1]==artykul)or(spisy.spis_tresci[2]==artykul))or(spisy.spis_tresci==artykul)))then return "tak"; else if((spisy.inne_spisy)and(parametry_modul.TypeTable(spisy.inne_spisy)))then for _,spis_tresci in ipairs(spisy.inne_spisy)do if((parametry_modul.TypeTable(spis_tresci))and((spis_tresci[1]==artykul)or(spis_tresci[2]==artykul))or(spis_tresci==artykul))then return "tak"; end; end; end; end; end; end; p["TekstRozdziałuStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.TekstPoNapisieWprowadzeniaTekstuStrony(frame); end; p["KtóraSekcjaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.NumerSekcjiStrony(frame); end; p["ZwróćSekcjęNagłówkaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.ZwracanieSekcjiNapisuWprowadzeniaTekstuStrony(frame); end; p["NastępnyArtykuł"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); --- local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); local html_modul=require("Module:Html"); local nazwa_artykulu_bez_naglowka=html_modul["NazwaStronyAdresu"](nazwa_artykulu,true); local nazwa_artykulu=(not naglowek) and nazwa_artykulu_bez_naglowka or nazwa_artykulu; ---- local juz_tak=false; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka,numer) or nil; ---- for nazwa_artykulu_w_bazie,nazwa_linku_artykulu_w_bazie,przekierowanie_artykulu_w_bazie,pelna_nazwa_ksiazki_w_bazie in iterator do local nazwa_artykulu_w_bazie2=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,naglowek); local function Nastepny() if(not nazwa)then return stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana); end; return nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana); end; if(juz_tak)then if(numer>0)then local nazwa_artykulu_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu_w_bazie,false); local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu_bez_naglowka_w_bazie); local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka_w_bazie,numer); if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then return Nastepny(); end; else return Nastepny(); end; else if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then juz_tak=true; end; end; end; if(juz_tak)then return ""; else return "(błąd)"; end; end; p["PoprzedniArtykuł"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); --- local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); local html_modul=require("Module:Html"); local nazwa_artykulu_bez_naglowka=html_modul["NazwaStronyAdresu"](nazwa_artykulu,true); local nazwa_artykulu=(not naglowek) and nazwa_artykulu_bez_naglowka or nazwa_artykulu; ---- local juz_tak=false; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka,numer) or nil; ---- local artykul=""; ---- for nazwa_artykulu_w_bazie,nazwa_linku_artykulu_w_bazie,przekierowanie_artykulu_w_bazie,pelna_nazwa_ksiazki_w_bazie in iterator do local nazwa_artykulu_w_bazie2=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,naglowek); if(numer>0)then local nazwa_artykulu_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu_w_bazie,false); local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu_bez_naglowka_w_bazie); local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka_w_bazie,numer); if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then return artykul; else artykul=(not nazwa) and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana) or (nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana)); end; else if(artykul~="")then return artykul; else artykul=""; end; end; else if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then return artykul; else artykul=(not nazwa) and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana) or (nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana)); end; end; end; return "(błąd)"; end; p["PoziomNazwyArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu); end; p["PierwszyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local args=stronicowyparser_potrzebne_modul:Args(); for tab_artykul,nazwa_linku,przekierowanie,pelna_nazwa_ksiazki in iterator do local artykul=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,czy_naglowek); local function PierwszyArtykul() if(not nazwa)then return stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); else return nazwa_linku or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); end; end; if(numer==0)then return PierwszyArtykul(); else local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul); if(numer==numer_artykulu_w_bazie)then return PierwszyArtykul(); end; end; end; return "(błąd)"; end; p["OstatniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local ostatni_artykul=nil; for tab_artykul,nazwa_linku,przekierowanie,pelna_nazwa_ksiazki in iterator do local artykul=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,czy_naglowek); local function OstatniArtykul() if(not nazwa)then ostatni_artykul=stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); else ostatni_artykul=nazwa_linku or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); end; end; if(numer==0)then OstatniArtykul(); else local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul); if(numer==numer_artykulu_w_bazie)then OstatniArtykul(); end; end; end; if(ostatni_artykul)then return ostatni_artykul;end; return "(błąd)"; end; p["PomiędzyNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(frame); end; p["LosowyNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:LosowyNapisProwadzeniaTekstuWoluminu(frame); end; p["PierwszyNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:PierwszyNapisWprowadzeniaTekstu(frame); end; p["OstatniNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:OstatniNapisWprowadzeniaTekstu(frame); end; p["LiczbaNagłówkówSpisu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:LiczbaNapisowaWprowadzeniaTekstu(frame); end; p["PomiędzyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local parametry_modul=require("Module:Parametry"); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local element=stronicowyparser_potrzebne_modul:LosowaStronaBezPierwszejOrazOstatniejStronyWoluminu(frame,numer) or nil; if(not element)then return "(błąd)";end; local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); if(not nazwa)then return czy_table and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana) or ((not czy_table) and element or "(błąd)");end; return czy_table and (element[2] or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana)) or ((not czy_table) and element or "(błąd)"); end; p["LosowyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local parametry_modul=require("Module:Parametry"); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local element=stronicowyparser_potrzebne_modul:LosowaStronaWoluminu(frame,numer); if(not element)then return "(błąd)";end; local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); if(not nazwa)then return czy_table and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana) or ((not czy_table) and element or "(błąd)");end; return czy_table and (element[2] or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana)) or ((not czy_table) and element or "(błąd)"); end; p["SubNazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local krok=tonumber(args[2])or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok); end; p["NazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer); end; p["NazwaLinkuArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local args=stronicowyparser_potrzebne_modul:Args(); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local parametry_modul=require("Module:Parametry"); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); if(not czy_tabela_artykulu)then local nazwa_artykulu_z_parametrami_i_naglowkiem=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_w_bazie[1],czy_naglowek); if(nazwa_artykulu_z_parametrami_i_naglowkiem==nazwa_artykulu)then return artykul_w_bazie[1]; end; else local nazwa_artykulu_z_parametrami_i_naglowkiem=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_w_bazie[1][1],czy_naglowek); if(nazwa_artykulu_z_parametrami_i_naglowkiem==nazwa_artykulu)then return artykul_w_bazie[1][2]; end; end; end; end; end; return "(błąd)"; end; p["LiczbaArtykułówKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek) and {} or nil; local i=0; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local nazwa_artykulu=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; local artykul=(not naglowek) and stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu,false) or nil; if(naglowek or not tab_artykul[artykul])then if(not naglowek)then tab_artykul[artykul]=true; end; i=i+1; end; end; end; end; return i; end; p["LiniaArtykułuKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); local parametry_modul=require("Module:Parametry"); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local czy_analiza=parametry_modul.CzyTak(args["analiza"]); local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]); if(not uzupelniaj_sekcje_artykulow)then for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local artykul_ksiazki=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; artykul_ksiazki=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_ksiazki,czy_naglowek); if(artykul_ksiazki==nazwa_artykulu)then if(not czy_analiza)then return artykul_w_bazie[3]; else local function AnalizaLiniiArtykolow() local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})"); if(czy_spis_tresci)then local szablonowe_modul=require("Module:Szablonowe"); local parametry_szablony,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](czy_spis_tresci); local nazwa_artykulu=parametry_szablony[1]; ------ local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]"; local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link); return linia2; else local linia2=artykul_w_bazie[3]; local czy_spis_tresci=mw.ustring.match(linia2,"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})") or mw.ustring.match(linia2,"({{%s*[Ss]r%s*|[^{}]*}})"); if(czy_spis_tresci)then local linia2,_=mw.ustring.gsub(linia2,"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|"); local linia2,_=mw.ustring.gsub(linia2,"({{%s*[Ss]r%s*|)","%1astandardowo=tak|"); return linia2; else local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local function adresuj_linki(a,b) return "[["..nazwa_ksiazki.."/"..a..(b or ("|"..a)).."]]"; end; local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki); artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki); return artykul; end; end; end; return AnalizaLiniiArtykolow(); end end; end; end; end; else if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"); if(parametry_modul["CzyTakCiąg"](naglowek))then local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame) return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]"; end; end; end; end; p["AktualnaKsiążka"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); return stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame) or ((not __error)and "(błąd)" or nil); end; p["AktualnaKsiążkaArtykułu"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); ---- local parametry_modul=require("Module:Parametry"); local ksiazka=parametry_modul.CzyTak(args["książka"]); local nazwy_modul=require("Module:Nazwy"); ---- local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local nazwa_artykulu_ksiazki=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); ---- for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local nazwa_artykulu_dana=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; nazwa_artykulu_dana=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_dana,czy_naglowek); if(nazwa_artykulu_ksiazki==nazwa_artykulu_dana)then if(not czy_tabela_artykulu)then return nazwa_ksiazki; else local pelna_nazwa_ksiazki=artykul_w_bazie[1][4]; if((pelna_nazwa_ksiazki)and(pelna_nazwa_ksiazki[4]))then return nazwy_modul["NazwaModułu"](pelna_nazwa_ksiazki[1],pelna_nazwa_ksiazki[2],pelna_nazwa_ksiazki[3],"") else return nazwa_ksiazki; end; end; end; end; end; end; return ((not __error)and "(błąd)" or nil) end; p["NazwaAktualnyArtykuł"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); return stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame) or ((not __error)and "(błąd)" or nil); end; p["PobierzNumerNagłówka"]=function(frame) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaNagłówkówKsiążek"); return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNumerNagłówka"](frame); end; p["PobierzNazwęNagłówka"]=function(frame) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaNagłówkówKsiążek"); return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNazwęNagłówka"](frame); end; p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek"); local wartosc,_=stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNumerArtykułu"](frame,tabela_listy_danych_analizy_ksiazki); return wartosc; end; p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek"); local wartosc,_=stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNazwęArtykułu"](frame,tabela_listy_danych_analizy_ksiazki); return wartosc; end; p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek"); return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzDaneKsiążki"](frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json); end; p["ListaNagłówkówKsiążki"] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local parametry_modul=require("Module:Parametry"); local odczyt_tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu=stronicowyparser_obiekty.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu; local tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu=parametry_modul["KopiujTabelęElementów"](odczyt_tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu); setmetatable(tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu,parametry_modul.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter); local czy_sa_rozdzialy=nil; local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local args=stronicowyparser_potrzebne_modul:Args(); local wikikod=""; local linki_modul=require("Module:Linki"); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local numer_rozdzialu=tab_lista[1][2][1]; local czy_centrowany=tab_lista[1][2][4]; if((numer_rozdzialu)and(numer_rozdzialu>0)and(not czy_centrowany))then if(not tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu[rozdzial])then wikikod=((wikikod~="")and (wikikod.." &nbsp;—&nbsp; ") or "")..linki_modul["Link wewnętrzny"]{["strona"]=pelna_nazwa_ksiazki,["nagłówek"]=rozdzial,["nazwa"]=rozdzial,["bez znaczników"]=args["bez znaczników"],["bez przetwarzania"]=args["bez przetwarzania"],}; end; czy_sa_rozdzialy=true; end; end; if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end; return wikikod; end; p["ArtykułSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame,true); local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu"); local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki"); local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu); local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki); if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki; elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return "(błąd)"; end; local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; local nazwy_modul=require("Module:Nazwy"); if(nazwa_strony==nazwy_modul["PEŁNANAZWASTRONY"]())then local blad_modul=require("Module:Błąd"); return blad_modul.error{args={[1]="Próbowano załadować bieżącą stronę.",},}; end; local szablonowe_modul=require("Module:Szablonowe"); local szablon=szablonowe_modul.NazwaSzablonu(nazwa_strony); local zawartosc=frame:expandTemplate{title=szablon,args={},}; --Tworzenie ramek div-- local divramka=mw.html.create('div'); divramka:addClass('artykułsubst'); local poddivramka=mw.html.create('div'); poddivramka:wikitext(nazwa_strony); poddivramka:addClass("adres"); poddivramka:css("display","none"); divramka:node(poddivramka); local divzawartosc=mw.html.create('div'); divzawartosc:addClass("zawartość"); divzawartosc:css("display","block"); divzawartosc:wikitext(zawartosc); divramka:node(divzawartosc) --Zwracanie ramki div-- return tostring(divramka:allDone()); end; p["KsiążkaSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_przestrzeni_nazw=PobierzParametr("nazwa przestrzeni nazw"); local nazwa_jednostki=PobierzParametr("nazwa jednostki"); if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]; if(str)then str=frame:preprocess(str); return str; end; return nil; end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); local ksiazkowe_modul=require("Module:Książkowe"); local tabela_nazw={}; local nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw); local nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw); local str=((((tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"]or{})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki]or{})[nazwa_artykulu]; if(str)then str=frame:preprocess(str); return str; end; local str=(((tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"]or{})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki]; if(str)then str=frame:preprocess(str); return str; end; return nil; end; p["StronaSubst"] = function(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame,true); local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_przestrzeni_nazw=PobierzParametr("nazwa przestrzeni nazw"); local nazwa_jednostki=PobierzParametr("nazwa jednostki"); local tab_stronasubst; if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"]; if(not tab_stronasubst)then return;end; else local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw); local nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw); tab_stronasubst=(((tabela_listy_danych_analizy_ksiazki["StronaSubstInne"] or {})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki]; if(not tab_stronasubst)then return;end; end; local pierwszy=parametry_modul["Odstępy"]{nazwa=args[1],["wewnątrz"]="tak",}; local tab_strona=tab_stronasubst[pierwszy]; if(not tab_strona)then return;end; local link=args["link"]; local czy_link=parametry_modul.CzyTak(link); local stronasubst=tab_strona[(czy_link and "tak" or "")]; stronasubst=frame:preprocess(stronasubst); return stronasubst; end; p["CzyStronęNumerować"] = function(frame) local strona=frame.args[1]; local nazwy_modul=require("Module:Nazwy"); strona=nazwy_modul["PEŁNANAZWASTRONY"](strona); local pudelko_modul=require("Module:Pudełko"); if(strona==pudelko_modul["Strona główna tego projektu"](frame))then return; end; if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then return; end; if(mw.ustring.match(strona,"^Szablon:Strona główna/"))then return; end; local zbiory={ ["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true, ["Wikibooks:Polecane książki"]=true, ["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true, } if(zbiory[strona])then return; end; if(mw.ustring.match(strona,"^Szablon:Polecane książki/") or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/")) or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/")) )then return; end; return "tak"; end; function p.HNumer(frame) local parametry_modul=require("Module:Parametry"); local p=parametry_modul.PobierzFrameEwentualnieParent(frame); if((not p) or (not p.args[1]))then local blad_module=require("Module:Błąd"); local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); return; end; local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(p.args[1]); if(licznik>6)then local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "") ..">"..naglowek.."</h6>"; elseif(licznik<1)then local blad_module=require("Module:Błąd"); return blad_module.error{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="strong",},}; else local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") ..((parametry_modul.CzyTak(klasa)) and " class=\""..klasa.."\"" or "") ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..naglowek.."</h"..licznik..">"; end; end; function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci) local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local ksiazkowe_modul=require("Module:Książkowe"); local html_modul=require("Module:Html"); local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local uzyskana_nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local uzyskana_nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local pelna_nazwa_strony=((uzyskana_nazwa_przestrzeni~="") and (uzyskana_nazwa_przestrzeni..":") or "")..((uzyskana_nazwa_przestrzeni_ksiazki~="") and (uzyskana_nazwa_przestrzeni_ksiazki.."/") or "")..uzyskana_nazwa_ksiazki..((uzyskana_nazwa_artykulu~="")and ("/"..uzyskana_nazwa_artykulu) or ""); local args=parametry_modul.PobierzArgsParametry(frame,true); local nazwa_ksiazki;local nazwa_artykulu; if(args[1])then nazwa_artykulu=args[1]; nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; end; if(args[2])then nazwa_ksiazki=args[2]; nazwa_ksiazki=html_modul.DecodeHtml(nazwa_ksiazki,true); local techniczne_modul=require("Module:Techniczne"); nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_ksiazki,[2]=pelna_nazwa_strony,}; end; local nazwa_artykulu=parametry_modul.CzyTak(nazwa_artykulu) and nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](pelna_nazwa_strony); local czy_nazwa_ksiazki=parametry_modul.CzyTak(nazwa_ksiazki); local podana_nazwa_przestrzeni_nazw=czy_nazwa_ksiazki and (nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki)) or ksiazkowe_modul["NazwaPrzestrzeni"](pelna_nazwa_strony); local podana_nazwa_jednostki=czy_nazwa_ksiazki and (nazwy_modul["NAZWAKSIĄŻKI"](nazwa_ksiazki)..((nazwa_artykulu~="")and ("/"..nazwa_artykulu) or "")) or ksiazkowe_modul["NazwaArtykułu"](pelna_nazwa_strony); local args_nowe={ ["nazwa przestrzeni nazw"] = podana_nazwa_przestrzeni_nazw, ["nazwa jednostki"] = podana_nazwa_jednostki, }; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu{args=args_nowe}; stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu{args=args_nowe}; local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu{args=args_nowe}; local self_zmienna,tabela_listy_danych_analizy_ksiazki=stronicowyparser_potrzebne_modul:Self(); if((not tab_lista_zmiennych_w_artykule)and(not tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza))then local blad_modul=require("Module:Błąd"); return blad_modul.error{tab="span",tekst="Nie znalazłem takiej książki."}; end; local czy_nie_aktualny=( (self_zmienna.nazwa_przestrzeni_podana~=self_zmienna.nazwa_przestrzeni) or(self_zmienna.nazwa_przestrzeni_woluminu_podana~=self_zmienna.nazwa_przestrzeni_woluminu) or(self_zmienna.nazwa_woluminu_podana~=self_zmienna.nazwa_woluminu) or (self_zmienna.nazwa_podstrony_woluminu_podana~=self_zmienna.nazwa_podstrony_woluminu) ); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tab_lista_zmiennych_w_artykule and tab_lista_zmiennych_w_artykule.TOC or nil)) then local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tab_lista_zmiennych_w_artykule.TOC, czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; elseif(not gdy_pusty_spis_tresci)then local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; end; end; p["WykazModułówKsiążki"]=function(frame,czy_rozciagnij) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return nil;end; local self_zmienna=stronicowyparser_potrzebne_modul:Self(); local nazwa_ksiazki=self_zmienna.nazwa_woluminu; local nazwa_przestrzeni_ksiazki=self_zmienna.nazwa_przestrzeni_woluminu; local nazwa_przestrzeni=self_zmienna.nazwa_przestrzeni; local parametry_modul=require("Module:Parametry"); local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]); local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]); local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]); local artykul=frame.args["artykuł"]; local wysokosc=frame.args["wysokość"]; local szerokosc=frame.args["szerokość"]; local wykaz_modulow_w_liscie=""; local czy_spis_tresci=nil; local i=1; local czy_spisy=nil; for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local czy_nienilowy_rozdzial=tab_lista[1][2][1]; local poziom_rozdzialu=czy_nienilowy_rozdzial or 0; if((artykul)and(poziom_rozdzialu==1))then if(((m==1)and(not czy_spisy))or((m>1)and(czy_spisy)))then local spis=tab_lista[1]["spis"]; if(spis)then if(not czy_spis_tresci)then local spis_tresci_dany=spis[1]; czy_spis_tresci=(artykul==spis_tresci_dany); czy_spisy=true; else break; end; else local dodatkowe=tab_lista[1]["dodatkowe"]; if(dodatkowe)then break; end; end; end; end; if((not artykul)or((artykul)and((not czy_spisy)or((czy_spisy)and(czy_spis_tresci)))))then if(tab_lista[2])then for _,tab_pozycja in ipairs(tab_lista[2])do local sformatowana_nazwa_artykulu; local nazwa; if(type(tab_pozycja[1])~="table")then sformatowana_nazwa_artykulu=mw.ustring.gsub(tab_pozycja[1],"_"," "); nazwa=sformatowana_nazwa_artykulu; else sformatowana_nazwa_artykulu=mw.ustring.gsub(tab_pozycja[1][1],"_"," "); nazwa=tab_pozycja[1][2] or sformatowana_nazwa_artykulu; end; local id=tab_pozycja[4] if(not tylko_naglowki or id)then if(not spis_ksiazkowy)then wykaz_modulow_w_liscie=((wykaz_modulow_w_liscie~="") and (wykaz_modulow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..nazwa..'</span>]]</li>'; else wykaz_modulow_w_liscie=((wykaz_modulow_w_liscie~="") and (wykaz_modulow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/") or "#")..sformatowana_nazwa_artykulu.."|"..nazwa.."]]|"..i.."|100%}}"; end; i=i+1; end; end; end; end; end; if(wykaz_modulow_w_liscie=="")then return nil;end; if(not spis_ksiazkowy)then wykaz_modulow_w_liscie="<ul>"..wykaz_modulow_w_liscie.."</ul>"; wykaz_modulow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or (szerokosc or "auto"))..';box-sizing:border-box;max-width:100%;font-size:0.875rem;line-height:1.2;background-color:white;|styl nagłówka=background-color:white;|styl komórki=background-color:white;padding:0;|styl tytułu=font-size:0.875rem;line-height:1.2;text-align:left;white-space:nowrap;box-sizing:border-box;|tytuł=Wykaz modułów w książce|klasa spisu=toc_ogólnie_spis toc_wykaz|styl spisu=width:100%;box-sizing:border-box;max-height:25rem;overflow:auto;padding: 0.1875em 0.3125em;|spis='..wykaz_modulow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}'; else wykaz_modulow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:0.625rem;width:"..(czy_rozciagnij and "100%" or (szerokosc or "auto"))..";max-width:100%;box-sizing:border-box;background-color:white;\">"..wykaz_modulow_w_liscie.."</div>"; end; local rozwiniety_wikikod=frame:preprocess(wykaz_modulow_w_liscie); return rozwiniety_wikikod; end; p["NazwaAktualnyModuł"]=function() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np'); local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; if(nazwa_artykulu==nil)then return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]"; else return nazwa_artykulu; end; end; p["WstępDoLicencji"]=function(frame) local element_licencji_1='<strong class="temat-autor">Autor:</strong> <span class="autor">'..frame.args[1]..'</span><BR>'; local element_licencji_2; if((frame.args[2]~='')and(frame.args[2]~=nil))then element_licencji_2='<span class="szkoły">'..frame.args[2]..'</span><BR>'; end; local element_licencji_3; if((frame.args[3]~='')and(frame.args[3]~=nil))then element_licencji_3='<strong class="temat-email">Email:</strong> <span class="email">'..frame.args[3]..'</span><BR>'; end; local element_licencji_4; if((frame.args[4]~='')and(frame.args[4]~=nil))then element_licencji_4='<strong class="temat-dotyczy">Dotyczy:</strong> <span class="dotyczy">'..frame.args[4].."</span><BR>"; else element_licencji_4='<strong class="temat-dotyczy">Dotyczy:</strong> <span class="dotyczy">książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.</span><BR>'; end; local element_licencji_5; if((frame.args[5]~='')and(frame.args[5]~=nil))then element_licencji_5='<span class="licencjonowanie">'..frame.args[5].."</span><BR>"; else element_licencji_5='<span class="licencjonowanie">Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.</span><BR>'; end; local element_licencji_6; if((frame.args[6]~='')and(frame.args[6]~=nil))then element_licencji_6='<strong class="umowa-prawna-autor">Umowa prawna:</strong> <span class="umowa-prawna">'..frame.args[6]..'</span><BR>'; else element_licencji_6='<strong class="umowa-prawna-temat">Umowa prawna:</strong> <span class="umowa-prawna">[http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa, na tych samych warunkach, z możliwością obowiązywania dodatkowych ograniczeń].</span><BR>'; end; local element_licencji_7; if((frame.args[7]~='')and(frame.args[7]~=nil))then element_licencji_7='<span class="konsekwencje">'..frame.args[7].."</span><BR>"; else element_licencji_7='<span class="konsekwencje">Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce, nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji, niezależnie czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.</span><BR>'; end; local licencja='<span class="licencja-książki">'..element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "") ..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7..'</span>'; return licencja; end; function p.Licencja(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local menu_z_licencja; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki].licencja; if(licencja)then if(licencja[1])then local frame={}; frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]}; local ramka_z_licencja=p["WstępDoLicencji"](frame); menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:0.875rem;line-height:1.2;box-sizing:border-box;background-color:white;|styl nagłówka=background-color:white;|styl komórki=background-color:white;padding:0;|styl tytułu=font-size:0.875rem;line-height:1.2;text-align:left;white-space:nowrap;box-sizing:border-box;|tytuł=Licencja|styl spisu=margin-left:0px;padding:0.1875rem;width:100%;height:auto;box-sizing:border-box;padding: 0.1875em 0.3125em;|spis='..ramka_z_licencja..'|funkcja=PokazanaWikitabelowaListaMenu}}'; else return nil; end; local frame=mw.getCurrentFrame(); local rozwiniety_wikikod=frame:preprocess(menu_z_licencja); return rozwiniety_wikikod; else return nil; end; end; function p.Autor(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki].licencja; if(tabela_listy_danych_analizy_ksiazki.licencja)then if(licencja and licencja[1])then return licencja[1]; end; end; end; p["NazwaLicencjaWykazSpisTreściModułuKsiążki"]=function(frame) local prawe_menu=""; local parametry_modul=require("Module:Parametry"); local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"]) if(parametry_modul.CzyTak(frame.args[1]))then prawe_menu='<div style="margin-top:0.3125rem;font-size:1.9em;line-height:1.5625rem;text-align:left;">'..p["NazwaAktualnyModuł"]()..'</div><hr class=\"pierwsza_strona_spis_treści-hr\"/>'; end; if(parametry_modul.CzyTak(frame.args[2]))then local licencja=p.Licencja(frame,czy_rozciagnij); if(licencja~=nil)then prawe_menu=prawe_menu..licencja; else local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local uchwyt_strony=mw.title.getCurrentTitle(); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników" or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu" or "na stronach głównych, publikacji"))); local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or ""; prawe_menu=prawe_menu..kategoria_braku_licencji; end; end; if(parametry_modul.CzyTak(frame.args[3]))then local wykaz_artykulow=p["WykazModułówKsiążki"](frame,czy_rozciagnij); if(wykaz_artykulow~=nil)then prawe_menu=prawe_menu.."<hr class=\"pierwsza_strona_spis_treści-hr\"/>"..wykaz_artykulow; end; end; if(parametry_modul.CzyTak(frame.args[4]))then local spis_tresci=p.TOC(frame,czy_rozciagnij,true); if(spis_tresci~=nil)then prawe_menu=prawe_menu.."<hr class=\"pierwsza_strona_spis_treści-hr\"/><div class=\"pierwsza_strona_spis_treści\">"..spis_tresci.."</div>"; end; end; local wysokosc=frame.args["wysokość"]; return "<div style=\"padding:0.3125rem;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:43.75rem;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;width:100%;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>"; end; p["SpisTreści"]=function(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame); local nazwa_artykulu=args["artykuł"] or args[1] or "Przykładowy artykuł"; local nazwa_ksiazki=args["książka"] or args[2]; local czy_analiza=parametry_modul.CzyTak(args["analiza"]); local czy_specjalne=parametry_modul.CzyTak(args["specjalne"]); local czy_parser=parametry_modul.CzyTak(args["parser"]); local dokumentacja=args["dokumentacja"]; local czy_dokumentacja=parametry_modul.CzyTak(dokumentacja); local czy_math=parametry_modul.CzyTak(args["wzory"]); local czy_math_analiza=parametry_modul.CzyTak(args["wzory-analiza"]); local czy_bez_przypisow=parametry_modul.CzyTak(args["bez przypisów"]); if(not dokumentacja)then czy_dokumentacja=czy_analiza or czy_specjalne or czy_parser; end local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; if(not parametry_modul.CzyTak(nazwa_ksiazki))then local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local uzyskana_nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~="") and (uzyskana_nazwa_przestrzeni..":") or "")..((uzyskana_nazwa_przestrzeni_ksiazki~="") and (uzyskana_nazwa_przestrzeni_ksiazki.."/") or "")..uzyskana_nazwa_ksiazki; end; local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil); if(brak~=nil)then local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu," or "stron,"))); return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]"; end; local html_modul=require("Module:Html"); local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_modulu=nazwy_modul["NazwaModułu"](tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni,tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu); local techniczne_modul=require("Module:Techniczne"); nazwa_ksiazki=html_modul.DecodeHtml(nazwa_ksiazki,true); nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_ksiazki,[2]=nazwa_modulu,}; local nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; local pelna_nazwa_strony=((not nazwa_artykulu) or (nazwa_artykulu==""))and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local strona=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_strony); if(strona)then pelna_nazwa_strony=strona; nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony); else nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony); end; local szablonowe_modul=require("Module:Szablonowe"); local tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony; local pelna_nazwa_strony_szablonowa=szablonowe_modul["SzablonowaKompletnaNazwaStrony"](pelna_nazwa_strony,nil,nil); if((czy_analiza)or(czy_parser))then tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,false); else tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,not czy_dokumentacja); if(tekst_artykulu)then if(czy_dokumentacja)then tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=szablonowe_modul:UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(pelna_nazwa_strony); else tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany=szablonowe_modul:KodujWzoryMatematyczneTekstu(tekst_artykulu); if((not czy_math)and(not czy_math_analiza))then tablica_obiektow_strony_dany_modul_uzyskany=nil; end; end; end; end; local nazwa=args["nazwa"] or args[3]; local czy_nazwa=parametry_modul.CzyTak(nazwa); local nazwa_strony_artykulu=czy_nazwa and nazwa or nazwa_artykulu; local dodatek=args["dodatek"] or args[4]; local poziom=tonumber(args["poziom"]) or 6; local FuncNaglowek=function(czy_red) local id_alternatywne=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony); local nazwa_optymalizowane=czy_nazwa and (parametry_modul["Odstępy"]{[1]=nazwa,[2]="tak",}) or nil; local czy_inne_id=(czy_nazwa and (nazwa_optymalizowane~=id_alternatywne)); local dodatek_id=((parametry_modul.CzyTak(dodatek)) and (" "..dodatek) or ""); local tab_atrybuty={["id"]=((czy_nazwa and nazwa or id_alternatywne)..dodatek_id),}; local rozdzial=(czy_inne_id and ("<span id=\""..id_alternatywne.."\" class=\"SpisTreści-nazwa\">") or "")..(czy_red and ("<span style=\"color:red\">") or "").."[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(czy_red and ("</span>") or "")..dodatek_id..(czy_inne_id and ("</span>") or ""); local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local naglowek=stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstuHn(rozdzial,poziom,tab_atrybuty); return naglowek; end; if(not tekst_artykulu)then if(nazwa_artykulu~="")then return FuncNaglowek(true); else local blad_modul=require("Module:Błąd"); return blad_modul.error{args={[1]="Wywołano szablon z argumentem pierwszym pustym.",tag="span",}}; end; else local twor_spisu_tresci=FuncNaglowek(false); --- local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil; if(((czy_dokumentacja)and((czy_specjalne)or(czy_parser)))or((not czy_dokumentacja)and(czy_math_analiza)))then tekst_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_artykulu,pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,tablica_obiektow_strony_dany_modul_uzyskany); end; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local ulozenia_w_menu_spisu_tresci=stronicowyparser_glownafunkcjazbieraniadanych_modul:SpisRzeczyWedlePodanegoTekstu(tekst_artykulu,pelna_nazwa_strony,nil,nil,nil, tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni, tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu, tabela_listy_danych_analizy_ksiazki.nazwa_woluminu, nazwa_artykulu, pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,tablica_obiektow_strony_dany_modul_uzyskany or {},nil,tablica_obiektow_strony_danych_kodow_specjalnych_modul,nil,true); local atrybuty="style=\"margin-left:20px\""; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local toc=stronicowyparser_potrzebne_modul.TOCSilnik(frame,ulozenia_w_menu_spisu_tresci, atrybuty,czy_bez_przypisow); local limit=args["limit"]; local czy_limit=parametry_modul.CzyTak(limit); toc=toc and frame:preprocess(toc) or nil; return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>'; end; end; local function IteratorFunkcja() local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tabela_wypowiedzi=obiekty_modul.tablica_obiektowych_form; local licznik=1; return function() local tabela_obiektu=tabela_wypowiedzi[licznik]; if(not tabela_obiektu)then return nil;end; local wartosc1=tabela_obiektu[1]; local wartosc2=tabela_obiektu[4]; licznik=licznik+1; return wartosc1,wartosc2; end; end; local iterator=IteratorFunkcja(); for nazwa_obiektu,czesc_nazwy_funkcji in iterator do p["Numer"..czesc_nazwy_funkcji] = function(frame) local stronicowyparser_numerobiektu_modul=require("Module:StronicowyParser/NumerObiektu"); return stronicowyparser_numerobiektu_modul.NumerObiektu(frame,nazwa_obiektu); end; end; p["AnalizujSzablonemStronicowymArtykuł"]=function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; return ""; end; function p.formatowanie() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; return tabela_listy_danych_analizy_ksiazki.formatowanie; end; function p.StronaZeSzablonemStronaStart() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; return tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start; end; function p.WstawKategorie(frame) local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie"); return stronicowyparser_kategorie_modul.WstawKategorie(frame); end; function p.CzyStronaSubst(frame,czy_wymusic) if(czy_wymusic)then local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_zmiennych_w_artykule)then return nil;end; return tab_lista_zmiennych_w_artykule.strona_zbiorcza; end; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then return "tak"; end; end; p["CzyArtykułKsiążki"]=function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; if(tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then return "tak"; end; end; return p; 2970zxk6ibxdb52vaz5aacvnzn62wpf 559146 559145 2026-10-11T19:39:35Z Persino 2851 559146 Scribunto text/plain local p = {} function p.SpreparowanyWikikodStrony(nazwa_modulu,dokumentacja,inkludowana) local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); local szablonowe_modul=require("Module:Szablonowe"); local nazwa_modulu_szablonowa=szablonowe_modul["SzablonowaKompletnaNazwaStrony"](nazwa_modulu,nil,nil); return stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,nazwa_modulu,nazwa_modulu_szablonowa,dokumentacja,inkludowana); end; function p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nazwa_modulu_aktualna_czy_biezaca,inkludowana) local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); local szablonowe_modul=require("Module:Szablonowe"); local nazwa_modulu_aktualna_czy_biezaca_szablonowa=szablonowe_modul["SzablonowaKompletnaNazwaStrony"](nazwa_modulu_aktualna_czy_biezaca,nil,nil); local tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nil,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,inkludowana,nil); return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony; end; p["DaneUkładuAutonawigacji"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki); local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki); if(not spis)then return nil;end; return tab_lista_artykulow_w_ksiazce.nazwa_bazowego_spisu,tab_lista_artykulow_w_ksiazce.tab_inne_spisy,tab_lista_artykulow_w_ksiazce.dodatkowe_strony_woluminu; end; p["SpisyTreści"]=function(frame,tabela_listy_danych_analizy_ksiazki,bez_json) local nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly=p["DaneUkładuAutonawigacji"](frame,tabela_listy_danych_analizy_ksiazki); local tabela={}; tabela.spis_tresci=nazwa_glownego_spisu; tabela.inne_spisy=tab_inne_spisy; tabela.dodatkowe_strony_woluminu=dodatkowe_artykuly; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local czy_json=((not bez_json)and(parametry_modul.CzyTak(PobierzParametr("json")))) and true or false; return czy_json and mw.text.jsonEncode(tabela,mw.text.JSON_PRESERVE_KEYS) or tabela; end; p["CzySpisTreści"]=function(frame,tabela_listy_danych_analizy_ksiazki) local spisy=p["SpisyTreści"](frame,tabela_listy_danych_analizy_ksiazki,true); local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local artykul=PobierzParametr("artykuł"); ---- if(artykul)then artykul=parametry_modul["Odstępy"]{[1]=artykul,[2]="tak",}; if((spisy.spis_tresci)and((parametry_modul.TypeTable(spisy.spis_tresci))and((spisy.spis_tresci[1]==artykul)or(spisy.spis_tresci[2]==artykul))or(spisy.spis_tresci==artykul)))then return "tak"; else if((spisy.inne_spisy)and(parametry_modul.TypeTable(spisy.inne_spisy)))then for _,spis_tresci in ipairs(spisy.inne_spisy)do if((parametry_modul.TypeTable(spis_tresci))and((spis_tresci[1]==artykul)or(spis_tresci[2]==artykul))or(spis_tresci==artykul))then return "tak"; end; end; end; end; end; end; p["TekstRozdziałuStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.TekstPoNapisieWprowadzeniaTekstuStrony(frame); end; p["KtóraSekcjaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.NumerSekcjiStrony(frame); end; p["ZwróćSekcjęNagłówkaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.ZwracanieSekcjiNapisuWprowadzeniaTekstuStrony(frame); end; p["NastępnyArtykuł"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); --- local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); local html_modul=require("Module:Html"); local nazwa_artykulu_bez_naglowka=html_modul["NazwaStronyAdresu"](nazwa_artykulu,true); local nazwa_artykulu=(not naglowek) and nazwa_artykulu_bez_naglowka or nazwa_artykulu; ---- local juz_tak=false; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka,numer) or nil; ---- for nazwa_artykulu_w_bazie,nazwa_linku_artykulu_w_bazie,przekierowanie_artykulu_w_bazie,pelna_nazwa_ksiazki_w_bazie in iterator do local nazwa_artykulu_w_bazie2=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,naglowek); local function Nastepny() if(not nazwa)then return stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana); end; return nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana); end; if(juz_tak)then if(numer>0)then local nazwa_artykulu_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu_w_bazie,false); local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu_bez_naglowka_w_bazie); local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka_w_bazie,numer); if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then return Nastepny(); end; else return Nastepny(); end; else if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then juz_tak=true; end; end; end; if(juz_tak)then return ""; else return "(błąd)"; end; end; p["PoprzedniArtykuł"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); --- local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); local html_modul=require("Module:Html"); local nazwa_artykulu_bez_naglowka=html_modul["NazwaStronyAdresu"](nazwa_artykulu,true); local nazwa_artykulu=(not naglowek) and nazwa_artykulu_bez_naglowka or nazwa_artykulu; ---- local juz_tak=false; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka,numer) or nil; ---- local artykul=""; ---- for nazwa_artykulu_w_bazie,nazwa_linku_artykulu_w_bazie,przekierowanie_artykulu_w_bazie,pelna_nazwa_ksiazki_w_bazie in iterator do local nazwa_artykulu_w_bazie2=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,naglowek); if(numer>0)then local nazwa_artykulu_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu_w_bazie,false); local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu_bez_naglowka_w_bazie); local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu_bez_naglowka_w_bazie,numer); if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then return artykul; else artykul=(not nazwa) and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana) or (nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana)); end; else if(artykul~="")then return artykul; else artykul=""; end; end; else if(nazwa_artykulu_w_bazie2==nazwa_artykulu)then return artykul; else artykul=(not nazwa) and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana) or (nazwa_linku_artykulu_w_bazie or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(nazwa_artykulu_w_bazie2,pelna_nazwa_ksiazki_w_bazie,przekierowanie_artykulu_w_bazie,naglowek,ksiazka,analizowana)); end; end; end; return "(błąd)"; end; p["PoziomNazwyArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu); end; p["PierwszyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local args=stronicowyparser_potrzebne_modul:Args(); for tab_artykul,nazwa_linku,przekierowanie,pelna_nazwa_ksiazki in iterator do local artykul=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,czy_naglowek); local function PierwszyArtykul() if(not nazwa)then return stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); else return nazwa_linku or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); end; end; if(numer==0)then return PierwszyArtykul(); else local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul); if(numer==numer_artykulu_w_bazie)then return PierwszyArtykul(); end; end; end; return "(błąd)"; end; p["OstatniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=stronicowyparser_potrzebne_modul.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local numer=tonumber(args[1]) or 0; local ostatni_artykul=nil; for tab_artykul,nazwa_linku,przekierowanie,pelna_nazwa_ksiazki in iterator do local artykul=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,czy_naglowek); local function OstatniArtykul() if(not nazwa)then ostatni_artykul=stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); else ostatni_artykul=nazwa_linku or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki,przekierowanie,czy_naglowek,ksiazka,analizowana); end; end; if(numer==0)then OstatniArtykul(); else local numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul); if(numer==numer_artykulu_w_bazie)then OstatniArtykul(); end; end; end; if(ostatni_artykul)then return ostatni_artykul;end; return "(błąd)"; end; p["PomiędzyNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(frame); end; p["LosowyNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:LosowyNapisProwadzeniaTekstuWoluminu(frame); end; p["PierwszyNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:PierwszyNapisWprowadzeniaTekstu(frame); end; p["OstatniNagłówek"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:OstatniNapisWprowadzeniaTekstu(frame); end; p["LiczbaNagłówkówSpisu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul:LiczbaNapisowaWprowadzeniaTekstu(frame); end; p["PomiędzyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local parametry_modul=require("Module:Parametry"); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local element=stronicowyparser_potrzebne_modul:LosowaStronaBezPierwszejOrazOstatniejStronyWoluminu(frame,numer) or nil; if(not element)then return "(błąd)";end; local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); if(not nazwa)then return czy_table and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana) or ((not czy_table) and element or "(błąd)");end; return czy_table and (element[2] or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana)) or ((not czy_table) and element or "(błąd)"); end; p["LosowyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local parametry_modul=require("Module:Parametry"); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ksiazka=parametry_modul.CzyTak(args["książka"]); local analizowana=parametry_modul.CzyTak(args["analizowana"]); local element=stronicowyparser_potrzebne_modul:LosowaStronaWoluminu(frame,numer); if(not element)then return "(błąd)";end; local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); if(not nazwa)then return czy_table and stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana) or ((not czy_table) and element or "(błąd)");end; return czy_table and (element[2] or stronicowyparser_potrzebne_modul.StronaArtykularnaKompletna(element[1],element[4],element[3],naglowek,ksiazka,analizowana)) or ((not czy_table) and element or "(błąd)"); end; p["SubNazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local krok=tonumber(args[2])or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok); end; p["NazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer); end; p["NazwaLinkuArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local args=stronicowyparser_potrzebne_modul:Args(); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local parametry_modul=require("Module:Parametry"); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); if(not czy_tabela_artykulu)then local nazwa_artykulu_z_parametrami_i_naglowkiem=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_w_bazie[1],czy_naglowek); if(nazwa_artykulu_z_parametrami_i_naglowkiem==nazwa_artykulu)then return artykul_w_bazie[1]; end; else local nazwa_artykulu_z_parametrami_i_naglowkiem=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_w_bazie[1][1],czy_naglowek); if(nazwa_artykulu_z_parametrami_i_naglowkiem==nazwa_artykulu)then return artykul_w_bazie[1][2]; end; end; end; end; end; return "(błąd)"; end; p["LiczbaArtykułówKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek) and {} or nil; local i=0; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local nazwa_artykulu=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; local artykul=(not naglowek) and stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_artykulu,false) or nil; if(naglowek or not tab_artykul[artykul])then if(not naglowek)then tab_artykul[artykul]=true; end; i=i+1; end; end; end; end; return i; end; p["LiniaArtykułuKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); local parametry_modul=require("Module:Parametry"); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local czy_analiza=parametry_modul.CzyTak(args["analiza"]); local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]); if(not uzupelniaj_sekcje_artykulow)then for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local artykul_ksiazki=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; artykul_ksiazki=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(artykul_ksiazki,czy_naglowek); if(artykul_ksiazki==nazwa_artykulu)then if(not czy_analiza)then return artykul_w_bazie[3]; else local function AnalizaLiniiArtykolow() local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})"); if(czy_spis_tresci)then local szablonowe_modul=require("Module:Szablonowe"); local parametry_szablony,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](czy_spis_tresci); local nazwa_artykulu=parametry_szablony[1]; ------ local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]"; local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link); return linia2; else local linia2=artykul_w_bazie[3]; local czy_spis_tresci=mw.ustring.match(linia2,"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})") or mw.ustring.match(linia2,"({{%s*[Ss]r%s*|[^{}]*}})"); if(czy_spis_tresci)then local linia2,_=mw.ustring.gsub(linia2,"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|"); local linia2,_=mw.ustring.gsub(linia2,"({{%s*[Ss]r%s*|)","%1astandardowo=tak|"); return linia2; else local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local function adresuj_linki(a,b) return "[["..nazwa_ksiazki.."/"..a..(b or ("|"..a)).."]]"; end; local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki); artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki); return artykul; end; end; end; return AnalizaLiniiArtykolow(); end end; end; end; end; else if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"); if(parametry_modul["CzyTakCiąg"](naglowek))then local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame) return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]"; end; end; end; end; p["AktualnaKsiążka"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); return stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame) or ((not __error)and "(błąd)" or nil); end; p["AktualnaKsiążkaArtykułu"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(); ---- local parametry_modul=require("Module:Parametry"); local ksiazka=parametry_modul.CzyTak(args["książka"]); local nazwy_modul=require("Module:Nazwy"); ---- local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local nazwa_artykulu_ksiazki=stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame); ---- for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local czy_tabela_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local nazwa_artykulu_dana=czy_tabela_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; nazwa_artykulu_dana=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_dana,czy_naglowek); if(nazwa_artykulu_ksiazki==nazwa_artykulu_dana)then if(not czy_tabela_artykulu)then return nazwa_ksiazki; else local pelna_nazwa_ksiazki=artykul_w_bazie[1][4]; if((pelna_nazwa_ksiazki)and(pelna_nazwa_ksiazki[4]))then return nazwy_modul["NazwaModułu"](pelna_nazwa_ksiazki[1],pelna_nazwa_ksiazki[2],pelna_nazwa_ksiazki[3],"") else return nazwa_ksiazki; end; end; end; end; end; end; return ((not __error)and "(błąd)" or nil) end; p["NazwaAktualnyArtykuł"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); return stronicowyparser_potrzebne_modul:NazwaPodStronyWoluminu(frame) or ((not __error)and "(błąd)" or nil); end; p["PobierzNumerNagłówka"]=function(frame) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaNagłówkówKsiążek"); return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNumerNagłówka"](frame); end; p["PobierzNazwęNagłówka"]=function(frame) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaNagłówkówKsiążek"); return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNazwęNagłówka"](frame); end; p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek"); local wartosc,_=stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNumerArtykułu"](frame,tabela_listy_danych_analizy_ksiazki); return wartosc; end; p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek"); local wartosc,_=stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzNazwęArtykułu"](frame,tabela_listy_danych_analizy_ksiazki); return wartosc; end; p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json) local stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek"); return stronicowyparser_numer_lub_nazwa_artykulow_ksiazek_modul["PobierzDaneKsiążki"](frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json); end; p["ListaNagłówkówKsiążki"] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local parametry_modul=require("Module:Parametry"); local odczyt_tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu=stronicowyparser_obiekty.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu; local tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu=parametry_modul["KopiujTabelęElementów"](odczyt_tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu); setmetatable(tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu,parametry_modul.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter); local czy_sa_rozdzialy=nil; local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:KompletnaNazwaWoluminu(frame); local args=stronicowyparser_potrzebne_modul:Args(); local wikikod=""; local linki_modul=require("Module:Linki"); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local numer_rozdzialu=tab_lista[1][2][1]; local czy_centrowany=tab_lista[1][2][4]; if((numer_rozdzialu)and(numer_rozdzialu>0)and(not czy_centrowany))then if(not tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu[rozdzial])then wikikod=((wikikod~="")and (wikikod.." &nbsp;—&nbsp; ") or "")..linki_modul["Link wewnętrzny"]{["strona"]=pelna_nazwa_ksiazki,["nagłówek"]=rozdzial,["nazwa"]=rozdzial,["bez znaczników"]=args["bez znaczników"],["bez przetwarzania"]=args["bez przetwarzania"],}; end; czy_sa_rozdzialy=true; end; end; if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end; return wikikod; end; p["ArtykułSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame,true); local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu"); local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki"); local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu); local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki); if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki; elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return "(błąd)"; end; local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; local nazwy_modul=require("Module:Nazwy"); if(nazwa_strony==nazwy_modul["PEŁNANAZWASTRONY"]())then local blad_modul=require("Module:Błąd"); return blad_modul.error{args={[1]="Próbowano załadować bieżącą stronę.",},}; end; local szablonowe_modul=require("Module:Szablonowe"); local szablon=szablonowe_modul.NazwaSzablonu(nazwa_strony); local zawartosc=frame:expandTemplate{title=szablon,args={},}; --Tworzenie ramek div-- local divramka=mw.html.create('div'); divramka:addClass('artykułsubst'); local poddivramka=mw.html.create('div'); poddivramka:wikitext(nazwa_strony); poddivramka:addClass("adres"); poddivramka:css("display","none"); divramka:node(poddivramka); local divzawartosc=mw.html.create('div'); divzawartosc:addClass("zawartość"); divzawartosc:css("display","block"); divzawartosc:wikitext(zawartosc); divramka:node(divzawartosc) --Zwracanie ramki div-- return tostring(divramka:allDone()); end; p["KsiążkaSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_przestrzeni_nazw=PobierzParametr("nazwa przestrzeni nazw"); local nazwa_jednostki=PobierzParametr("nazwa jednostki"); if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]; if(str)then str=frame:preprocess(str); return str; end; return nil; end; local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); local ksiazkowe_modul=require("Module:Książkowe"); local tabela_nazw={}; local nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw); local nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw); local str=((((tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"]or{})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki]or{})[nazwa_artykulu]; if(str)then str=frame:preprocess(str); return str; end; local str=(((tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"]or{})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki]; if(str)then str=frame:preprocess(str); return str; end; return nil; end; p["StronaSubst"] = function(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame,true); local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_przestrzeni_nazw=PobierzParametr("nazwa przestrzeni nazw"); local nazwa_jednostki=PobierzParametr("nazwa jednostki"); local tab_stronasubst; if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"]; if(not tab_stronasubst)then return;end; else local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw); local nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw); local nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw); tab_stronasubst=(((tabela_listy_danych_analizy_ksiazki["StronaSubstInne"] or {})[nazwa_przestrzeni]or{})[nazwa_przestrzeni_ksiazki]or{})[nazwa_ksiazki]; if(not tab_stronasubst)then return;end; end; local pierwszy=parametry_modul["Odstępy"]{nazwa=args[1],["wewnątrz"]="tak",}; local tab_strona=tab_stronasubst[pierwszy]; if(not tab_strona)then return;end; local link=args["link"]; local czy_link=parametry_modul.CzyTak(link); local stronasubst=tab_strona[(czy_link and "tak" or "")]; stronasubst=frame:preprocess(stronasubst); return stronasubst; end; p["CzyStronęNumerować"] = function(frame) local strona=frame.args[1]; local nazwy_modul=require("Module:Nazwy"); strona=nazwy_modul["PEŁNANAZWASTRONY"](strona); local pudelko_modul=require("Module:Pudełko"); if(strona==pudelko_modul["Strona główna tego projektu"](frame))then return; end; if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then return; end; if(mw.ustring.match(strona,"^Szablon:Strona główna/"))then return; end; local zbiory={ ["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true, ["Wikibooks:Polecane książki"]=true, ["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true, } if(zbiory[strona])then return; end; if(mw.ustring.match(strona,"^Szablon:Polecane książki/") or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/")) or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/")) )then return; end; return "tak"; end; function p.HNumer(frame) local parametry_modul=require("Module:Parametry"); local p=parametry_modul.PobierzFrameEwentualnieParent(frame); if((not p) or (not p.args[1]))then local blad_module=require("Module:Błąd"); local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); return; end; local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(p.args[1]); if(licznik>6)then local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "") ..">"..naglowek.."</h6>"; elseif(licznik<1)then local blad_module=require("Module:Błąd"); return blad_module.error{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="strong",},}; else local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") ..((parametry_modul.CzyTak(klasa)) and " class=\""..klasa.."\"" or "") ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..naglowek.."</h"..licznik..">"; end; end; function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci) local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local ksiazkowe_modul=require("Module:Książkowe"); local html_modul=require("Module:Html"); local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local uzyskana_nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local uzyskana_nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local pelna_nazwa_strony=((uzyskana_nazwa_przestrzeni~="") and (uzyskana_nazwa_przestrzeni..":") or "")..((uzyskana_nazwa_przestrzeni_ksiazki~="") and (uzyskana_nazwa_przestrzeni_ksiazki.."/") or "")..uzyskana_nazwa_ksiazki..((uzyskana_nazwa_artykulu~="")and ("/"..uzyskana_nazwa_artykulu) or ""); local args=parametry_modul.PobierzArgsParametry(frame,true); local nazwa_ksiazki;local nazwa_artykulu; if(args[1])then nazwa_artykulu=args[1]; nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; end; if(args[2])then nazwa_ksiazki=args[2]; nazwa_ksiazki=html_modul.DecodeHtml(nazwa_ksiazki,true); local techniczne_modul=require("Module:Techniczne"); nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_ksiazki,[2]=pelna_nazwa_strony,}; end; local nazwa_artykulu=parametry_modul.CzyTak(nazwa_artykulu) and nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](pelna_nazwa_strony); local czy_nazwa_ksiazki=parametry_modul.CzyTak(nazwa_ksiazki); local podana_nazwa_przestrzeni_nazw=czy_nazwa_ksiazki and (nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki)) or ksiazkowe_modul["NazwaPrzestrzeni"](pelna_nazwa_strony); local podana_nazwa_jednostki=czy_nazwa_ksiazki and (nazwy_modul["NAZWAKSIĄŻKI"](nazwa_ksiazki)..((nazwa_artykulu~="")and ("/"..nazwa_artykulu) or "")) or ksiazkowe_modul["NazwaArtykułu"](pelna_nazwa_strony); local args_nowe={ ["nazwa przestrzeni nazw"] = podana_nazwa_przestrzeni_nazw, ["nazwa jednostki"] = podana_nazwa_jednostki, }; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu{args=args_nowe}; stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu{args=args_nowe}; local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu{args=args_nowe}; local self_zmienna,tabela_listy_danych_analizy_ksiazki=stronicowyparser_potrzebne_modul:Self(); if((not tab_lista_zmiennych_w_artykule)and(not tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza))then local blad_modul=require("Module:Błąd"); return blad_modul.error{tab="span",tekst="Nie znalazłem takiej książki."}; end; local czy_nie_aktualny=( (self_zmienna.nazwa_przestrzeni_podana~=self_zmienna.nazwa_przestrzeni) or(self_zmienna.nazwa_przestrzeni_woluminu_podana~=self_zmienna.nazwa_przestrzeni_woluminu) or(self_zmienna.nazwa_woluminu_podana~=self_zmienna.nazwa_woluminu) or (self_zmienna.nazwa_podstrony_woluminu_podana~=self_zmienna.nazwa_podstrony_woluminu) ); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tab_lista_zmiennych_w_artykule and tab_lista_zmiennych_w_artykule.TOC or nil)) then local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tab_lista_zmiennych_w_artykule.TOC, czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; elseif(not gdy_pusty_spis_tresci)then local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; end; end; p["WykazModułówKsiążki"]=function(frame,czy_rozciagnij) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_artykulow_w_ksiazce)then return nil;end; local self_zmienna=stronicowyparser_potrzebne_modul:Self(); local nazwa_ksiazki=self_zmienna.nazwa_woluminu; local nazwa_przestrzeni_ksiazki=self_zmienna.nazwa_przestrzeni_woluminu; local nazwa_przestrzeni=self_zmienna.nazwa_przestrzeni; local parametry_modul=require("Module:Parametry"); local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]); local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]); local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]); local artykul=frame.args["artykuł"]; local wysokosc=frame.args["wysokość"]; local szerokosc=frame.args["szerokość"]; local wykaz_modulow_w_liscie=""; local czy_spis_tresci=nil; local i=1; local czy_spisy=nil; for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local czy_nienilowy_rozdzial=tab_lista[1][2][1]; local poziom_rozdzialu=czy_nienilowy_rozdzial or 0; if((artykul)and(poziom_rozdzialu==1))then if(((m==1)and(not czy_spisy))or((m>1)and(czy_spisy)))then local spis=tab_lista[1]["spis"]; if(spis)then if(not czy_spis_tresci)then local spis_tresci_dany=spis[1]; czy_spis_tresci=(artykul==spis_tresci_dany); czy_spisy=true; else break; end; else local dodatkowe=tab_lista[1]["dodatkowe"]; if(dodatkowe)then break; end; end; end; end; if((not artykul)or((artykul)and((not czy_spisy)or((czy_spisy)and(czy_spis_tresci)))))then if(tab_lista[2])then for _,tab_pozycja in ipairs(tab_lista[2])do local sformatowana_nazwa_artykulu; local nazwa; if(type(tab_pozycja[1])~="table")then sformatowana_nazwa_artykulu=mw.ustring.gsub(tab_pozycja[1],"_"," "); nazwa=sformatowana_nazwa_artykulu; else sformatowana_nazwa_artykulu=mw.ustring.gsub(tab_pozycja[1][1],"_"," "); nazwa=tab_pozycja[1][2] or sformatowana_nazwa_artykulu; end; local id=tab_pozycja[4] if(not tylko_naglowki or id)then if(not spis_ksiazkowy)then wykaz_modulow_w_liscie=((wykaz_modulow_w_liscie~="") and (wykaz_modulow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..nazwa..'</span>]]</li>'; else wykaz_modulow_w_liscie=((wykaz_modulow_w_liscie~="") and (wykaz_modulow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/") or "#")..sformatowana_nazwa_artykulu.."|"..nazwa.."]]|"..i.."|100%}}"; end; i=i+1; end; end; end; end; end; if(wykaz_modulow_w_liscie=="")then return nil;end; if(not spis_ksiazkowy)then wykaz_modulow_w_liscie="<ul>"..wykaz_modulow_w_liscie.."</ul>"; wykaz_modulow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or (szerokosc or "auto"))..';box-sizing:border-box;max-width:100%;font-size:0.875rem;line-height:1.2;background-color:white;|styl nagłówka=background-color:white;|styl komórki=background-color:white;padding:0;|styl tytułu=font-size:0.875rem;line-height:1.2;text-align:left;white-space:nowrap;box-sizing:border-box;|tytuł=Wykaz modułów w książce|klasa spisu=toc_ogólnie_spis toc_wykaz|styl spisu=width:100%;box-sizing:border-box;max-height:25rem;overflow:auto;padding: 0.1875em 0.3125em;|spis='..wykaz_modulow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}'; else wykaz_modulow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:0.625rem;width:"..(czy_rozciagnij and "100%" or (szerokosc or "auto"))..";max-width:100%;box-sizing:border-box;background-color:white;\">"..wykaz_modulow_w_liscie.."</div>"; end; local rozwiniety_wikikod=frame:preprocess(wykaz_modulow_w_liscie); return rozwiniety_wikikod; end; p["NazwaAktualnyModuł"]=function() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np'); local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; if(nazwa_artykulu==nil)then return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]"; else return nazwa_artykulu; end; end; p["WstępDoLicencji"]=function(frame) local element_licencji_1='<span class="autor"><strong class="autor-temat">Autor:</strong> <span class="autor-treść">'..frame.args[1]..'</span></span><BR>'; local element_licencji_2; if((frame.args[2]~='')and(frame.args[2]~=nil))then element_licencji_2='<span class="szkoły">'..frame.args[2]..'</span><BR>'; end; local element_licencji_3; if((frame.args[3]~='')and(frame.args[3]~=nil))then element_licencji_3='<span class="email"><strong class="email-temat">Email:</strong> <span class="email-treść">'..frame.args[3]..'</span></span><BR>'; end; local element_licencji_4; if((frame.args[4]~='')and(frame.args[4]~=nil))then element_licencji_4='<span class="dotyczy"><strong class="dotyczy-temat">Dotyczy:</strong> <span class="dotyczy-treść">'..frame.args[4].."</span></span><BR>"; else element_licencji_4='<span class="dotyczy"><strong class="dotyczy-temat">Dotyczy:</strong> <span class="dotyczy-treść">książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.</span></span><BR>'; end; local element_licencji_5; if((frame.args[5]~='')and(frame.args[5]~=nil))then element_licencji_5='<span class="licencjonowanie">'..frame.args[5].."</span><BR>"; else element_licencji_5='<span class="licencjonowanie">Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.</span><BR>'; end; local element_licencji_6; if((frame.args[6]~='')and(frame.args[6]~=nil))then element_licencji_6='<span class="umowa-prawna"><strong class="umowa-prawna-temat">Umowa prawna:</strong> <span class="umowa-prawna-treść">'..frame.args[6]..'</span></span><BR>'; else element_licencji_6='<span class="umowa-prawna"><strong class="umowa-prawna-temat">Umowa prawna:</strong> <span class="umowa-prawna-treść">[http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa, na tych samych warunkach, z możliwością obowiązywania dodatkowych ograniczeń].</span></span><BR>'; end; local element_licencji_7; if((frame.args[7]~='')and(frame.args[7]~=nil))then element_licencji_7='<span class="konsekwencje">'..frame.args[7].."</span><BR>"; else element_licencji_7='<span class="konsekwencje">Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce, nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji, niezależnie czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.</span><BR>'; end; local licencja='<span class="licencja-książki">'..element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "") ..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7..'</span>'; return licencja; end; function p.Licencja(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local menu_z_licencja; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki].licencja; if(licencja)then if(licencja[1])then local frame={}; frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]}; local ramka_z_licencja=p["WstępDoLicencji"](frame); menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:0.875rem;line-height:1.2;box-sizing:border-box;background-color:white;|styl nagłówka=background-color:white;|styl komórki=background-color:white;padding:0;|styl tytułu=font-size:0.875rem;line-height:1.2;text-align:left;white-space:nowrap;box-sizing:border-box;|tytuł=Licencja|styl spisu=margin-left:0px;padding:0.1875rem;width:100%;height:auto;box-sizing:border-box;padding: 0.1875em 0.3125em;|spis='..ramka_z_licencja..'|funkcja=PokazanaWikitabelowaListaMenu}}'; else return nil; end; local frame=mw.getCurrentFrame(); local rozwiniety_wikikod=frame:preprocess(menu_z_licencja); return rozwiniety_wikikod; else return nil; end; end; function p.Autor(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki].licencja; if(tabela_listy_danych_analizy_ksiazki.licencja)then if(licencja and licencja[1])then return licencja[1]; end; end; end; p["NazwaLicencjaWykazSpisTreściModułuKsiążki"]=function(frame) local prawe_menu=""; local parametry_modul=require("Module:Parametry"); local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"]) if(parametry_modul.CzyTak(frame.args[1]))then prawe_menu='<div style="margin-top:0.3125rem;font-size:1.9em;line-height:1.5625rem;text-align:left;">'..p["NazwaAktualnyModuł"]()..'</div><hr class=\"pierwsza_strona_spis_treści-hr\"/>'; end; if(parametry_modul.CzyTak(frame.args[2]))then local licencja=p.Licencja(frame,czy_rozciagnij); if(licencja~=nil)then prawe_menu=prawe_menu..licencja; else local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local uchwyt_strony=mw.title.getCurrentTitle(); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników" or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu" or "na stronach głównych, publikacji"))); local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or ""; prawe_menu=prawe_menu..kategoria_braku_licencji; end; end; if(parametry_modul.CzyTak(frame.args[3]))then local wykaz_artykulow=p["WykazModułówKsiążki"](frame,czy_rozciagnij); if(wykaz_artykulow~=nil)then prawe_menu=prawe_menu.."<hr class=\"pierwsza_strona_spis_treści-hr\"/>"..wykaz_artykulow; end; end; if(parametry_modul.CzyTak(frame.args[4]))then local spis_tresci=p.TOC(frame,czy_rozciagnij,true); if(spis_tresci~=nil)then prawe_menu=prawe_menu.."<hr class=\"pierwsza_strona_spis_treści-hr\"/><div class=\"pierwsza_strona_spis_treści\">"..spis_tresci.."</div>"; end; end; local wysokosc=frame.args["wysokość"]; return "<div style=\"padding:0.3125rem;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:43.75rem;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;width:100%;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>"; end; p["SpisTreści"]=function(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame); local nazwa_artykulu=args["artykuł"] or args[1] or "Przykładowy artykuł"; local nazwa_ksiazki=args["książka"] or args[2]; local czy_analiza=parametry_modul.CzyTak(args["analiza"]); local czy_specjalne=parametry_modul.CzyTak(args["specjalne"]); local czy_parser=parametry_modul.CzyTak(args["parser"]); local dokumentacja=args["dokumentacja"]; local czy_dokumentacja=parametry_modul.CzyTak(dokumentacja); local czy_math=parametry_modul.CzyTak(args["wzory"]); local czy_math_analiza=parametry_modul.CzyTak(args["wzory-analiza"]); local czy_bez_przypisow=parametry_modul.CzyTak(args["bez przypisów"]); if(not dokumentacja)then czy_dokumentacja=czy_analiza or czy_specjalne or czy_parser; end local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; if(not parametry_modul.CzyTak(nazwa_ksiazki))then local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local uzyskana_nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~="") and (uzyskana_nazwa_przestrzeni..":") or "")..((uzyskana_nazwa_przestrzeni_ksiazki~="") and (uzyskana_nazwa_przestrzeni_ksiazki.."/") or "")..uzyskana_nazwa_ksiazki; end; local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil); if(brak~=nil)then local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu," or "stron,"))); return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]"; end; local html_modul=require("Module:Html"); local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_modulu=nazwy_modul["NazwaModułu"](tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni,tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu); local techniczne_modul=require("Module:Techniczne"); nazwa_ksiazki=html_modul.DecodeHtml(nazwa_ksiazki,true); nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_ksiazki,[2]=nazwa_modulu,}; local nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; local pelna_nazwa_strony=((not nazwa_artykulu) or (nazwa_artykulu==""))and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local strona=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_strony); if(strona)then pelna_nazwa_strony=strona; nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony); else nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony); end; local szablonowe_modul=require("Module:Szablonowe"); local tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony; local pelna_nazwa_strony_szablonowa=szablonowe_modul["SzablonowaKompletnaNazwaStrony"](pelna_nazwa_strony,nil,nil); if((czy_analiza)or(czy_parser))then tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,false); else tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,not czy_dokumentacja); if(tekst_artykulu)then if(czy_dokumentacja)then tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony=szablonowe_modul:UzyskiwanieTablicyKodowaniaIOpcjiParametrowychSzablonowychDlaStrony(pelna_nazwa_strony); else tekst_artykulu,tablica_obiektow_strony_dany_modul_uzyskany=szablonowe_modul:KodujWzoryMatematyczneTekstu(tekst_artykulu); if((not czy_math)and(not czy_math_analiza))then tablica_obiektow_strony_dany_modul_uzyskany=nil; end; end; end; end; local nazwa=args["nazwa"] or args[3]; local czy_nazwa=parametry_modul.CzyTak(nazwa); local nazwa_strony_artykulu=czy_nazwa and nazwa or nazwa_artykulu; local dodatek=args["dodatek"] or args[4]; local poziom=tonumber(args["poziom"]) or 6; local FuncNaglowek=function(czy_red) local id_alternatywne=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony); local nazwa_optymalizowane=czy_nazwa and (parametry_modul["Odstępy"]{[1]=nazwa,[2]="tak",}) or nil; local czy_inne_id=(czy_nazwa and (nazwa_optymalizowane~=id_alternatywne)); local dodatek_id=((parametry_modul.CzyTak(dodatek)) and (" "..dodatek) or ""); local tab_atrybuty={["id"]=((czy_nazwa and nazwa or id_alternatywne)..dodatek_id),}; local rozdzial=(czy_inne_id and ("<span id=\""..id_alternatywne.."\" class=\"SpisTreści-nazwa\">") or "")..(czy_red and ("<span style=\"color:red\">") or "").."[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(czy_red and ("</span>") or "")..dodatek_id..(czy_inne_id and ("</span>") or ""); local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local naglowek=stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstuHn(rozdzial,poziom,tab_atrybuty); return naglowek; end; if(not tekst_artykulu)then if(nazwa_artykulu~="")then return FuncNaglowek(true); else local blad_modul=require("Module:Błąd"); return blad_modul.error{args={[1]="Wywołano szablon z argumentem pierwszym pustym.",tag="span",}}; end; else local twor_spisu_tresci=FuncNaglowek(false); --- local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil; if(((czy_dokumentacja)and((czy_specjalne)or(czy_parser)))or((not czy_dokumentacja)and(czy_math_analiza)))then tekst_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_artykulu,pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,tablica_obiektow_strony_dany_modul_uzyskany); end; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local ulozenia_w_menu_spisu_tresci=stronicowyparser_glownafunkcjazbieraniadanych_modul:SpisRzeczyWedlePodanegoTekstu(tekst_artykulu,pelna_nazwa_strony,nil,nil,nil, tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni, tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu, tabela_listy_danych_analizy_ksiazki.nazwa_woluminu, nazwa_artykulu, pelna_nazwa_strony,pelna_nazwa_strony_szablonowa,tablica_obiektow_strony_dany_modul_uzyskany or {},nil,tablica_obiektow_strony_danych_kodow_specjalnych_modul,nil,true); local atrybuty="style=\"margin-left:20px\""; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local toc=stronicowyparser_potrzebne_modul.TOCSilnik(frame,ulozenia_w_menu_spisu_tresci, atrybuty,czy_bez_przypisow); local limit=args["limit"]; local czy_limit=parametry_modul.CzyTak(limit); toc=toc and frame:preprocess(toc) or nil; return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>'; end; end; local function IteratorFunkcja() local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tabela_wypowiedzi=obiekty_modul.tablica_obiektowych_form; local licznik=1; return function() local tabela_obiektu=tabela_wypowiedzi[licznik]; if(not tabela_obiektu)then return nil;end; local wartosc1=tabela_obiektu[1]; local wartosc2=tabela_obiektu[4]; licznik=licznik+1; return wartosc1,wartosc2; end; end; local iterator=IteratorFunkcja(); for nazwa_obiektu,czesc_nazwy_funkcji in iterator do p["Numer"..czesc_nazwy_funkcji] = function(frame) local stronicowyparser_numerobiektu_modul=require("Module:StronicowyParser/NumerObiektu"); return stronicowyparser_numerobiektu_modul.NumerObiektu(frame,nazwa_obiektu); end; end; p["AnalizujSzablonemStronicowymArtykuł"]=function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; return ""; end; function p.formatowanie() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; return tabela_listy_danych_analizy_ksiazki.formatowanie; end; function p.StronaZeSzablonemStronaStart() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych; return tabela_listy_danych_analizy_ksiazki.strona_ze_szablonem_strona_start; end; function p.WstawKategorie(frame) local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie"); return stronicowyparser_kategorie_modul.WstawKategorie(frame); end; function p.CzyStronaSubst(frame,czy_wymusic) if(czy_wymusic)then local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu(frame); local spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu(frame); if(not tab_lista_zmiennych_w_artykule)then return nil;end; return tab_lista_zmiennych_w_artykule.strona_zbiorcza; end; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then return "tak"; end; end; p["CzyArtykułKsiążki"]=function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; if(tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then return "tak"; end; end; return p; oojia4gzdapf3pqxkx8v130szagi9ft Szablon:StronaStart/stronastart.css 10 58549 559143 558793 2026-10-11T19:14:46Z Persino 2851 559143 sanitized-css text/css body.skin--responsive .strona_start{ font-size:1rem; line-height:1.4; } body:not(.skin--responsive) .strona_start{ font-size:16px; line-height:1.4; } .strona_prawa .spis{ display:flex; flex-direction:column; width:100%; } .strona_prawa .spis > div, .strona_prawa .spis > div > div{ height:auto; max-height:100%; } .strona_prawa .spis > div, .strona_prawa .spis > div > div{ height:auto; max-height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; } .strona_prawa .spis .style_strony_bocznego_menu, .strona_prawa .spis .style_strony_TOC{ overflow:auto; } @media all and (max-width:745px){ .strona_prawa .spis > div, .strona_prawa .spis > div > div{ width:100% !important; } } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(calc(-1*((1 - 0.3)/2/0.3)*100%),calc(-1*((1 - 0.3)/2/0.3)*100%)); /**/ transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:43.75rem !important; transform: scale(1,1) translate(0,0); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:0.3125rem; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:0.3125rem; margin-bottom:0.3125rem; } .strona_prawa .pierwsza_strona hr.pierwsza_strona_spis_treści-hr{ height: 1px; background-color: var(--border-color-base,#a2a9b1); border: 0; margin: 0.2em 0; } .strona_prawa .pierwsza_strona .pierwsza_strona_spis_treści{ font-size:0.875rem; line-height:1.2; } .strona_prawa .pierwsza_strona .email{ word-wrap: break-word; word-break: break-all; hyphens: none; } .strona_start.tło_strona_start, .strona_start .tło_strona_nadrzędna, .strona_start .tło_główna_strona, .strona_start .tło_strona_środkowa, .strona_start .tło_strona, .strona_start .tło_ciało_kontener, .strona_start .tło_ciało_strona{ background-color:white; background-image: none; } .strona_prawa .nawigacja_boksy > .mw-optimal-x > div{ margin-top:0 !important; margin-bottom:0.3125rem !important; margin-left:0.3125rem !important; margin-right:0 !important; } .strona_lewa .nawigacja_boksy > .mw-optimal-x > div{ margin-top:0 !important; margin-bottom:0.3125rem !important; margin-right:0.3125rem !important; margin-left:0 !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(116.5%,-116.5%); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-116.5%,-116.5%); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 0.3125rem ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( 100% - 0.3125rem ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-sticky-y > .style_strony_TOC, html.client-nojs .strona_prawa .mw-sticky-y > .style_strony_bocznego_menu{ overflow:auto; padding-bottom:0.3125rem; } .strona_prawa .mw-sticky-y > .style_strony_TOC > .strona_spisu_treści, .strona_prawa .mw-sticky-y > .style_strony_bocznego_menu > div{ flex:0 0 auto; } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:0.3125rem !important; visibility:visible !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( 100% - 0.3125rem ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 0.3125rem ) !important; } body.skin-minerva .strona_start{ margin-top:0.25rem !important; } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_lewa .mw-optimal-x > div, .strona_prawa .mw-optimal-x > div{ flex:0 0 auto; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } /**/ .strona > div > .ciało_kontener > .ciało_strona > :last-child.noprint > p:last-child{ margin-bottom:0 !important; padding-bottom:0 !important; } .strona > div:not(:only-child) > .ciało_kontener > *:nth-child(2) > .noprint > p:last-child, .strona > div > .ciało_kontener:not(:only-child) > *:nth-child(2) > .noprint > p:last-child{ margin-bottom:0 !important; padding-bottom:0 !important; } .strona > div > .ciało_kontener > :nth-child(2):not(:empty) + .ciało_strona, .strona > div:not(:only-child) > .ciało_kontener > .ciało_strona, .strona > div > .ciało_kontener:not(:only-child) > .ciało_strona{ padding-bottom:0 !important; } .strona > div > .ciało_kontener > *:nth-child(1) > :not(style):not(link){ margin-top:0.625rem; } .strona > div > .ciało_kontener > *:nth-child(1) > :not(style):not(link) + :not(style):not(link){ margin-top:initial; } .strona > div > .ciało_kontener > *:nth-child(2) > :not(.nawigacja):not(.nawigacja-dół):last-child{ margin-bottom:0.625rem; } .strona > *:not(:first-child), .strona > div > *:not(:first-child){ margin-left:0.5rem; margin-right:0.5rem; } .strona > *:nth-child(2), .strona > div > *:nth-child(2){ margin-top:0.25rem; margin-bottom:0.125rem; } .strona > *:not(:nth-child(2)):not(:first-child), .strona > div > *:not(:nth-child(2)):not(:first-child){ margin-top:0.125rem; margin-bottom:0.125rem; } .strona > *:last-child:not(:first-child), .strona > div > *:last-child:not(:first-child){ margin-top:0.125rem; margin-bottom:0.5rem; } /**/ .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > div > .ciało_kontener > .ciało_strona > p:first-child{ margin-top:0; } .strona > div > .ciało_kontener > .ciało_strona > p:not(.br-clear):last-child{ margin-bottom:0; } .strona > div > .ciało_kontener > .ciało_strona > div.nawigacja.nawigacja-dół{ margin-top:0.5rem !important; } .strona > div > .ciało_kontener.mw-scrollbar-overflow-x{ padding-bottom:0.3125rem; } .strona > div > .ciało_kontener.mw-scrollbar-overflow-y{ padding-right:0.3125rem; } :not(style):not(link) ~ .strona_start{ margin-top:0.3125rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table{ margin-top:0 !important; margin-bottom:0.3125rem !important; } .strona_start.niekolumnowy > div.mójNagłówek > div:last-child, .strona_start.kolumnowy > .strona_nadrzędna > div.mójNagłówek > div:last-child{ margin-bottom:0 !important; } @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table{ margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne{ max-width:100vw !important; min-width:auto !important; width:100% !important; } .strona_start.kolumnowy.mobilne div > .ciało_kontener > *{ min-width:100% !important; max-width:100% !important; width:100% !important; } .strona_start.kolumnowy.mobilne .strona{ overflow:hidden !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div.mójNagłówek > div:last-child{ margin-bottom:0 !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div.mójNagłówek{ margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2), .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table{ max-width:none !important; width:100% !important; margin-left:0 !important; margin-right:0 !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tr > td:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tbody > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tbody > tr > td:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tr > td:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tbody > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tbody > tr > td:last-child{ font-size:0.80rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona{ flex-wrap: wrap; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div{ position:static !important; margin-left:0 !important; margin-right:0 !important; margin-top:0 !important; margin-bottom:0 !important; transition:none !important; transform:none !important; visibility:visible !important; min-width:auto !important; max-width:100vw !important; width:100% !important; box-sizing:border-box !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy > .mw-optimal-x{ transition:none !important; transform:none !important; position:static !important; margin-left:0 !important; float:none !important; clear:none !important; max-width:100% !important; width:100% !important; box-sizing:border-box; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy > .mw-optimal-x > div{ width:100% !important; box-sizing:border-box; margin: 0 !important; margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy > .mw-optimal-x > div > div:last-child{ font-size:0.80rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_lewa{ order:1 !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa{ order:2 !important; display:flex; flex-direction:column; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > .kontener_spis_treści a.zaznaczone, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > div > .pierwsza_strona > div tr:last-child > td > div.toc_ogólnie_spis a.zaznaczone, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > .strona_spisu_treści > .toc_wykaz a.zaznaczone{ color: #3366cc !important; font-weight: normal !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_środkowa{ order:3 !important; width:100%; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy{ order:1; height:auto !important; max-height:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y{ order:2; height:100% !important; max-height:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > div{ width:100% !important; box-sizing:border-box !important; margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > div > .pierwsza_strona > div tr:last-child > td > div.toc_ogólnie_spis{ max-height:100% !important; overflow:visible !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y .toc_spis{ overflow:visible !important; width:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_środkowa > .strona{ min-width:auto !important; max-width:100vw !important; width:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_środkowa > .menu{ display:none !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > .style_strony_TOC:only-child > .kontener_spis_treści{ margin-top:0 !important; margin-bottom:0 !important; } } @media all{ .strona_start.niekolumnowy > .mójNagłówek, .strona_start.niekolumnowy > div:first-child:not(.mójNagłówek) > .rozdział, .strona_start.kolumnowy > .strona_nadrzędna > .mójNagłówek, .strona_start.kolumnowy > .strona_nadrzędna > div:first-child:not(.mójNagłówek) > .rozdział{ margin-top:0 !important; } .strona_start.niekolumnowy > .mójNagłówek, .strona_start.niekolumnowy > div:first-child:not(.mójNagłówek) > *, .strona_start.kolumnowy > .strona_nadrzędna > .mójNagłówek, .strona_start.kolumnowy > .strona_nadrzędna > div:first-child:not(.mójNagłówek) > *{ margin-top:0 !important; margin-bottom:0.25rem !important; } } @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ .strona_start.niekolumnowy.mobilne > .strona{ max-width:100vw !important; min-width:auto !important; width:100% !important; overflow:auto !important; } .strona_start.niekolumnowy.mobilne > .strona .ciało_kontener > *{ min-width:auto !important; max-width:100% !important; width:100% !important; box-sizing:border-box; } } /*{{Kategoria|Szablony - arkusze stylów/StronaStart}}*/ rchcr7c4p2oyh9rc83otf9c5g9seqs7 559147 559143 2026-10-11T19:41:18Z Persino 2851 559147 sanitized-css text/css body.skin--responsive .strona_start{ font-size:1rem; line-height:1.4; } body:not(.skin--responsive) .strona_start{ font-size:16px; line-height:1.4; } .strona_prawa .spis{ display:flex; flex-direction:column; width:100%; } .strona_prawa .spis > div, .strona_prawa .spis > div > div{ height:auto; max-height:100%; } .strona_prawa .spis > div, .strona_prawa .spis > div > div{ height:auto; max-height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; } .strona_prawa .spis .style_strony_bocznego_menu, .strona_prawa .spis .style_strony_TOC{ overflow:auto; } @media all and (max-width:745px){ .strona_prawa .spis > div, .strona_prawa .spis > div > div{ width:100% !important; } } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(calc(-1*((1 - 0.3)/2/0.3)*100%),calc(-1*((1 - 0.3)/2/0.3)*100%)); /**/ transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:43.75rem !important; transform: scale(1,1) translate(0,0); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:0.3125rem; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:0.3125rem; margin-bottom:0.3125rem; } .strona_prawa .pierwsza_strona hr.pierwsza_strona_spis_treści-hr{ height: 1px; background-color: var(--border-color-base,#a2a9b1); border: 0; margin: 0.2em 0; } .strona_prawa .pierwsza_strona .pierwsza_strona_spis_treści{ font-size:0.875rem; line-height:1.2; } .strona_prawa .pierwsza_strona .licencja-książki > .email > .email-treść{ word-wrap: break-word; word-break: break-all; hyphens: none; } .strona_start.tło_strona_start, .strona_start .tło_strona_nadrzędna, .strona_start .tło_główna_strona, .strona_start .tło_strona_środkowa, .strona_start .tło_strona, .strona_start .tło_ciało_kontener, .strona_start .tło_ciało_strona{ background-color:white; background-image: none; } .strona_prawa .nawigacja_boksy > .mw-optimal-x > div{ margin-top:0 !important; margin-bottom:0.3125rem !important; margin-left:0.3125rem !important; margin-right:0 !important; } .strona_lewa .nawigacja_boksy > .mw-optimal-x > div{ margin-top:0 !important; margin-bottom:0.3125rem !important; margin-right:0.3125rem !important; margin-left:0 !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(116.5%,-116.5%); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-116.5%,-116.5%); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 0.3125rem ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( 100% - 0.3125rem ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-sticky-y > .style_strony_TOC, html.client-nojs .strona_prawa .mw-sticky-y > .style_strony_bocznego_menu{ overflow:auto; padding-bottom:0.3125rem; } .strona_prawa .mw-sticky-y > .style_strony_TOC > .strona_spisu_treści, .strona_prawa .mw-sticky-y > .style_strony_bocznego_menu > div{ flex:0 0 auto; } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:0.3125rem !important; visibility:visible !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( 100% - 0.3125rem ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 0.3125rem ) !important; } body.skin-minerva .strona_start{ margin-top:0.25rem !important; } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_lewa .mw-optimal-x > div, .strona_prawa .mw-optimal-x > div{ flex:0 0 auto; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } /**/ .strona > div > .ciało_kontener > .ciało_strona > :last-child.noprint > p:last-child{ margin-bottom:0 !important; padding-bottom:0 !important; } .strona > div:not(:only-child) > .ciało_kontener > *:nth-child(2) > .noprint > p:last-child, .strona > div > .ciało_kontener:not(:only-child) > *:nth-child(2) > .noprint > p:last-child{ margin-bottom:0 !important; padding-bottom:0 !important; } .strona > div > .ciało_kontener > :nth-child(2):not(:empty) + .ciało_strona, .strona > div:not(:only-child) > .ciało_kontener > .ciało_strona, .strona > div > .ciało_kontener:not(:only-child) > .ciało_strona{ padding-bottom:0 !important; } .strona > div > .ciało_kontener > *:nth-child(1) > :not(style):not(link){ margin-top:0.625rem; } .strona > div > .ciało_kontener > *:nth-child(1) > :not(style):not(link) + :not(style):not(link){ margin-top:initial; } .strona > div > .ciało_kontener > *:nth-child(2) > :not(.nawigacja):not(.nawigacja-dół):last-child{ margin-bottom:0.625rem; } .strona > *:not(:first-child), .strona > div > *:not(:first-child){ margin-left:0.5rem; margin-right:0.5rem; } .strona > *:nth-child(2), .strona > div > *:nth-child(2){ margin-top:0.25rem; margin-bottom:0.125rem; } .strona > *:not(:nth-child(2)):not(:first-child), .strona > div > *:not(:nth-child(2)):not(:first-child){ margin-top:0.125rem; margin-bottom:0.125rem; } .strona > *:last-child:not(:first-child), .strona > div > *:last-child:not(:first-child){ margin-top:0.125rem; margin-bottom:0.5rem; } /**/ .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > div > .ciało_kontener > .ciało_strona > p:first-child{ margin-top:0; } .strona > div > .ciało_kontener > .ciało_strona > p:not(.br-clear):last-child{ margin-bottom:0; } .strona > div > .ciało_kontener > .ciało_strona > div.nawigacja.nawigacja-dół{ margin-top:0.5rem !important; } .strona > div > .ciało_kontener.mw-scrollbar-overflow-x{ padding-bottom:0.3125rem; } .strona > div > .ciało_kontener.mw-scrollbar-overflow-y{ padding-right:0.3125rem; } :not(style):not(link) ~ .strona_start{ margin-top:0.3125rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table{ margin-top:0 !important; margin-bottom:0.3125rem !important; } .strona_start.niekolumnowy > div.mójNagłówek > div:last-child, .strona_start.kolumnowy > .strona_nadrzędna > div.mójNagłówek > div:last-child{ margin-bottom:0 !important; } @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table{ margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne{ max-width:100vw !important; min-width:auto !important; width:100% !important; } .strona_start.kolumnowy.mobilne div > .ciało_kontener > *{ min-width:100% !important; max-width:100% !important; width:100% !important; } .strona_start.kolumnowy.mobilne .strona{ overflow:hidden !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div.mójNagłówek > div:last-child{ margin-bottom:0 !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div.mójNagłówek{ margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2), .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table{ max-width:none !important; width:100% !important; margin-left:0 !important; margin-right:0 !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tr > td:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tbody > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tbody > tr > td:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tr > td:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tbody > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tbody > tr > td:last-child{ font-size:0.80rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona{ flex-wrap: wrap; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div{ position:static !important; margin-left:0 !important; margin-right:0 !important; margin-top:0 !important; margin-bottom:0 !important; transition:none !important; transform:none !important; visibility:visible !important; min-width:auto !important; max-width:100vw !important; width:100% !important; box-sizing:border-box !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy > .mw-optimal-x{ transition:none !important; transform:none !important; position:static !important; margin-left:0 !important; float:none !important; clear:none !important; max-width:100% !important; width:100% !important; box-sizing:border-box; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy > .mw-optimal-x > div{ width:100% !important; box-sizing:border-box; margin: 0 !important; margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy > .mw-optimal-x > div > div:last-child{ font-size:0.80rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_lewa{ order:1 !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa{ order:2 !important; display:flex; flex-direction:column; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > .kontener_spis_treści a.zaznaczone, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > div > .pierwsza_strona > div tr:last-child > td > div.toc_ogólnie_spis a.zaznaczone, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > .strona_spisu_treści > .toc_wykaz a.zaznaczone{ color: #3366cc !important; font-weight: normal !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_środkowa{ order:3 !important; width:100%; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy{ order:1; height:auto !important; max-height:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y{ order:2; height:100% !important; max-height:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > div{ width:100% !important; box-sizing:border-box !important; margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > div > .pierwsza_strona > div tr:last-child > td > div.toc_ogólnie_spis{ max-height:100% !important; overflow:visible !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y .toc_spis{ overflow:visible !important; width:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_środkowa > .strona{ min-width:auto !important; max-width:100vw !important; width:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_środkowa > .menu{ display:none !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > .style_strony_TOC:only-child > .kontener_spis_treści{ margin-top:0 !important; margin-bottom:0 !important; } } @media all{ .strona_start.niekolumnowy > .mójNagłówek, .strona_start.niekolumnowy > div:first-child:not(.mójNagłówek) > .rozdział, .strona_start.kolumnowy > .strona_nadrzędna > .mójNagłówek, .strona_start.kolumnowy > .strona_nadrzędna > div:first-child:not(.mójNagłówek) > .rozdział{ margin-top:0 !important; } .strona_start.niekolumnowy > .mójNagłówek, .strona_start.niekolumnowy > div:first-child:not(.mójNagłówek) > *, .strona_start.kolumnowy > .strona_nadrzędna > .mójNagłówek, .strona_start.kolumnowy > .strona_nadrzędna > div:first-child:not(.mójNagłówek) > *{ margin-top:0 !important; margin-bottom:0.25rem !important; } } @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ .strona_start.niekolumnowy.mobilne > .strona{ max-width:100vw !important; min-width:auto !important; width:100% !important; overflow:auto !important; } .strona_start.niekolumnowy.mobilne > .strona .ciało_kontener > *{ min-width:auto !important; max-width:100% !important; width:100% !important; box-sizing:border-box; } } /*{{Kategoria|Szablony - arkusze stylów/StronaStart}}*/ kwpilyk7cc0p1n5dq5dh9n9aaf659ji 559148 559147 2026-10-11T19:56:52Z Persino 2851 559148 sanitized-css text/css body.skin--responsive .strona_start{ font-size:1rem; line-height:1.4; } body:not(.skin--responsive) .strona_start{ font-size:16px; line-height:1.4; } .strona_prawa .spis{ display:flex; flex-direction:column; width:100%; } .strona_prawa .spis > div, .strona_prawa .spis > div > div{ height:auto; max-height:100%; } .strona_prawa .spis > div, .strona_prawa .spis > div > div{ height:auto; max-height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; } .strona_prawa .spis .style_strony_bocznego_menu, .strona_prawa .spis .style_strony_TOC{ overflow:auto; } @media all and (max-width:745px){ .strona_prawa .spis > div, .strona_prawa .spis > div > div{ width:100% !important; } } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(calc(-1*((1 - 0.3)/2/0.3)*100%),calc(-1*((1 - 0.3)/2/0.3)*100%)); /**/ transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:43.75rem !important; transform: scale(1,1) translate(0,0); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:0.3125rem; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:0.3125rem; margin-bottom:0.3125rem; } .strona_prawa .pierwsza_strona hr.pierwsza_strona_spis_treści-hr{ height: 1px; background-color: var(--border-color-base,#a2a9b1); border: 0; margin: 0.2em 0; } .strona_prawa .pierwsza_strona .pierwsza_strona_spis_treści{ font-size:0.875rem; line-height:1.2; } .strona_prawa .pierwsza_strona .licencja-książki > .email > .email-treść{ word-wrap: break-word; word-break: break-all; hyphens: none; } .strona_start.tło_strona_start, .strona_start .tło_strona_nadrzędna, .strona_start .tło_główna_strona, .strona_start .tło_strona_środkowa, .strona_start .tło_strona, .strona_start .tło_ciało_kontener, .strona_start .tło_ciało_strona{ background-color:white; background-image: none; } .strona_prawa .nawigacja_boksy > .mw-optimal-x > div{ margin-top:0 !important; margin-bottom:0.3125rem !important; margin-left:0.3125rem !important; margin-right:0 !important; } .strona_lewa .nawigacja_boksy > .mw-optimal-x > div{ margin-top:0 !important; margin-bottom:0.3125rem !important; margin-right:0.3125rem !important; margin-left:0 !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(116.5%,-116.5%); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-116.5%,-116.5%); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 0.3125rem ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( 100% - 0.3125rem ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-sticky-y > .style_strony_TOC, html.client-nojs .strona_prawa .mw-sticky-y > .style_strony_bocznego_menu{ overflow:auto; padding-bottom:0.3125rem; } .strona_prawa .mw-sticky-y > .style_strony_TOC > .strona_spisu_treści, .strona_prawa .mw-sticky-y > .style_strony_bocznego_menu > div{ flex:0 0 auto; } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:0.3125rem !important; visibility:visible !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( 100% - 0.3125rem ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 0.3125rem ) !important; } body.skin-minerva .strona_start{ margin-top:0.25rem !important; } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_lewa .mw-optimal-x > div, .strona_prawa .mw-optimal-x > div{ flex:0 0 auto; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } /**/ .strona > div > .ciało_kontener > .ciało_strona > :last-child.noprint > p:last-child{ margin-bottom:0 !important; padding-bottom:0 !important; } .strona > div:not(:only-child) > .ciało_kontener > *:nth-child(2) > .noprint p{ font-size:inherit; line-height:inherit; } .strona > div:not(:only-child) > .ciało_kontener > *:nth-child(2) > .noprint > p:last-child, .strona > div > .ciało_kontener:not(:only-child) > *:nth-child(2) > .noprint > p:last-child{ margin-bottom:0 !important; padding-bottom:0 !important; } .strona > div > .ciało_kontener > :nth-child(2):not(:empty) + .ciało_strona, .strona > div:not(:only-child) > .ciało_kontener > .ciało_strona, .strona > div > .ciało_kontener:not(:only-child) > .ciało_strona{ padding-bottom:0 !important; } .strona > div > .ciało_kontener > *:nth-child(1) > :not(style):not(link){ margin-top:0.625rem; } .strona > div > .ciało_kontener > *:nth-child(1) > :not(style):not(link) + :not(style):not(link){ margin-top:initial; } .strona > div > .ciało_kontener > *:nth-child(2) > :not(.nawigacja):not(.nawigacja-dół):last-child{ margin-bottom:0.625rem; } .strona > *:not(:first-child), .strona > div > *:not(:first-child){ margin-left:0.5rem; margin-right:0.5rem; } .strona > *:nth-child(2), .strona > div > *:nth-child(2){ margin-top:0.25rem; margin-bottom:0.125rem; } .strona > *:not(:nth-child(2)):not(:first-child), .strona > div > *:not(:nth-child(2)):not(:first-child){ margin-top:0.125rem; margin-bottom:0.125rem; } .strona > *:last-child:not(:first-child), .strona > div > *:last-child:not(:first-child){ margin-top:0.125rem; margin-bottom:0.5rem; } /**/ .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > div > .ciało_kontener > .ciało_strona > p:first-child{ margin-top:0; } .strona > div > .ciało_kontener > .ciało_strona > p:not(.br-clear):last-child{ margin-bottom:0; } .strona > div > .ciało_kontener > .ciało_strona > div.nawigacja.nawigacja-dół{ margin-top:0.5rem !important; } .strona > div > .ciało_kontener.mw-scrollbar-overflow-x{ padding-bottom:0.3125rem; } .strona > div > .ciało_kontener.mw-scrollbar-overflow-y{ padding-right:0.3125rem; } :not(style):not(link) ~ .strona_start{ margin-top:0.3125rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table{ margin-top:0 !important; margin-bottom:0.3125rem !important; } .strona_start.niekolumnowy > div.mójNagłówek > div:last-child, .strona_start.kolumnowy > .strona_nadrzędna > div.mójNagłówek > div:last-child{ margin-bottom:0 !important; } @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table{ margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne{ max-width:100vw !important; min-width:auto !important; width:100% !important; } .strona_start.kolumnowy.mobilne div > .ciało_kontener > *{ min-width:100% !important; max-width:100% !important; width:100% !important; } .strona_start.kolumnowy.mobilne .strona{ overflow:hidden !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div.mójNagłówek > div:last-child{ margin-bottom:0 !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div.mójNagłówek{ margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2), .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table{ max-width:none !important; width:100% !important; margin-left:0 !important; margin-right:0 !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tr > td:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tbody > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tbody > tr > td:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tr > td:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tbody > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tbody > tr > td:last-child{ font-size:0.80rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona{ flex-wrap: wrap; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div{ position:static !important; margin-left:0 !important; margin-right:0 !important; margin-top:0 !important; margin-bottom:0 !important; transition:none !important; transform:none !important; visibility:visible !important; min-width:auto !important; max-width:100vw !important; width:100% !important; box-sizing:border-box !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy > .mw-optimal-x{ transition:none !important; transform:none !important; position:static !important; margin-left:0 !important; float:none !important; clear:none !important; max-width:100% !important; width:100% !important; box-sizing:border-box; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy > .mw-optimal-x > div{ width:100% !important; box-sizing:border-box; margin: 0 !important; margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy > .mw-optimal-x > div > div:last-child{ font-size:0.80rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_lewa{ order:1 !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa{ order:2 !important; display:flex; flex-direction:column; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > .kontener_spis_treści a.zaznaczone, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > div > .pierwsza_strona > div tr:last-child > td > div.toc_ogólnie_spis a.zaznaczone, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > .strona_spisu_treści > .toc_wykaz a.zaznaczone{ color: #3366cc !important; font-weight: normal !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_środkowa{ order:3 !important; width:100%; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy{ order:1; height:auto !important; max-height:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y{ order:2; height:100% !important; max-height:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > div{ width:100% !important; box-sizing:border-box !important; margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > div > .pierwsza_strona > div tr:last-child > td > div.toc_ogólnie_spis{ max-height:100% !important; overflow:visible !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y .toc_spis{ overflow:visible !important; width:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_środkowa > .strona{ min-width:auto !important; max-width:100vw !important; width:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_środkowa > .menu{ display:none !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > .style_strony_TOC:only-child > .kontener_spis_treści{ margin-top:0 !important; margin-bottom:0 !important; } } @media all{ .strona_start.niekolumnowy > .mójNagłówek, .strona_start.niekolumnowy > div:first-child:not(.mójNagłówek) > .rozdział, .strona_start.kolumnowy > .strona_nadrzędna > .mójNagłówek, .strona_start.kolumnowy > .strona_nadrzędna > div:first-child:not(.mójNagłówek) > .rozdział{ margin-top:0 !important; } .strona_start.niekolumnowy > .mójNagłówek, .strona_start.niekolumnowy > div:first-child:not(.mójNagłówek) > *, .strona_start.kolumnowy > .strona_nadrzędna > .mójNagłówek, .strona_start.kolumnowy > .strona_nadrzędna > div:first-child:not(.mójNagłówek) > *{ margin-top:0 !important; margin-bottom:0.25rem !important; } } @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ .strona_start.niekolumnowy.mobilne > .strona{ max-width:100vw !important; min-width:auto !important; width:100% !important; overflow:auto !important; } .strona_start.niekolumnowy.mobilne > .strona .ciało_kontener > *{ min-width:auto !important; max-width:100% !important; width:100% !important; box-sizing:border-box; } } /*{{Kategoria|Szablony - arkusze stylów/StronaStart}}*/ fktxkad4roay3ou43xo4krb9fuaze8f 559149 559148 2026-10-11T20:13:00Z Persino 2851 559149 sanitized-css text/css body.skin--responsive .strona_start{ font-size:1rem; line-height:1.4; } body:not(.skin--responsive) .strona_start{ font-size:16px; line-height:1.4; } .strona_prawa .spis{ display:flex; flex-direction:column; width:100%; } .strona_prawa .spis > div, .strona_prawa .spis > div > div{ height:auto; max-height:100%; } .strona_prawa .spis > div, .strona_prawa .spis > div > div{ height:auto; max-height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; } .strona_prawa .spis .style_strony_bocznego_menu, .strona_prawa .spis .style_strony_TOC{ overflow:auto; } @media all and (max-width:745px){ .strona_prawa .spis > div, .strona_prawa .spis > div > div{ width:100% !important; } } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(calc(-1*((1 - 0.3)/2/0.3)*100%),calc(-1*((1 - 0.3)/2/0.3)*100%)); /**/ transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:43.75rem !important; transform: scale(1,1) translate(0,0); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:0.3125rem; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:0.3125rem; margin-bottom:0.3125rem; } .strona_prawa .pierwsza_strona hr.pierwsza_strona_spis_treści-hr{ height: 1px; background-color: var(--border-color-base,#a2a9b1); border: 0; margin: 0.2em 0; } .strona_prawa .pierwsza_strona .pierwsza_strona_spis_treści{ font-size:0.875rem; line-height:1.2; } .strona_prawa .pierwsza_strona .licencja-książki > .email > .email-treść{ word-wrap: break-word; word-break: break-all; hyphens: none; } .strona_start.tło_strona_start, .strona_start .tło_strona_nadrzędna, .strona_start .tło_główna_strona, .strona_start .tło_strona_środkowa, .strona_start .tło_strona, .strona_start .tło_ciało_kontener, .strona_start .tło_ciało_strona{ background-color:white; background-image: none; } .strona_prawa .nawigacja_boksy > .mw-optimal-x > div{ margin-top:0 !important; margin-bottom:0.3125rem !important; margin-left:0.3125rem !important; margin-right:0 !important; } .strona_lewa .nawigacja_boksy > .mw-optimal-x > div{ margin-top:0 !important; margin-bottom:0.3125rem !important; margin-right:0.3125rem !important; margin-left:0 !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(116.5%,-116.5%); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-116.5%,-116.5%); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 0.3125rem ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( 100% - 0.3125rem ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-sticky-y > .style_strony_TOC, html.client-nojs .strona_prawa .mw-sticky-y > .style_strony_bocznego_menu{ overflow:auto; padding-bottom:0.3125rem; } .strona_prawa .mw-sticky-y > .style_strony_TOC > .strona_spisu_treści, .strona_prawa .mw-sticky-y > .style_strony_bocznego_menu > div{ flex:0 0 auto; } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:0.3125rem !important; visibility:visible !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( 100% - 0.3125rem ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 0.3125rem ) !important; } body.skin-minerva .strona_start{ margin-top:0.25rem !important; } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_lewa .mw-optimal-x > div, .strona_prawa .mw-optimal-x > div{ flex:0 0 auto; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } /**/ .strona > div > .ciało_kontener > .ciało_strona > :last-child.noprint > p:last-child{ margin-bottom:0 !important; padding-bottom:0 !important; } .strona > div:not(:only-child) > .ciało_kontener > *:nth-child(2) > .noprint p, .strona > div > .ciało_kontener:not(:only-child) > *:nth-child(2) > .noprint p{ font-size:inherit; line-height:inherit; } .strona > div:not(:only-child) > .ciało_kontener > *:nth-child(2) > .noprint > p:last-child, .strona > div > .ciało_kontener:not(:only-child) > *:nth-child(2) > .noprint > p:last-child{ margin-bottom:0 !important; padding-bottom:0 !important; } .strona > div > .ciało_kontener > :nth-child(2):not(:empty) + .ciało_strona, .strona > div:not(:only-child) > .ciało_kontener > .ciało_strona, .strona > div > .ciało_kontener:not(:only-child) > .ciało_strona{ padding-bottom:0 !important; } .strona > div > .ciało_kontener > *:nth-child(1) > :not(style):not(link){ margin-top:0.625rem; } .strona > div > .ciało_kontener > *:nth-child(1) > :not(style):not(link) + :not(style):not(link){ margin-top:initial; } .strona > div > .ciało_kontener > *:nth-child(2) > :not(.nawigacja):not(.nawigacja-dół):last-child{ margin-bottom:0.625rem; } .strona > *:not(:first-child), .strona > div > *:not(:first-child){ margin-left:0.5rem; margin-right:0.5rem; } .strona > *:nth-child(2), .strona > div > *:nth-child(2){ margin-top:0.25rem; margin-bottom:0.125rem; } .strona > *:not(:nth-child(2)):not(:first-child), .strona > div > *:not(:nth-child(2)):not(:first-child){ margin-top:0.125rem; margin-bottom:0.125rem; } .strona > *:last-child:not(:first-child), .strona > div > *:last-child:not(:first-child){ margin-top:0.125rem; margin-bottom:0.5rem; } /**/ .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > div > .ciało_kontener > .ciało_strona > p:first-child{ margin-top:0; } .strona > div > .ciało_kontener > .ciało_strona > p:not(.br-clear):last-child{ margin-bottom:0; } .strona > div > .ciało_kontener > .ciało_strona > div.nawigacja.nawigacja-dół{ margin-top:0.5rem !important; } .strona > div > .ciało_kontener.mw-scrollbar-overflow-x{ padding-bottom:0.3125rem; } .strona > div > .ciało_kontener.mw-scrollbar-overflow-y{ padding-right:0.3125rem; } :not(style):not(link) ~ .strona_start{ margin-top:0.3125rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table{ margin-top:0 !important; margin-bottom:0.3125rem !important; } .strona_start.niekolumnowy > div.mójNagłówek > div:last-child, .strona_start.kolumnowy > .strona_nadrzędna > div.mójNagłówek > div:last-child{ margin-bottom:0 !important; } @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table{ margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne{ max-width:100vw !important; min-width:auto !important; width:100% !important; } .strona_start.kolumnowy.mobilne div > .ciało_kontener > *{ min-width:100% !important; max-width:100% !important; width:100% !important; } .strona_start.kolumnowy.mobilne .strona{ overflow:hidden !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div.mójNagłówek > div:last-child{ margin-bottom:0 !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div.mójNagłówek{ margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2), .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table{ max-width:none !important; width:100% !important; margin-left:0 !important; margin-right:0 !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tr > td:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tbody > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tbody > tr > td:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tr > td:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tbody > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tbody > tr > td:last-child{ font-size:0.80rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona{ flex-wrap: wrap; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div{ position:static !important; margin-left:0 !important; margin-right:0 !important; margin-top:0 !important; margin-bottom:0 !important; transition:none !important; transform:none !important; visibility:visible !important; min-width:auto !important; max-width:100vw !important; width:100% !important; box-sizing:border-box !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy > .mw-optimal-x{ transition:none !important; transform:none !important; position:static !important; margin-left:0 !important; float:none !important; clear:none !important; max-width:100% !important; width:100% !important; box-sizing:border-box; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy > .mw-optimal-x > div{ width:100% !important; box-sizing:border-box; margin: 0 !important; margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy > .mw-optimal-x > div > div:last-child{ font-size:0.80rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_lewa{ order:1 !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa{ order:2 !important; display:flex; flex-direction:column; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > .kontener_spis_treści a.zaznaczone, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > div > .pierwsza_strona > div tr:last-child > td > div.toc_ogólnie_spis a.zaznaczone, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > .strona_spisu_treści > .toc_wykaz a.zaznaczone{ color: #3366cc !important; font-weight: normal !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_środkowa{ order:3 !important; width:100%; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy{ order:1; height:auto !important; max-height:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y{ order:2; height:100% !important; max-height:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > div{ width:100% !important; box-sizing:border-box !important; margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > div > .pierwsza_strona > div tr:last-child > td > div.toc_ogólnie_spis{ max-height:100% !important; overflow:visible !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y .toc_spis{ overflow:visible !important; width:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_środkowa > .strona{ min-width:auto !important; max-width:100vw !important; width:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_środkowa > .menu{ display:none !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > .style_strony_TOC:only-child > .kontener_spis_treści{ margin-top:0 !important; margin-bottom:0 !important; } } @media all{ .strona_start.niekolumnowy > .mójNagłówek, .strona_start.niekolumnowy > div:first-child:not(.mójNagłówek) > .rozdział, .strona_start.kolumnowy > .strona_nadrzędna > .mójNagłówek, .strona_start.kolumnowy > .strona_nadrzędna > div:first-child:not(.mójNagłówek) > .rozdział{ margin-top:0 !important; } .strona_start.niekolumnowy > .mójNagłówek, .strona_start.niekolumnowy > div:first-child:not(.mójNagłówek) > *, .strona_start.kolumnowy > .strona_nadrzędna > .mójNagłówek, .strona_start.kolumnowy > .strona_nadrzędna > div:first-child:not(.mójNagłówek) > *{ margin-top:0 !important; margin-bottom:0.25rem !important; } } @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ .strona_start.niekolumnowy.mobilne > .strona{ max-width:100vw !important; min-width:auto !important; width:100% !important; overflow:auto !important; } .strona_start.niekolumnowy.mobilne > .strona .ciało_kontener > *{ min-width:auto !important; max-width:100% !important; width:100% !important; box-sizing:border-box; } } /*{{Kategoria|Szablony - arkusze stylów/StronaStart}}*/ mn1bipu0wlh388i72h4yc9j62lefkoz 559150 559149 2026-10-11T20:13:39Z Persino 2851 559150 sanitized-css text/css body.skin--responsive .strona_start{ font-size:1rem; line-height:1.4; } body:not(.skin--responsive) .strona_start{ font-size:16px; line-height:1.4; } .strona_prawa .spis{ display:flex; flex-direction:column; width:100%; } .strona_prawa .spis > div, .strona_prawa .spis > div > div{ height:auto; max-height:100%; } .strona_prawa .spis > div, .strona_prawa .spis > div > div{ height:auto; max-height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; } .strona_prawa .spis .style_strony_bocznego_menu, .strona_prawa .spis .style_strony_TOC{ overflow:auto; } @media all and (max-width:745px){ .strona_prawa .spis > div, .strona_prawa .spis > div > div{ width:100% !important; } } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(calc(-1*((1 - 0.3)/2/0.3)*100%),calc(-1*((1 - 0.3)/2/0.3)*100%)); /**/ transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:43.75rem !important; transform: scale(1,1) translate(0,0); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:0.3125rem; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:0.3125rem; margin-bottom:0.3125rem; } .strona_prawa .pierwsza_strona hr.pierwsza_strona_spis_treści-hr{ height: 1px; background-color: var(--border-color-base,#a2a9b1); border: 0; margin: 0.2em 0; } .strona_prawa .pierwsza_strona .pierwsza_strona_spis_treści{ font-size:0.875rem; line-height:1.2; } .strona_prawa .pierwsza_strona .licencja-książki > .email > .email-treść{ word-wrap: break-word; word-break: break-all; hyphens: none; } .strona_start.tło_strona_start, .strona_start .tło_strona_nadrzędna, .strona_start .tło_główna_strona, .strona_start .tło_strona_środkowa, .strona_start .tło_strona, .strona_start .tło_ciało_kontener, .strona_start .tło_ciało_strona{ background-color:white; background-image: none; } .strona_prawa .nawigacja_boksy > .mw-optimal-x > div{ margin-top:0 !important; margin-bottom:0.3125rem !important; margin-left:0.3125rem !important; margin-right:0 !important; } .strona_lewa .nawigacja_boksy > .mw-optimal-x > div{ margin-top:0 !important; margin-bottom:0.3125rem !important; margin-right:0.3125rem !important; margin-left:0 !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(116.5%,-116.5%); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-116.5%,-116.5%); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 0.3125rem ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( 100% - 0.3125rem ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-sticky-y > .style_strony_TOC, html.client-nojs .strona_prawa .mw-sticky-y > .style_strony_bocznego_menu{ overflow:auto; padding-bottom:0.3125rem; } .strona_prawa .mw-sticky-y > .style_strony_TOC > .strona_spisu_treści, .strona_prawa .mw-sticky-y > .style_strony_bocznego_menu > div{ flex:0 0 auto; } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:0.3125rem !important; visibility:visible !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ transform:none; transition:none; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( 100% - 0.3125rem ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 0.3125rem ) !important; } body.skin-minerva .strona_start{ margin-top:0.25rem !important; } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_lewa .mw-optimal-x > div, .strona_prawa .mw-optimal-x > div{ flex:0 0 auto; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } /**/ .strona > div > .ciało_kontener > .ciało_strona > :last-child.noprint > p:last-child{ margin-bottom:0 !important; padding-bottom:0 !important; } .strona > div > .ciało_kontener > *:nth-child(2) > .noprint p{ font-size:inherit; line-height:inherit; } .strona > div:not(:only-child) > .ciało_kontener > *:nth-child(2) > .noprint > p:last-child, .strona > div > .ciało_kontener:not(:only-child) > *:nth-child(2) > .noprint > p:last-child{ margin-bottom:0 !important; padding-bottom:0 !important; } .strona > div > .ciało_kontener > :nth-child(2):not(:empty) + .ciało_strona, .strona > div:not(:only-child) > .ciało_kontener > .ciało_strona, .strona > div > .ciało_kontener:not(:only-child) > .ciało_strona{ padding-bottom:0 !important; } .strona > div > .ciało_kontener > *:nth-child(1) > :not(style):not(link){ margin-top:0.625rem; } .strona > div > .ciało_kontener > *:nth-child(1) > :not(style):not(link) + :not(style):not(link){ margin-top:initial; } .strona > div > .ciało_kontener > *:nth-child(2) > :not(.nawigacja):not(.nawigacja-dół):last-child{ margin-bottom:0.625rem; } .strona > *:not(:first-child), .strona > div > *:not(:first-child){ margin-left:0.5rem; margin-right:0.5rem; } .strona > *:nth-child(2), .strona > div > *:nth-child(2){ margin-top:0.25rem; margin-bottom:0.125rem; } .strona > *:not(:nth-child(2)):not(:first-child), .strona > div > *:not(:nth-child(2)):not(:first-child){ margin-top:0.125rem; margin-bottom:0.125rem; } .strona > *:last-child:not(:first-child), .strona > div > *:last-child:not(:first-child){ margin-top:0.125rem; margin-bottom:0.5rem; } /**/ .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > div > .ciało_kontener > .ciało_strona > p:first-child{ margin-top:0; } .strona > div > .ciało_kontener > .ciało_strona > p:not(.br-clear):last-child{ margin-bottom:0; } .strona > div > .ciało_kontener > .ciało_strona > div.nawigacja.nawigacja-dół{ margin-top:0.5rem !important; } .strona > div > .ciało_kontener.mw-scrollbar-overflow-x{ padding-bottom:0.3125rem; } .strona > div > .ciało_kontener.mw-scrollbar-overflow-y{ padding-right:0.3125rem; } :not(style):not(link) ~ .strona_start{ margin-top:0.3125rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table{ margin-top:0 !important; margin-bottom:0.3125rem !important; } .strona_start.niekolumnowy > div.mójNagłówek > div:last-child, .strona_start.kolumnowy > .strona_nadrzędna > div.mójNagłówek > div:last-child{ margin-bottom:0 !important; } @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table{ margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne{ max-width:100vw !important; min-width:auto !important; width:100% !important; } .strona_start.kolumnowy.mobilne div > .ciało_kontener > *{ min-width:100% !important; max-width:100% !important; width:100% !important; } .strona_start.kolumnowy.mobilne .strona{ overflow:hidden !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div.mójNagłówek > div:last-child{ margin-bottom:0 !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div.mójNagłówek{ margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2), .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table{ max-width:none !important; width:100% !important; margin-left:0 !important; margin-right:0 !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tr > td:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tbody > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > .tabelka-op > table > tbody > tr > td:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tr > td:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tbody > tr > th:last-child, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > div:nth-child(2) > table > tbody > tr > td:last-child{ font-size:0.80rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona{ flex-wrap: wrap; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div{ position:static !important; margin-left:0 !important; margin-right:0 !important; margin-top:0 !important; margin-bottom:0 !important; transition:none !important; transform:none !important; visibility:visible !important; min-width:auto !important; max-width:100vw !important; width:100% !important; box-sizing:border-box !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy > .mw-optimal-x{ transition:none !important; transform:none !important; position:static !important; margin-left:0 !important; float:none !important; clear:none !important; max-width:100% !important; width:100% !important; box-sizing:border-box; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy > .mw-optimal-x > div{ width:100% !important; box-sizing:border-box; margin: 0 !important; margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy > .mw-optimal-x > div > div:last-child{ font-size:0.80rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_lewa{ order:1 !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa{ order:2 !important; display:flex; flex-direction:column; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > .kontener_spis_treści a.zaznaczone, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > div > .pierwsza_strona > div tr:last-child > td > div.toc_ogólnie_spis a.zaznaczone, .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > .strona_spisu_treści > .toc_wykaz a.zaznaczone{ color: #3366cc !important; font-weight: normal !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_środkowa{ order:3 !important; width:100%; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > div.nawigacja_boksy{ order:1; height:auto !important; max-height:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y{ order:2; height:100% !important; max-height:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > div{ width:100% !important; box-sizing:border-box !important; margin-bottom:0.25rem !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > div > .pierwsza_strona > div tr:last-child > td > div.toc_ogólnie_spis{ max-height:100% !important; overflow:visible !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y .toc_spis{ overflow:visible !important; width:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_środkowa > .strona{ min-width:auto !important; max-width:100vw !important; width:100% !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_środkowa > .menu{ display:none !important; } .strona_start.kolumnowy.mobilne > .strona_nadrzędna > .główna_strona > .strona_prawa > .mw-sticky-y > .style_strony_TOC:only-child > .kontener_spis_treści{ margin-top:0 !important; margin-bottom:0 !important; } } @media all{ .strona_start.niekolumnowy > .mójNagłówek, .strona_start.niekolumnowy > div:first-child:not(.mójNagłówek) > .rozdział, .strona_start.kolumnowy > .strona_nadrzędna > .mójNagłówek, .strona_start.kolumnowy > .strona_nadrzędna > div:first-child:not(.mójNagłówek) > .rozdział{ margin-top:0 !important; } .strona_start.niekolumnowy > .mójNagłówek, .strona_start.niekolumnowy > div:first-child:not(.mójNagłówek) > *, .strona_start.kolumnowy > .strona_nadrzędna > .mójNagłówek, .strona_start.kolumnowy > .strona_nadrzędna > div:first-child:not(.mójNagłówek) > *{ margin-top:0 !important; margin-bottom:0.25rem !important; } } @media all and (max-width:745px), all and (max-device-width: 745px), all and (max-device-height: 745px){ .strona_start.niekolumnowy.mobilne > .strona{ max-width:100vw !important; min-width:auto !important; width:100% !important; overflow:auto !important; } .strona_start.niekolumnowy.mobilne > .strona .ciało_kontener > *{ min-width:auto !important; max-width:100% !important; width:100% !important; box-sizing:border-box; } } /*{{Kategoria|Szablony - arkusze stylów/StronaStart}}*/ iqzzrnii74tm6v6082ck74sp91n16m4 Wikipedysta:Persino/Gadget-Vector-2022.css/main.css 2 58973 559133 556816 2026-10-11T18:40:43Z Persino 2851 559133 css text/css /* Kod CSS skórki vector-2022 na WIKI (ustawienia własne vector) */ body:not(.action-edit):not(.action-submit) #mw-content-text .mw-parser-output, body.action-submit #wikiPreview, .mw-footer-container{ word-wrap: break-word; word-break:normal; } .mw-content-container, .vector-sticky-header, .vector-page-toolbar-container{ max-width: unset !important; } @media screen and (min-width: 999px) { .client-js.vector-sticky-header-enabled{ scroll-padding-top: 50px; } } .mw-page-container{ max-width:100vw; width:100%; box-sizing:border-box; display:flex; flex-direction:row; min-height:calc( 100% - 3.125rem - 1px - 4px - 8px ); box-sizing:border-box; background-image: url("//upload.wikimedia.org/wikipedia/commons/thumb/0/05/Wikibooksfirehazard2.svg/200px-Wikibooksfirehazard2.svg.png"); background-color:transparent; background-attachment:fixed; margin-left:0; margin-right:0; } .vector-feature-limited-width-clientpref-0 .mw-page-container{ background-color:white; } .vector-feature-limited-width-clientpref-1 .mw-page-container{ background-color:cornflowerblue; } @media all and (max-width:999px){ .mw-page-container{ background-image:none; } } html.vector-feature-limited-width-clientpref-0 > body > .mw-page-container, html.vector-is-page-available > body > .mw-page-container{ background-image:none; } #bodyContent, #content{ box-sizing:border-box; } .vector-feature-main-menu-pinned-disabled.vector-toc-not-available .mw-page-container-inner, .vector-feature-main-menu-pinned-disabled.vector-feature-toc-pinned-clientpref-0 .mw-page-container-inner{ grid-template-columns: minmax(0,1fr); } body{ background-color:white; } .mw-footer-container{ padding: 7px 0 2px 0; } .mw-footer-container > .mw-footer{ padding:10px 5px; } .mw-page-container{ padding-right:0; padding-left:0; box-sizing:border-box; min-width:auto; } @media all and (min-width: 1000px){ .mw-body{ grid-template: min-content min-content min-content 1fr / minmax(0,1fr) auto; grid-template-areas: 'titlebar titlebar' 'toolbar toolbar' 'content columnEnd' '.. columnEnd'; column-gap:0 !important; width:100%; box-sizing:border-box; } } .mw-page-container-inner{ grid-template-columns: 15rem minmax(0,1fr); column-gap: 5px; } /**/ #siteNotice{ margin:unset; } #centralNotice:not(:empty){ margin: 5px 0 8px 0; } #centralNotice:not(:empty) > div:first-of-type{ margin-top:5px; } #centralNotice:not(:empty) > div:last-of-type{ margin-bottom:8px; } .mw-content-container #content{ border-radius:10px; border:1px solid #c8ccd1; padding:10px; padding-top:8px; } #content::after{ content:''; clear:both; display:block; } #bodyContent{ margin-bottom:0; box-sizing: border-box; } body{ font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif; font-stretch:normal; font-variant:normal; font-style:normal; font-weight:normal; font-size-adjust:none; letter-spacing:normal; word-spacing:normal; text-align:left; word-wrap:break-word; hyphens:auto; } /*.mw-ui-icon{ font-size:1rem; }*/ body{ font-size:1rem; line-height:1.4em; } body:not(.page-Wikibooks_Strona_główna) .printfooter{ display:block; padding:5px; border:1px solid #c8ccd1; margin-top:6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; clear:both; } /*.noarticletext{ margin-top:0; margin-bottom:7px; } #contentsub::after{ content:''; display:block; }*/ .vector-body{ font-size: calc(1rem * 0.875); line-height: 1.5em; } @media all and (min-width:999px){ html.vector-feature-page-tools-pinned-enabled #bodyContent.vector-body, html.vector-feature-appearance-pinned-clientpref-1 #bodyContent.vector-body{ border-right: 1px solid #c8ccd1; border-bottom:1px solid #c8ccd1; padding-right:0.625rem; padding-bottom:0.625rem; } } html.vector-feature-custom-font-size-clientpref-0{ font-size:14px; } html.vector-feature-custom-font-size-clientpref-1{ font-size:16px; } html.vector-feature-custom-font-size-clientpref-2{ font-size:18px; } qxjnvbms6muzi5jwq83gjq47zjdnu2u 559136 559133 2026-10-11T18:43:30Z Persino 2851 559136 css text/css /* Kod CSS skórki vector-2022 na WIKI (ustawienia własne vector) */ body:not(.action-edit):not(.action-submit) #mw-content-text .mw-parser-output, body.action-submit #wikiPreview, .mw-footer-container{ word-wrap: break-word; word-break:normal; hyphens:auto; } .mw-content-container, .vector-sticky-header, .vector-page-toolbar-container{ max-width: unset !important; } @media screen and (min-width: 999px) { .client-js.vector-sticky-header-enabled{ scroll-padding-top: 50px; } } .mw-page-container{ max-width:100vw; width:100%; box-sizing:border-box; display:flex; flex-direction:row; min-height:calc( 100% - 3.125rem - 1px - 4px - 8px ); box-sizing:border-box; background-image: url("//upload.wikimedia.org/wikipedia/commons/thumb/0/05/Wikibooksfirehazard2.svg/200px-Wikibooksfirehazard2.svg.png"); background-color:transparent; background-attachment:fixed; margin-left:0; margin-right:0; } .vector-feature-limited-width-clientpref-0 .mw-page-container{ background-color:white; } .vector-feature-limited-width-clientpref-1 .mw-page-container{ background-color:cornflowerblue; } @media all and (max-width:999px){ .mw-page-container{ background-image:none; } } html.vector-feature-limited-width-clientpref-0 > body > .mw-page-container, html.vector-is-page-available > body > .mw-page-container{ background-image:none; } #bodyContent, #content{ box-sizing:border-box; } .vector-feature-main-menu-pinned-disabled.vector-toc-not-available .mw-page-container-inner, .vector-feature-main-menu-pinned-disabled.vector-feature-toc-pinned-clientpref-0 .mw-page-container-inner{ grid-template-columns: minmax(0,1fr); } body{ background-color:white; } .mw-footer-container{ padding: 7px 0 2px 0; } .mw-footer-container > .mw-footer{ padding:10px 5px; } .mw-page-container{ padding-right:0; padding-left:0; box-sizing:border-box; min-width:auto; } @media all and (min-width: 1000px){ .mw-body{ grid-template: min-content min-content min-content 1fr / minmax(0,1fr) auto; grid-template-areas: 'titlebar titlebar' 'toolbar toolbar' 'content columnEnd' '.. columnEnd'; column-gap:0 !important; width:100%; box-sizing:border-box; } } .mw-page-container-inner{ grid-template-columns: 15rem minmax(0,1fr); column-gap: 5px; } /**/ #siteNotice{ margin:unset; } #centralNotice:not(:empty){ margin: 5px 0 8px 0; } #centralNotice:not(:empty) > div:first-of-type{ margin-top:5px; } #centralNotice:not(:empty) > div:last-of-type{ margin-bottom:8px; } .mw-content-container #content{ border-radius:10px; border:1px solid #c8ccd1; padding:10px; padding-top:8px; } #content::after{ content:''; clear:both; display:block; } #bodyContent{ margin-bottom:0; box-sizing: border-box; } body{ font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif; font-stretch:normal; font-variant:normal; font-style:normal; font-weight:normal; font-size-adjust:none; letter-spacing:normal; word-spacing:normal; text-align:left; word-wrap:break-word; hyphens:auto; } /*.mw-ui-icon{ font-size:1rem; }*/ body{ font-size:1rem; line-height:1.4em; } body:not(.page-Wikibooks_Strona_główna) .printfooter{ display:block; padding:5px; border:1px solid #c8ccd1; margin-top:6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; clear:both; } /*.noarticletext{ margin-top:0; margin-bottom:7px; } #contentsub::after{ content:''; display:block; }*/ .vector-body{ font-size: calc(1rem * 0.875); line-height: 1.5em; } @media all and (min-width:999px){ html.vector-feature-page-tools-pinned-enabled #bodyContent.vector-body, html.vector-feature-appearance-pinned-clientpref-1 #bodyContent.vector-body{ border-right: 1px solid #c8ccd1; border-bottom:1px solid #c8ccd1; padding-right:0.625rem; padding-bottom:0.625rem; } } html.vector-feature-custom-font-size-clientpref-0{ font-size:14px; } html.vector-feature-custom-font-size-clientpref-1{ font-size:16px; } html.vector-feature-custom-font-size-clientpref-2{ font-size:18px; } fm3hh32kxouga5xhvt3jru085y1uwpo Szablon:Tabela nawigacyjna/styles.css 10 59605 559137 556878 2026-10-11T18:49:48Z Persino 2851 559137 sanitized-css text/css table.tabela_nawigacyjna, table.tabela_nawigacyjna > tbody, table.tabela_nawigacyjna > tbody > tr, table.tabela_nawigacyjna > tbody > tr > th, table.tabela_nawigacyjna > tbody > tr > td{ width:100%; max-width:100%; display:block; box-sizing:border-box; } table.tabela_nawigacyjna{ width:auto; } table.tabela_nawigacyjna, table.tabela_nawigacyjna > tbody, table.tabela_nawigacyjna > tbody > tr{ border:0; } table.tabela_nawigacyjna > tbody > tr:first-child > th > div.tabela_nawigacyjna-tytuł, table.tabela_nawigacyjna > tbody > tr:first-child > td > div.tabela_nawigacyjna-tytuł{ box-sizing:border-box; width:calc( 100% - 6em ); } table.tabela_nawigacyjna > tbody > tr:last-child > th, table.tabela_nawigacyjna > tbody > tr:last-child > td{ padding:0; } table.tabela_nawigacyjna > tbody > tr:last-child > th > div, table.tabela_nawigacyjna > tbody > tr:last-child > td > div{ padding:0.5em; } table.tabela_nawigacyjna > tbody > tr:last-child > th, table.tabela_nawigacyjna > tbody > tr:last-child > td{ border-top:0; } table.tabela_nawigacyjna > tbody > tr:last-child > th > div > p:first-child, table.tabela_nawigacyjna > tbody > tr:last-child > td > div > p:first-child{ margin-top:0; } table.tabela_nawigacyjna > tbody > tr:last-child > th > div > p:last-child, table.tabela_nawigacyjna > tbody > tr:last-child > td > div > p:last-child{ margin-bottom:0; } table.tabela_nawigacyjna > tbody > tr:last-child > td > div > ul:first-child, table.tabela_nawigacyjna > tbody > tr:last-child > td > div > ol:first-child{ margin-top:0; } table.tabela_nawigacyjna > tbody > tr:last-child > td > div > ul:last-child, table.tabela_nawigacyjna > tbody > tr:last-child > td > div > ol:last-child{ margin-bottom:0; } table.tabela_nawigacyjna > tbody > tr:last-child > td > div > ul, table.tabela_nawigacyjna > tbody > tr:last-child > td > div > ol{ margin-left:0; margin-right:0; list-style-position: inside; margin-inline-start: 0; } table.tabela_nawigacyjna.szerokość{ display:flex; flex-direction:row; width:auto; margin-left:0; margin-right:0; margin-top:0.2em; margin-bottom:0; } table.tabela_nawigacyjna, table.tabela_nawigacyjna *{ word-wrap:break-word; word-break:normal; hyphens:auto; } table.tabela_nawigacyjna.szerokość > tbody{ display:table; } table.tabela_nawigacyjna.szerokość > tbody, table.tabela_nawigacyjna.szerokość > tbody > tr, table.tabela_nawigacyjna.szerokość > tbody > tr, table.tabela_nawigacyjna.szerokość > tbody > tr, hr + table.tabela_nawigacyjna, hr + style + table.tabela_nawigacyjna, hr + link + table.tabela_nawigacyjna{ margin-top:0; } table.tabela_nawigacyjna:last-child{ margin-bottom:0; } @media all and (min-width:745px) and (min-device-width: 745px) and (min-device-height: 745px){ html.client-nojs table.collapsible.collapsed > tbody > tr:first-child ~ tr{ animation: nie_hover_odkrywca 0s forwards; } html.client-nojs table.collapsible.collapsed > tbody > tr:first-child:hover ~ tr{ animation: hover_odkrywca 0s forwards; } html.client-nojs table.collapsible.collapsed > tbody > tr:first-child:not(:hover) ~ tr{ animation: nie_hover_odkrywca 5s forwards; } html.client-nojs table.collapsible:not(.collapsed) > tbody > tr:first-child ~ tr{ animation: hover_odkrywca 0s forwards; } html.client-nojs table.collapsible:not(.collapsed) > tbody > tr:first-child:hover ~ tr{ animation: nie_hover_odkrywca 5s forwards; } html.client-nojs table.collapsible:not(.collapsed) > tbody > tr:first-child:not(:hover) ~ tr{ animation: hover_odkrywca 0s forwards; } } @keyframes hover_odkrywca { 0% { opacity:0; visibility:hidden; height:0; overflow:hidden; position:absolute; } 99% { opacity:0; visibility:hidden; height:0; overflow:hidden; position:absolute; } 100%{ opacity:1; visibility:visible; height:auto; overflow:visible; position:relative; } } @keyframes nie_hover_odkrywca { 0% { opacity:1; visibility:visible; height:auto; overflow:visible; position:relative; } 99% { opacity:1; visibility:visible; height:auto; overflow:visible; position:relative; } 100%{ opacity:0; visibility:hidden; height:0; overflow:hidden; position:absolute; } } /*{{Kategoria|Szablony - arkusze stylów}}*/ 998o4ui6s3mkrpuwp0pkh3xpwti325r 559139 559137 2026-10-11T19:03:10Z Persino 2851 559139 sanitized-css text/css table.tabela_nawigacyjna, table.tabela_nawigacyjna > tbody, table.tabela_nawigacyjna > tbody > tr, table.tabela_nawigacyjna > tbody > tr > th, table.tabela_nawigacyjna > tbody > tr > td{ width:100%; max-width:100%; display:block; box-sizing:border-box; } table.tabela_nawigacyjna{ width:auto; } table.tabela_nawigacyjna, table.tabela_nawigacyjna > tbody, table.tabela_nawigacyjna > tbody > tr{ border:0; } table.tabela_nawigacyjna > tbody > tr:first-child > th > div.tabela_nawigacyjna-tytuł, table.tabela_nawigacyjna > tbody > tr:first-child > td > div.tabela_nawigacyjna-tytuł{ box-sizing:border-box; width:calc( 100% - 6em ); } table.tabela_nawigacyjna > tbody > tr:last-child > th, table.tabela_nawigacyjna > tbody > tr:last-child > td{ padding:0; } table.tabela_nawigacyjna > tbody > tr:last-child > th > div, table.tabela_nawigacyjna > tbody > tr:last-child > td > div{ padding:0.5em; } table.tabela_nawigacyjna > tbody > tr:last-child > th, table.tabela_nawigacyjna > tbody > tr:last-child > td{ border-top:0; } table.tabela_nawigacyjna > tbody > tr:last-child > th > div > p:first-child, table.tabela_nawigacyjna > tbody > tr:last-child > td > div > p:first-child{ margin-top:0; } table.tabela_nawigacyjna > tbody > tr:last-child > th > div > p:last-child, table.tabela_nawigacyjna > tbody > tr:last-child > td > div > p:last-child{ margin-bottom:0; } table.tabela_nawigacyjna > tbody > tr:last-child > td > div > ul:first-child, table.tabela_nawigacyjna > tbody > tr:last-child > td > div > ol:first-child{ margin-top:0; } table.tabela_nawigacyjna > tbody > tr:last-child > td > div > ul:last-child, table.tabela_nawigacyjna > tbody > tr:last-child > td > div > ol:last-child{ margin-bottom:0; } table.tabela_nawigacyjna > tbody > tr:last-child > td > div > ul, table.tabela_nawigacyjna > tbody > tr:last-child > td > div > ol{ margin-left:0; margin-right:0; list-style-position: inside; margin-inline-start: 0; } table.tabela_nawigacyjna.szerokość{ display:flex; flex-direction:row; width:auto; margin-left:0; margin-right:0; margin-top:0.2em; margin-bottom:0; } table.tabela_nawigacyjna, table.tabela_nawigacyjna *{ word-wrap:break-word; word-break:break-word; hyphens:auto; } table.tabela_nawigacyjna.szerokość > tbody{ display:table; } table.tabela_nawigacyjna.szerokość > tbody, table.tabela_nawigacyjna.szerokość > tbody > tr, table.tabela_nawigacyjna.szerokość > tbody > tr, table.tabela_nawigacyjna.szerokość > tbody > tr, hr + table.tabela_nawigacyjna, hr + style + table.tabela_nawigacyjna, hr + link + table.tabela_nawigacyjna{ margin-top:0; } table.tabela_nawigacyjna:last-child{ margin-bottom:0; } @media all and (min-width:745px) and (min-device-width: 745px) and (min-device-height: 745px){ html.client-nojs table.collapsible.collapsed > tbody > tr:first-child ~ tr{ animation: nie_hover_odkrywca 0s forwards; } html.client-nojs table.collapsible.collapsed > tbody > tr:first-child:hover ~ tr{ animation: hover_odkrywca 0s forwards; } html.client-nojs table.collapsible.collapsed > tbody > tr:first-child:not(:hover) ~ tr{ animation: nie_hover_odkrywca 5s forwards; } html.client-nojs table.collapsible:not(.collapsed) > tbody > tr:first-child ~ tr{ animation: hover_odkrywca 0s forwards; } html.client-nojs table.collapsible:not(.collapsed) > tbody > tr:first-child:hover ~ tr{ animation: nie_hover_odkrywca 5s forwards; } html.client-nojs table.collapsible:not(.collapsed) > tbody > tr:first-child:not(:hover) ~ tr{ animation: hover_odkrywca 0s forwards; } } @keyframes hover_odkrywca { 0% { opacity:0; visibility:hidden; height:0; overflow:hidden; position:absolute; } 99% { opacity:0; visibility:hidden; height:0; overflow:hidden; position:absolute; } 100%{ opacity:1; visibility:visible; height:auto; overflow:visible; position:relative; } } @keyframes nie_hover_odkrywca { 0% { opacity:1; visibility:visible; height:auto; overflow:visible; position:relative; } 99% { opacity:1; visibility:visible; height:auto; overflow:visible; position:relative; } 100%{ opacity:0; visibility:hidden; height:0; overflow:hidden; position:absolute; } } /*{{Kategoria|Szablony - arkusze stylów}}*/ 8066lpq99bv63jgxuunc5pkr7dt7d9j Ogólna teoria względności/Nadmiarowe równania elementarne teorii grawitacji Einsteina z siłami niegrawitacyjnymi 0 60090 559123 558855 2026-10-11T13:53:07Z Persino 2851 559123 wikitext text/x-wiki <noinclude><!-- -->{{SkomplikowanaStronaStart<!-- -->| stopka strony = {{Kreska nawigacja|{{AktualnaKsiążka}}|{{NastępnyArtykuł}}|{{PoprzedniArtykuł}}}}<!-- -->}}</noinclude> == Równania ruchu, a linie geodezyjne w ogólnej teorii względności == Mając już policzona metrykę czasoprzestrzeni poprzez równania Einsteina {{LinkWzór|1.51|Wprowadzenie do ogólnej teorii względności}} lub mając niezerową stałą kosmologiczną, to wtedy liczymy z równania {{LinkWzór|1.58|Wprowadzenie do ogólnej teorii względności}}, zatem na podstawie tegoż równania liczymy już wspomnianą metrykę poprzez policzone już elementy tensora metrycznego. Na podstawie tego liczymy elementy tensora Christoffela i w ten sposób wyznaczamy następne położenie cząstki masowej w ogólnej teorii względności. Już mając następne położenie wyznaczamy znów metrykę przy nowym położeniu cząstek masowych i te kroki powtarzamy w nieskończoność do chwili, do której interesuje nas badanie układu relatywistycznego. W przestrzeni euklidesowej linia prosta jest to krzywa, której przenosi swój własny wektor prędkości w sposób równoległy do tej krzywej w danym jej punkcie, w przestrzeni nieuklidesowej mamy jakąś krzywą, która jest prostą w tym naszym układzie, i aby nasz wektor był przenoszony równolegle to musi być styczna do tej prostej, czyli wielkość zdefiniowana {{Formuła|<MaTH>U^{\mu}={{dx^{\mu}}\over{d\lambda}}\;</MATH>}} musi spełniać warunek: {{CentrujWzór|<MATH>{U^{\mu}}_{;{\beta}}=0\;\;</MATH>|1.70}} aby cały czas wektor U{{Sup|&mu;}} był styczny do naszej prostej w tej naszej przestrzeni absolutnej. Oczywiste jest, że wektor U{{Sup|&mu;}}, aby był czterowektorem prędkości {{LinkWzór|1.6|Wprowadzenie do ogólnej teorii względności}}, tzn. U{{Sup|&mu;}}=u{{Sup|&mu;}}, to musi zachodzić &lambda;=s, czyli nasz parametr byłby wtedy interwałem czasoprzestrzennym. Ale dla ogólności rozważań lepiej przyjąć dowolny parametr &lambda;, bo zmiana interwału czasoprzestrzennego dla bezmasowych cząstek (m{{Sub|0}}) jest równy zero wedle {{LinkWzór|1.3|Wprowadzenie do ogólnej teorii względności}}, wtedy czterowektor prędkości jest nieokreślony. Jeśli &lambda;=s, ale lepiej jest, gdy to jest dowolny parametr, ze względu na fotony pędzące z prędkościa światła {{Formuła|<MATH>c\;</MATH>}}, wtedy {{Formuła|<MATH>ds=0\;</MATH>}}, ale nie ogólnie {{Formuła|<MATH>d\lambda=0\;</MATH>}}, to równanie {{LinkWzór|1.70}} jest spełnione, gdy w układzie badanym nie występują siły niegrawitacyjne, występuje tylko grawitacja z zaniedbywalnym ciśnieniem, którego od niej gęstość siły jest bardzo mała, lub według zasady niezależności działania tensorów sił, jeśli rozpratrujemy tylko ruch pochodzący od grawitacji, wtedy równanie {{LinkWzór|1.70}} jest dokładnie spełnione. Normalnie dla całkowitego tensora sił dla ciała punktowego z uwzględniem innych tensorów sił równanie {{LinkWzór|1.70}} przy tej definicji &lambda; uogólniamy do: {{CentrujWzór|<MATH>m_0c{U^{\mu}}_{;\nu}U^{\nu}=K^{\mu}\;</MATH>|1.70a}} Gdy {{Formuła|<MATH>K^{\mu}_c=0\;</MATH>}}, to równość {{LinkWzór|1.70a}} przechodzi w {{LinkWzór|1.70}}. W czasoprzestrzeni lokalnie płaskiej wzór {{LinkWzór|1.70a}}, wtedy możemy zamienić przecinek średnikiem, bo symbole Christoffela są tam równe zero, przechodzi w: {{CentrujWzór|<MATH>m_0c {U^{\mu}}_{,\nu}U^{\nu}=K^{\mu}_c=K^{\mu}\Rightarrow m_0c{{dU^{\mu}}\over{d\lambda}}=K^{\mu}_c\Rightarrow {{dP^{\mu}}\over{d\lambda}}=K^{\mu}_c\wedge P^{\mu}=m_0cU^{\mu}\;</MATH>|1.70b}} Równanie {{LinkWzór|1.70b}} jest to tensorowe równanie dynamiki Einsteina szczególnej teorii względności, napisane w {{LinkWzór|2.18|Tensory w czasoprzestrzeni|Wyprowadzenie i próba podważenia, praw: szczególnej i ogólnej teorii względności|WPTW}}, przy {{Formuła|<MATH>\lambda=s\;</MATH>}}, wtedy {{Formuła|<MATH>U^{\mu}=u^{\mu}\;</MATH>}}, czyli jest spełniona na pewno silna zasada równoważności. Równanie {{LinkWzór|1.70a}} dla układów rozciągłych wygląda następująco: {{CentrujWzór|<MATH>dm_0c{U^{\mu}}_{;\nu}U^{\nu}=dK^{\mu}\Rightarrow\rho_0c{U^{\mu}}_{;\nu}U^{\nu}={{dK^{\mu}}\over{dV_0}}\Rightarrow\sqrt{-g}\rho_0\gamma c{U^{\mu}}_{;\nu}U^{\nu}={{dK^{\mu}}\over{dV}}\;</MATH>|1.70ab}} * Twierdzenia dla układów rozciągłych przedstawiamy, zastępując w twierdzeniach dla układów dyskretnych w obliczeniach według: {{Formuła|<MATH>m_0\rightarrow dm_0\;</MATH>}} i {{Formuła|<MATH>K^{\mu}\rightarrow dK^{\mu}\;</MATH>}}, jak np. przechodząc od {{LinkWzór|1.70a}} do {{LinkWzór|1.70ab}}, i wiedząc, że czas jako współrzędna jest taki sam jak w układzie inercjalnym, wtedy: {{Formuła|<MATH>\sqrt{-g}d^4x=d^4x^'\Rightarrow\sqrt{-g}dVdct=dV_pdct\Rightarrow\sqrt{-g}dV=dV_p\;</MATH>}}{{Patrz|FF1}} i {{Formuła|<MATH>dV_p=\gamma^{-1} dV_0\;</MATH>}}{{Patrz|FF2}}, gdzie {{Formuła|<MATH>dV\;</MATH>}}, {{Formuła|<MATH>dV_p\;</MATH>}} i {{Formuła|<MATH>dV_0\;</MATH>}} są to kolejno infinitezymalne objętości w układach: zakrzywionym, płaskim inercjalnym i spoczynkowym inercjalnym, a {{Formuła|<MATH>g\;</MATH>}} jest to wyznacznik tensora metrycznego prostego, a {{Formuła|<MATH>\gamma\;</MATH>}} jest zdefiniowane w punkcie {{LinkWzór|1.41|Transformacje różniczek czasu i położenia|Wyprowadzenie i próba podważenia, praw: szczególnej i ogólnej teorii względności|WPTW}} (tam wybieramy ze znakiem plus). Gdzie tam pierwsza zależność wynika z {{LinkWzór|3.8|Właściwości skalaru tensora metrycznego}}, a druga z {{LinkWzór|4.6a|Własności czasoprzestrzeni|Wyprowadzenie i próba podważenia, praw: szczególnej i ogólnej teorii względności|WPTW}}. === Linie geodezyjne, a druga pochodna czterowektora kontrawariantnego położenia === Będziemy badać wzory na linie geodezyjne, gdy siły niegrawitacyjne występują lub one nie występują, a poza tym siły grawitacyjne w nich zawsze występują. ==== Gdy występują tylko siły grawitacyjne ==== Z definicji pochodnej kontrawariantnej i własności styczności wektora do prostej {{LinkWzór|1.70}}, a także z definicji pochodnej tensorowej można zapisać równanie geodezyjne w postaci pierwotnej: {{CentrujWzór|<MATH>0={U^{\mu}}_{;{\beta}}={U^{{\mu}}}_{;{\beta}}={U^{\mu}}_{,{\beta}}+U^{\alpha}{\Gamma^{\mu}}_{{\alpha}{\beta}}\;\;</MATH>|1.71}} Pomnóżmy obustronnie równość tensorową {{LinkWzór|1.71}} przez kontrawariantny tensor czterowektora prędkości U{{Sup|&beta;}}, wtedy otrzymujemy inne równoważne do poprzedniego równanie: {{CentrujWzór|<MATH>0=U^{\beta}{U^{\mu}}_{,{\beta}}+U^{\alpha}U^{\beta}{\Gamma^{\mu}}_{{\alpha}{\beta}}\;\;</MATH>|1.72}} Z definicji czterowektora prędkości i twierdzenie o pochodnej złożonej wyznaczmy wyrażenie występujące jako pierwszy składnik we wzorze {{LinkWzór|1.72}}, zatem możemy napisać: {{CentrujWzór|<MATH>U^{\beta}{U^{\mu}}_{,{\beta}}={{dx^{\beta}}\over{d\lambda}}{{\partial}\over{\partial x^{\beta}}}\left({{dx^{\mu}}\over{d\lambda}}\right)={{d}\over{d\lambda}}\left({{d x^{\mu}}\over{d\lambda}}\right)={{dU^{\mu}}\over{d\lambda}}\;\;</MATH>|1.73}} Na podstawie obliczeń {{LinkWzór|1.73}} na liczbach ogólnych, które to wniosek podstawiamy do równania tensorowego {{LinkWzór|1.71}} za pierwszy składnik, zatem udowodniliśmy że zachodzi: {{CentrujWzór|<MATH>0={{dU^{\mu}}\over{d\lambda}}+{\Gamma^{\mu}}_{{\alpha}{\beta}}U^{\alpha}U^{\beta}\;\;</MATH>|1.74|Obramuj}} Podstawiając, za współrzędne czterowektora wektora prędkości U{{Sup|&beta;}} jego definicję, jako pochodna czteropołożenia względem interwału czasoprzestrzennego, dostajemy równoważne równanie tensorowe do {{LinkWzór|1.74}}: {{CentrujWzór|<MATH>0={{d}\over{d\lambda}}\left({{dx^{\mu}}\over{d\lambda}}\right)+{\Gamma^{\mu}}_{{\alpha}{\beta}}{{dx^{\alpha}}\over{d\lambda}}{{dx^{\beta}}\over{d\lambda}}\;\;</MATH>|1.75}} Wyrażenie {{LinkWzór|1.74}} możemy zapisać w postaci bezwskaźnikowej, bez uwzględnienia z jakimi rodzaju tensorami mamy do czynienia: {{CentrujWzór|<MATH>0={{d\mathbf{U}}\over{d\lambda}}+\mathbf{U}^T\mathbf{\Gamma}\mathbf{U}\;\;</MATH>|1.76}} Otrzymaliśmy równanie, dzięki któremu czterowektor U{{Sup|&beta;}} jest przenoszony równolegle, stycznie wzdłuż naszej prostej i jest to równanie ruchu cząstki masowej lub bezmasowej w ogólnej teorii względności, jeśli {{Formuła|<MATH>K^{\mu}=0\;</MATH>}} w {{LinkWzór|1.76a}} dla układów dyskretnych i {{Formuła|<MATH>{{dK^{\mu}}\over{dV}}\;</MATH>}} w {{LinkWzór|1.77ca}} dla układów rozciągłych. Jeśli w prowadzimy definicję parametru &lambda;, który może być interwałem czasoprzestrzennym "s", poprzez inny parametr &xi; w sposób: s=a&xi;+b, to można udowodnić w sposób łatwy, korzystając z poprzedniego równania, że line geodezyjne wedle {{LinkWzór|1.74}} przy zerowych siłach niegrawitacyjnych zapisujemy jako: {{CentrujWzór|<MATH>0={{d}\over{d\xi}}\left({{dx^{\mu}}\over{d\xi}}\right)+{\Gamma^{\mu}}_{{\alpha}{\beta}}{{dx^{\alpha}}\over{d\xi}}{{dx^{\beta}}\over{d\xi}}\;\;</MATH>|1.77}} W przestrzeni euklidesowej płaskiej, gdy mamy zerowe siły niegrawitacyjne, mamy na pewno, że poszczególne elementy tensora metrycznego spełniają związek: &Gamma;{{Sup|&mu;}}{{Sub|&alpha;&beta;}}=0, stąd dostajemy: {{CentrujWzór|<MATH>{{d}\over{d\xi}}\left({{dx^{\mu}}\over{d\xi}}\right)=0\Rightarrow x^{\mu}=a^{\mu}\xi+b^{\mu}\;\;</MATH>|1.78}} Po rozwiązaniu równania {{LinkWzór|1.74}} dowiadujemy się, że rozwiązaniem jego jest równaniem prostej w naszej przestrzeni przy naszej definicji tensora Christoffela. ==== Gdy również występują siły niegrawitacyjne ==== Będziemy rozważać tu układy dyskretne i rozciągłe. ===== Układy dyskretne ===== A gdy występują inne tensory sił, to wtedy równanie {{LinkWzór|1.76}} podobnie przekształcamy jak {{LinkWzór|1.76}} z {{LinkWzór|1.70}}, wtedy: {{CentrujWzór|<MATH>m_0c\left({{d\mathbf{U}}\over{d\lambda}}+\mathbf{U}^T\mathbf{\Gamma}\mathbf{U}\right)=\mathbf K\Rightarrow m_0c{{d\mathbf{U}}\over{d\lambda}}=-m_0c\mathbf{U}^T\mathbf{\Gamma}\mathbf{U}+\mathbf K\Rightarrow m_0c{{dU^{\mu}}\over{d\lambda}}=-m_0c{\Gamma^{\mu}}_{\alpha\beta}U^{\alpha}U^{\beta}+K^{\mu}\;</MATH>|1.76a}} Gdy tensor sił niegrawitacyjnych jest równy zero, wtedy równość {{LinkWzór|1.76a}} przechodzi w równanie geodezyjne {{LinkWzór|1.75}}, gdy na układ nie działają żadne siły niegrawitacyjne. Druga zasada dynamiki Einsteina według równości końcowej {{LinkWzór|1.76a}} i wzór na tensor siły pochodzący od grawitacji, piszemy wzorami: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>\mathbf K_c=m_0c{{d\mathbf{U}}\over{d\lambda}}={{d\mathbf{P}}\over{d\lambda}}\Rightarrow K_c^{\mu}=m_0c{{dU^{\mu}}\over{d\lambda}}={{dP^{\mu}}\over{d\lambda}}\;</MATH>|1.77b}} | 2 = {{CentrujWzór|<MATH>\mathbf K_g=-m_0c\mathbf{U}^T\mathbf{\Gamma}\mathbf{U}\Rightarrow K_g^{\mu}=-m_0c{\Gamma^{\mu}}_{\alpha\beta}U^{\alpha}U^{\beta}\;</MATH>|1.77c}} }} A tensor siły w {{LinkWzór|1.76a}}, czyli {{Formuła|<MATH>\mathbf K\;</MATH>}}, jest tensorem siły od oddziaływań niegrawitacyjnych. ====== Kilka żródeł grawitacyjnych ====== Załóżmy, że mamy kilka mas, każda ona zakrzywia czasoprzestrzeń, weźmy zasadę niezależności działania tensorów sił szczególnej teorii względności spełnioną też w ogólnej teorii względności, wtedy korzystając z równości na tensor siły grawitacyjnej mamy na podstawie {{LinkWzór|1.77c}}: {{CentrujWzór|<MATH>K_g^{\mu}=\sum_i K_{gi}^{\mu}=-\sum_im_{0}c{\Gamma^{\mu}_i}_{\alpha\beta}U^{\alpha}_iU^{\beta}_i=-m_0c\sum_i{\Gamma^{\mu}_i}_{\alpha\beta}U^{\alpha}_iU^{\beta}_i=-m_0c{\Gamma^{\mu}}_{\alpha\beta}U^{\alpha}U^{\beta}\;</MATH>|1.77ca11}} Widzimy, że w {{LinkWzór|1.77ca11}} poszczególne masy dostarczają swoje własne symbole Christoffela {{Formuła|<MATH>{\Gamma^{\mu}_i}_{\alpha\beta}\;</MATH>}} do poruszającej się masy względem niego, a wszystkie pola grawitacyjne od tych mas tworzą razem inne symbole {{Formuła|<MATH>{\Gamma^{\mu}}_{\alpha\beta}\;</MATH>}}, które opisuje całkowite zakrzywienie czasoprzestrzeni od tych mas. ===== Układy rozciągłe ===== Równanie geodezyjne {{LinkWzór|1.76a}} dla układów rozciągłych, zastępując w {{LinkWzór|1.77c}} wielkości: {{Formuła|<MATH>m_0\;</MATH>}} i {{Formuła|<MATH>K^{\mu}\;</MATH>}}, kolejno przez: {{Formuła|<MATH>dm_0\;</MATH>}} i {{Formuła|<MATH>dK^{\mu}\;</MATH>}}, napiszmy, wiedząc, że czas jako współrzędna jest taki sam jak w układzie inercjalnym: {{CentrujWzór|<MATH>dm_0c\left({{d\mathbf{U}}\over{d\lambda}}+\mathbf{U}^T\mathbf{\Gamma}\mathbf{U}\right)=d\mathbf K\Rightarrow dm_0c{{d\mathbf{U}}\over{d\lambda}}=-dm_0c\mathbf{U}^T\mathbf{\Gamma}\mathbf{U}+d\mathbf K\Rightarrow\rho_0c{{d\mathbf{U}}\over{d\lambda}}=-\rho_0c\mathbf{U}^T\mathbf{\Gamma}\mathbf{U}+{{d\mathbf K}\over{dV_0}}\Rightarrow\;</MATH>{{Br}}<MATH>\Rightarrow \sqrt{-g}\rho_0c\gamma{{d\mathbf{U}}\over{d\lambda}}=-\sqrt{-g}\rho_0c\gamma\mathbf{U}^T\mathbf{\Gamma}\mathbf{U}+{{d\mathbf K}\over{dV}}\Rightarrow\sqrt{-g}\rho_0\gamma c{{dU^{\mu}}\over{d\lambda}}=-\sqrt{-g}\rho_0\gamma c{\Gamma^{\mu}}_{\alpha\beta}U^{\alpha}U^{\beta}+{{dK^{\mu}}\over{dV}}\;</MATH>|1.77ca}} Gęstość tensora siły całkowitej stanowiącej drugą zasadę dynamiki Einsteina szczególnej teorii względności dla układów rozciągłych, też i gęstość tensora siły od sił grawitacyjnych, napiszmy kolejno na podstawie {{LinkWzór|1.77ca}}: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>{{dK^{\mu}_c}\over{dV}}=\sqrt{-g}\rho_0\gamma c{{dU^{\mu}}\over{d\lambda}}={{dm_0}\over{dV}}c{{dU^{\mu}}\over{d\lambda}}\;</MATH>|LLL1}} | 2 = {{CentrujWzór|<MATH>{{dK^{\mu}_g}\over{dV}}=-\sqrt{-g}\rho_0\gamma c{\Gamma^{\mu}}_{\alpha\beta}U^{\alpha}U^{\beta}=-{{dm_0}\over{dV}}c{\Gamma^{\mu}}_{\alpha\beta}U^{\alpha}U^{\beta}\;</MATH>|LLL2}} }} === Linie geodezyjne, a druga pochodna czterowektora kowariantnego położenia === Będziemy badać wzory na linie geodezyjne, gdy siły niegrawitacyjne występują lub one nie występują, a poza tym siły grawitacyjne w nich zawsze występują. ==== Gdy występują tylko siły grawitacyjne ==== Przedstawimy teraz inne podejście do ruchu cząstki materialnej czyli piszemy linie geodezyjne w sposób kowariantny, czyli proste w przestrzeni czterowymiarowej spełniający warunek, który jest pochodną kowariantną U{{Sup|&mu;}}{{Sub|;&beta;}}=0, ale z definicji pochodnej kowariantnej możemy napisać: {{CentrujWzór|<MATH>0=U_{{\mu};\beta}=U_{{\mu},{\beta}}-{\Gamma^{{\alpha}}}_{{\mu}\beta}U_{{\alpha}}\;</MATH>|1.79}} Pomnóżmy teraz obie strony równania tensorowego {{LinkWzór|1.79}} przez elementy czterowektora prędkości U{{Sup|&beta;}}, otrzymując wynikowe równanie: {{CentrujWzór|<MATH>0=U^{\beta}U_{{\mu},{\beta}}-{\Gamma^{\alpha}}_{{\mu}{\beta}}U_{\alpha}U^{\beta}\;</MATH>|1.80}} Rozwińmy wyrażenie występujące w równaniu tensorowym {{LinkWzór|1.80}} występujący jako odjemna, wykorzystując definicję pochodnej zupełnej, i przestawmy ją jako pochodna kowariantnego tensora czteroprędkości względem parametru &lambda;. {{CentrujWzór|<MATH>U^{\beta}U_{{\mu},{\beta}}={{dx^{\beta}}\over{d\lambda}}{{\partial U_{\mu}}\over{\partial x^{\beta}}}={{dU_{\mu}}\over{d\lambda}}\;</MATH>}} wykorzystując udowodnioną powyższą tożsamość i podstawiając do równości {{LinkWzór|1.80}}, wtedy dochodzimy do wniosku, że zachodzi na pewno tożsamość poniżej, które to poniższe równanie jest równaniem linii geodezyjnej. {{CentrujWzór|<MATH>0={{dU_{\mu}}\over{d\lambda}}-{\Gamma^{\alpha}}_{{\mu}{\beta}}U_{\alpha}U^{\beta}\;</MATH>|1.81|Obramuj}} Możemy wykorzystać definicję czterowektora prędkości, wtedy wzór na równość tensorową {{LinkWzór|1.81}} zapisujemy wedle: {{CentrujWzór|<MATH>0={{d^2x_{\mu}}\over{d\lambda^2}}-{\Gamma^{\alpha}}_{{\mu}{\beta}}{{dx_{\alpha}}\over{d\lambda}}{{dx^{\beta}}\over{d\lambda}}\;</MATH>|1.82}} Jeśli oznaczymy jako definicję parametru &lambda;, który może być interwałem czasoprzestrzennym "s", poprzez parametr &xi; w sposób s=a&xi;+c, to równanie na linie geodezyjne {{LinkWzór|1.82}} można przedstawić w postaci: {{CentrujWzór|<MATH>0={{d^2x_{\mu}}\over{d\xi^2}}-{\Gamma^{\alpha}}_{{\mu}{\beta}}{{dx_{\alpha}}\over{d\xi}}{{dx^{\beta}}\over{d\xi}}\;</MATH>|1.83}} Równania {{LinkWzór|1.74}} i {{LinkWzór|1.80}} stanowią równania ruchu cząstki w czterowymiarowej czasoprzestrzeni Einsteina i jak udowodnimy później, te dwa równania są ze sobą równoważne. Dla układów płaskich rozwiązaniem {{LinkWzór|1.83}} jest równanie {{LinkWzór|1.78}} tylko, że ze wskaźnikami do dołu. ==== Gdy w równaniach na linie geodezyjne uwzględnimy siły niegrawitacyjne ==== Będziemy rozważać tu układy dyskretne i rozciągłe. ===== Układy dyskretne ===== A gdy występują inne tensory sił, to wtedy równanie {{LinkWzór|1.70a}} podobnie przekształcamy jak {{LinkWzór|1.82}} z {{LinkWzór|1.70}}, wtedy: {{CentrujWzór|<MATH>{{d^2x_{\mu}}\over{d\lambda^2}}={\Gamma^{\alpha}}_{{\mu}{\beta}}{{dx_{\alpha}}\over{d\lambda}}{{dx^{\beta}}\over{d\lambda}}+{{1}\over{m_0c}}K_{\mu}\Rightarrow {{dU_{\mu}}\over{d\lambda}}={\Gamma^{\alpha}}_{{\mu}{\beta}}U_{\alpha}U^{\beta}+{{1}\over{m_0c}}K_{\mu}\Rightarrow m_0c{{dU_{\mu}}\over{d\lambda}}=m_0c{\Gamma^{\alpha}}_{{\mu}{\beta}}U_{\alpha}U^{\beta}+K_{\mu}\Rightarrow\;</MATH>{{Br}}<MATH>\Rightarrow {{dP_{\mu}}\over{d\lambda}}=m_0c{\Gamma^{\alpha}}_{{\mu}{\beta}}U_{\alpha}U^{\beta}+K_{\mu}\;</MATH>|1.82a}} Gdy tensor sił niegrawitacyjnych jest równy zero, wtedy równość {{LinkWzór|1.82a}} przechodzi w równanie geodezyjne {{LinkWzór|1.82}}, gdy na układ nie działają żadne siły niegrawitacyjne. Równanie ruchu dynamiki Einsteina i równanie na tensor sił grawitacji działający na ciało według {{LinkWzór|1.82a}} są równe: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>K_{c\mu}=m_0c{{dU_{\mu}}\over{d\lambda}}={{dP_{\mu}}\over{d\lambda}}\;</MATH>|1.82b}} | 2 = {{CentrujWzór|<MATH>K_{g\mu}=m_0c{\Gamma^{\alpha}}_{{\mu}{\beta}}U_{\alpha}U^{\beta}\;</MATH>|1.82c}} }} ====== Kilka żródeł grawitacyjnych ====== Załóżmy, że mamy kilka mas, każda ona zakrzywia czasoprzestrzeń, weźmy zasadę niezalezności działania tensorów sił szczególnej teorii względności spełniona też w ogólnej teorii względności, wtedy korzystając z równości na tensor siły grawitacyjnej mamy na podstawie {{LinkWzór|1.82c}}: {{CentrujWzór|<MATH>K_{g\mu}=\sum_i K_{gi\mu}=\sum_im_0c{\Gamma^{\alpha}_i}_{{\mu}{\beta}}U_{i\alpha}U^{\beta}_i=m_0c\sum_i{\Gamma^{\alpha}_i}_{{\mu}{\beta}}U_{i\alpha}U^{\beta}_i=m_0c{\Gamma^{\alpha}}_{{\mu}{\beta}}U_{\alpha}U^{\beta}\;</MATH>|1.77ca111}} Widzimy, że w {{LinkWzór|1.77ca111}} poszczególne masy dostarczają swoje własne symbole Christoffela {{Formuła|<MATH>{\Gamma^{\alpha}_i}_{{\mu}{\beta}}\;</MATH>}} do poruszającej się masy względem niego, a wszystkie pola grawitacyyjne od tych mas tworzą razem inne symbole {{Formuła|<MATH>{\Gamma^{\mu}}_{\alpha\beta}\;</MATH>}}, które opisuje całkowite zakrzywienie czasoprzestrzeni od tych mas. ===== Układy rozciągłe ===== Równanie geodezyjne {{LinkWzór|1.82a}} dla układów rozciągłych, zastępując w nim wielkości: {{Formuła|<MATH>m_0\;</MATH>}} i {{Formuła|<MATH>K^{\mu}\;</MATH>}}, kolejno przez: {{Formuła|<MATH>dm_0\;</MATH>}} i {{Formuła|<MATH>dK^{\mu}\;</MATH>}}, napiszmy, wiedząc, że czas jako współrzędna jest taki sam jak w układzie inercjalnym: {{CentrujWzór|<MATH>dm_0c{{dU_{\alpha}}\over{d\lambda}}=dm_0 c{\Gamma^{\mu}}_{\alpha\beta}U_{\mu}U^{\beta}+dK^{\mu}\Rightarrow\rho_0c{{dU_{\alpha}}\over{d\lambda}}=\rho_0c{\Gamma^{\mu}}_{\alpha\beta}U_{\mu}U^{\beta}+{{dK_{\alpha}}\over{dV_0}} \Rightarrow\sqrt{-g}\rho_0\gamma c{{dU_{\alpha}}\over{d\lambda}}=\sqrt{-g}\rho_0\gamma c{\Gamma^{\mu}}_{\alpha\beta}U_{\mu}U^{\beta}+{{dK_{\alpha}}\over{dV}}\;</MATH>|1.77ca1}} Gęstość tensora siły całkowitej stanowiącej drugą zasadę dynamiki Einsteina szczególnej teorii względności dla układów rozciągłych, też i gęstość tensora siły od sił grawitacyjnych, napiszmy kolejno na podstawie {{LinkWzór|1.77ca1}}: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>{{dK_{c\alpha}}\over{dV}}=\sqrt{-g}\rho_0\gamma c{{dU_{\alpha}}\over{d\lambda}}\;</MATH>|LLL1a}} | 2 = {{CentrujWzór|<MATH>{{dK_{g\alpha}}\over{dV}}=\sqrt{-g}\rho_0\gamma c{\Gamma^{\mu}}_{\alpha\beta}U_{\mu}U^{\beta}\;</MATH>|LLL2a}} }} === Równoważność wzorów na linie geodezyjne w przedstawieniu kowariantnym i kontrawariantnym === Będziemy tu udowadniać zgodność wzorów na linie geodezyjne w przedstawieniu kowariantnym i kontrawariantnym, co udowodnimy, że te dwa wzory są ze sobą równoważne. ==== Układy dyskretne ==== Wzór na linię geodezyjną w przedstawieniu kontrawariantnym pomnóżmy przez tensor metryczny podwójnie kowariantny, oraz wykorzystując fakt, że pochodna tensora względem pewnego parametru jest tensorem oraz z własności tensorów metrycznych, otrzymujemy: {{CentrujWzór|<MATH>{{1}\over{m_0c}}K^{\nu}={{dU^{\nu}}\over{d\lambda}}+{\Gamma^{\nu}}_{\alpha\beta}U^{\alpha}U^{\beta}\Rightarrow {{1}\over{m_0c}}K^{\mu}g_{\mu\nu}={{dU^{\mu}}\over{d\lambda}}g_{\mu\nu}+g_{\mu\nu}{\Gamma^{\mu}}_{\alpha\beta}U^{\alpha}U^{\beta} \;</MATH>|1.84}} Wykorzystajmy własność taką, że ogólnie tensor czteroprędkości kontrawariantny U{{Sup|&alpha;}} przedstawmy z zależności od kowariantnego tensora U{{Sub|&gamma;}}, co tensorowo możemy zapisać: {{CentrujWzór|<MATH>U^{\alpha}=g^{\alpha\gamma}U_{\gamma}\;</MATH>|1.85}} Wykorzystując tożsamość tensorową {{LinkWzór|1.85}} do równości tensorowej {{LinkWzór|1.84}}: {{CentrujWzór|<MATH>{{1}\over{m_0c}}K_{\nu}={{dU_{\nu}}\over{d\lambda}}-U^{\alpha}g_{\alpha\nu,\beta}U^{\beta}+\Gamma_{\nu\alpha\beta}U^{\alpha}U^{\beta}\Rightarrow {{1}\over{m_0c}}K_{\nu}={{dU_{\nu}}\over{d\lambda}}+U^{\alpha}U^{\beta}{{1}\over{2}}\left(-2g_{\alpha\nu,\beta}+g_{\alpha\nu,\beta}+g_{\beta\nu,\alpha}-g_{\alpha\beta,\nu}\right)\;</MATH>{{Br}}<MATH>\Rightarrow {{1}\over{m_0c}}K_{\nu}={{dU_{\nu}}\over{d\lambda}}+U^{\alpha}U^{\beta}{{1}\over{2}}\left(-g_{\alpha\nu,\beta}+g_{\beta\nu,\alpha}-g_{\alpha\beta,\nu}\right)\Rightarrow {{1}\over{m_0c}}K_{\nu}={{dU_{\nu}}\over{d\lambda}}-U^{\alpha}U^{\beta}{{1}\over{2}}\left(g_{\alpha\nu,\beta}+g_{\alpha\beta,\nu}-g_{\beta\nu,\alpha}\right)\;</MATH>{{Br}}<MATH>\Rightarrow {{1}\over{m_0c}}K_{\nu}={{dU_{\nu}}\over{d\lambda}}-\Gamma_{\alpha\beta\nu}U^{\alpha}U^{\beta}\Rightarrow {{1}\over{m_0c}}K_{\nu}={{dU_{\nu}}\over{d\lambda}}-{\Gamma^{\alpha}}_{\nu\beta}U_{\alpha}U^{\beta} </MATH>|1.86}} Co na podstawie dowodu {{LinkWzór|1.86}} udowodniliśmy równoważność wzorów przedstawiający równości na linię geodezyjną, czyli tożsamości {{LinkWzór|1.76a}} i {{LinkWzór|1.82a}}, które oznaczają to samo. ==== Układy rozciągłe ==== Wzór na linię geodezyjną w przedstawieniu kontrawariantnym pomnóżmy przez tensor metryczny podwójnie kowariantny, oraz wykorzystując fakt, że pochodna tensora względem pewnego parametru jest tensorem oraz z własności tensorów metrycznych, otrzymujemy: {{CentrujWzór|<MATH>{{dK^{\nu}}\over{dV}}=\sqrt{-g}\rho_0\gamma c{{dU^{\nu}}\over{d\lambda}}+\sqrt{-g}\rho_0\gamma c{\Gamma^{\nu}}_{\alpha\beta}U^{\alpha}U^{\beta}\Rightarrow {{dK^{\nu}}\over{dV}}g_{\mu\nu}=\sqrt{-g}\rho_0\gamma c{{dU^{\mu}}\over{d\lambda}}g_{\mu\nu}+\sqrt{-g}\rho_0\gamma cg_{\mu\nu}{\Gamma^{\mu}}_{\alpha\beta}U^{\alpha}U^{\beta} \;</MATH>|1.84a}} Wykorzystując tożsamość tensorową {{LinkWzór|1.85}} do równości tensorowej {{LinkWzór|1.84a}}: {{CentrujWzór|<MATH>{{dK_{\nu}}\over{dV}}=\sqrt{-g}\rho_0\gamma c\left({{dU_{\nu}}\over{d\lambda}}-U^{\alpha}g_{\alpha\nu,\beta}U^{\beta}+\Gamma_{\nu\alpha\beta}U^{\alpha}U^{\beta}\right)\Rightarrow \;</MATH>{{Br}}<MATH>\Rightarrow{{dK_{\nu}}\over{dV}}=\sqrt{-g}\rho_0\gamma c\left[{{dU_{\nu}}\over{d\lambda}}+U^{\alpha}U^{\beta}{{1}\over{2}}\left(-2g_{\alpha\nu,\beta}+g_{\alpha\nu,\beta}+g_{\beta\nu,\alpha}-g_{\alpha\beta,\nu}\right)\right]\Rightarrow\;</MATH>{{Br}}<MATH>\Rightarrow {{dK_{\nu}}\over{dV}}=\sqrt{-g}\rho_0\gamma c\left[{{dU_{\nu}}\over{d\lambda}}+U^{\alpha}U^{\beta}{{1}\over{2}}\left(-g_{\alpha\nu,\beta}+g_{\beta\nu,\alpha}-g_{\alpha\beta,\nu}\right)\right]\Rightarrow\;</MATH>{{Br}}<MATH>\Rightarrow {{dK_{\nu}}\over{dV}}=\sqrt{-g}\rho_0\gamma c\left[{{dU_{\nu}}\over{d\lambda}}-U^{\alpha}U^{\beta}{{1}\over{2}}\left(g_{\alpha\nu,\beta}+g_{\alpha\beta,\nu}-g_{\beta\nu,\alpha}\right)\right]\Rightarrow\;</MATH>{{Br}}<MATH>\Rightarrow {{dK_{\nu}}\over{dV}}=\sqrt{-g}\rho_0\gamma c\left[{{dU_{\nu}}\over{d\lambda}}-\Gamma_{\alpha\beta\nu}U^{\alpha}U^{\beta}\right]\Rightarrow {{dK_{\nu}}\over{dV}}=\sqrt{-g}\rho_0\gamma c{{dU_{\nu}}\over{d\lambda}}-\sqrt{-g}\rho_0\gamma c{\Gamma^{\alpha}}_{\nu\beta}U_{\alpha}U^{\beta} </MATH>|1.86aa}} Co na podstawie dowodu {{LinkWzór|1.86aa}} udowodniliśmy równoważność wzorów przedstawiający równości na linię geodezyjną, czyli tożsamości {{LinkWzór|1.76a}} i {{LinkWzór|1.82a}}, które oznaczają to samo. === Tensor siły grawitacji i inne tensory siły (w tym całkowity tensor siły w drugiej zasadzie dynamiki Einsteina), jako tensory z definicji tensora matematycznego === Tensor siły grawitacyjnej, jak można poniżej udowodnić jest tensorem, bo bierzemy tutaj, zbiór stałych transformacji, wtedy nie tylko ten tensor, ale również tensor siły całkowitej drugiej zasady dynamiki Einsteina jest tensorem, jak i inne tensory siły, przy stałych transformacjach symbole Christoffera są tensorami (i dlatego tak jest) - dlatego te symbole są tensorami, bo stałe transformacje można włożyć pod pochodną cząstkową tensora metrycznego w definicji tych symboli, i po transformacji otrzymujemy inne tensory metryczne, ale nie jest już tak dla funkcji transformacji niestałych, stałe transformacji rozdzielają wszechświat na podprzestrzenie, w których panują inne funkcje transformacji stałe. Jeżeli w jednym układzie (lub punkcie) nie ma grawitacji, to w innym też nie ma, czyli można rozważać przestrzeń bez grawitacji z trzema podstałymi oddziaływaniami (model standardowy dla trzech podstawowych oddziaływań - elektromagnetyczne, silne i słabe), czyli są przestrzenie, w której grawitacji nie ma lub jest. === Druga zasada dynamiki Einsteina w wersji wektorowej === Napiszmy równania w postaci podobnej, jak w drugiej zasadzie dynamiki Einsteina-Newtona, dla szczególnej teorii względności, czy w mechanice Newtona, ale też spełnioną w ogólnej teorii względności, w postaci: {{CentrujWzór|<MATH>\vec F={{d\vec p}\over{dt}}\;</MATH>{{Tekst|, gdzie:}} <MATH>\vec p=p^i=m_0c u^i\;</MATH>|hd1}} W nim {{Formuła|<MATH>u^i\;</MATH>}} jest współrzędną przestrzenną tensora prędkości, zatem jeśli {{Formuła|<MATH>p^{\mu}\;</MATH>}} jest tensorem pędu, to {{Formuła|<MATH>p^i\;</MATH>}} jest współrzędną przestrzenną tensora prędkości, też spełniona w ogólnej teorii względności, tak samo jak w szczególnej teorii względności. Niezależność działania sił, i że addytywność wektorów sił, w ogólnej teorii względności, udowadnia się podobnie, jak dla mechaniki Einsteina-Newtona (jak w szczególnej teorii względności i mechanice Newtona). Przedstawia się addytywność wektorów sił: {{CentrujWzór|<MATH>\vec F_c=\sum_{i}\vec F_i\;</MATH>|hd0}} Zależność pomiędzy wektorem tensora prędkości, a wektorem siły przedstawia się wzorem: {{CentrujWzór|<MATH>\vec K={{d\vec p}\over{ds}}={{\gamma}\over{c}}{{d\vec p}\over{dt}}={{\gamma}\over{c}}\vec F\;</MATH>{{Tekst|, gdzie:}} <MATH>\gamma ds=cdt\Rightarrow\gamma=\left({{ds}\over{cdt}}\right)^{-1}\;</MATH>|hd2}} Dla szczególnej teorii względności jest spełnione równanie na tensor siły, które przedstawimy dla układów lokalnie płaskich ogólnej teorii względności, który napisaliśmy w wykładzie szczególnej teorii względności w punkcie {{LinkWzór|2.27|Tensory w czasoprzestrzeni|Wyprowadzenie i próba podważenia, praw: szczególnej i ogólnej teorii względności|WPTW}}: {{CentrujWzór|<MATH>K^{\mu}={{\gamma}\over{c}}\left[\left({{\vec v}\over{c}},\vec F\right),\vec F\right]^T\;</MATH>|hd3}} Podobny wzór możemy również otrzymać w ogólnej teorii względności, tylko w iloczynie są wskaźniki dolne i górne, nie górne, zapisaną w sposób, biorąc dla dwóch sygnatur: {{CentrujWzór|<MATH>K^{\mu}={{\gamma}\over{c}}\left[-\left({{v_i}\over{c}}F^i\right),F^i\right]^T=\left[-{{p_iK^i}\over{p_0}},K^i\right]^T\wedge p_0=m_0c u_0=\pm m_0c\gamma=\pm {{E_r}\over{c}}</MATH> {{Tekst|(wersja zwykła)}}{{Br}}<MATH>K^{\mu}=\left[-{{P_iK^i}\over{P_0}},K^i\right]^T\wedge P_0=m_0c U_0=\pm m_0c\gamma=\pm {{E_r}\over{c}}\;</MATH> {{Tekst|(wersja uogólniona)}}|hd4}} Zapisując wniosek {{LinkWzór|hd4}}, biorąc iloczyn skalarny przestrzeni zwykłej {{Formuła|<MATH>A=A^T=[a_{ij}]=[a_{ji}]=[a_{ij}]^T\;</MATH>}}, to wtedy ta równość przechodzi w {{LinkWzór|hd3}}, tylko przy innej definicji {{Formuła|<MATH>\gamma\;</MATH>}} z jego definicją dla ogólnej teorii względności, ale nie już dla szczególnej teorii względności. Uogólnijmy wzór {{LinkWzór|hd1}}, by w nim było {{Formuła|<MATH>\vec P=m_0c U^{i}\;</MATH>}}, a nie {{Formuła|<MATH>\vec p=m_0c u^{i}\;</MATH>}}, wtedy wektor siły przedstawia się w formie: {{CentrujWzór|<MATH>\vec F={{d\vec P}\over{dt}}\;</MATH>{{Tekst|, gdzie:}} <MATH>\vec P=P^i=m_0c U^i\;</MATH>|hd10}} Dla wzoru {{LinkWzór|hd10}} niezależność działania sił i addytywność udowadnia się podobnie, jak dla wersji z wektorami zwykłymi tensora prędkości. A wtedy wzór {{LinkWzór|hd3}} uogólniamy do tej wersji (ten wzór pod względem zapisu jest taki sam), a wartość {{Formuła|<MATH>\gamma\;</MATH>}} piszemy: {{CentrujWzór|<MATH>\gamma d\lambda=cdt\Rightarrow\gamma=\left({{d\lambda}\over{cdt}}\right)^{-1}\;</MATH>|hd11}} Też jest spełnione przy takim uogólnieniu wzór na tensor wektora siły, w tym przypadku równość {{LinkWzór|hd2}}, przy definicji {{Formuła|<MATH>\gamma\;</MATH>}} {{LinkWzór|hd11}}, i z niego wynikającej definicji wektora siły, innej niż, ale równoważnej, do {{LinkWzór|hd10}}. == Zgodność wzoru na linie geodezyjne z metryką przy ogólnie niezerowych siłach niegrawitacyjnych == Formułę {{LinkWzór|1.9|Wprowadzenie do ogólnej teorii względności}} zrózniczkujmy obustronnie, gdzie parametrem różniczkowym względem, którego różniczkujemy, jest interwał czasoprzestrzeny do: {{CentrujWzór|<MATH>0={{d\left(u^{\mu}u_{\mu}\right)}\over{ds}}\Leftrightarrow 0={{du^{\mu}}\over{ds}}u_{\mu}+{{du_{\mu}}\over{ds}}u^{\mu}\;</MATH>|1.87}} Jeżeli w równaniu {{LinkWzór|1.87}} zamienimy {{Formuła|<MATH>s\;</MATH>}} na {{Formuła|<MATH>\lambda\;</MATH>}}, wtedy zamieniamy {{Formuła|<MATH>u^{\mu}\;</MATH>}} w {{Formuła|<MATH>U^{\mu}\;</MATH>}} dla formalności, to ono jest dalej spełnione i jest w postaci: {{CentrujWzór|<MATH>0={{d\left(U^{\mu}U_{\mu}\right)}\over{d\lambda}}\Leftrightarrow 0={{dU^{\mu}}\over{d\lambda}}U_{\mu}+{{dU_{\mu}}\over{d\lambda}}U^{\mu}\;</MATH>|1.871}} Równanie {{LinkWzór|1.871}} jest równoważne równaniu {{LinkWzór|1.87}}, nie tylko dla {{Formuła|<MATH>\lambda=s\;</MATH>}} (gdy zmienna {{Formuła|<MATH>\lambda\;</MATH>}} jest równa interwałowi czasoprzestrzennemu), bo to wynika z rachunku różnicowego dla kroku {{Formuła|<MATH>\Delta s\;</MATH>}} nieskończenie małego, ale stałego, więc w {{LinkWzór|1.87}} można zastąpić {{Formuła|<MATH>ds\;</MATH>}} przez {{Formuła|<MATH>d\lambda\;</MATH>}}, i tak powstaje równanie różniczkowe {{LinkWzór|1.871}}. === Układy dyskretne === Skorzystajmy ze wzoru na linie geodezyjne, gdy liczymy pochodne kowariantne tensorów prędkości w przedstawieniu kontrawriantym {{LinkWzór|1.74}} i kowariantnym {{LinkWzór|1.81}}, co pomnózmy go obustronnie przez kolejno przez {{Formuła|<MATH>U_{\mu}\;</MATH>}} i {{Formuła|<MATH>U^{\mu}\;</MATH>}}, co potem skorzystamy ze wzoru {{LinkWzór|1.871}}, wtedy: {{CentrujWzór|<MATH>0=-U_{\mu}{\Gamma^{\mu}}_{\alpha\beta}U^{\alpha}U^{\beta}+U^{\mu}{\Gamma^{\alpha}}_{\mu\beta}U_{\alpha}U^{\beta}+{{1}\over{m_0c}}\left(K^{\mu}U_{\mu}+K_{\mu}U^{\mu}\right)\Rightarrow 0=K^{\mu}U_{\mu}+K_{\mu}U^{\mu}\Rightarrow K^{\mu}U_{\mu}=0\;</MATH>|1.88}} Końcowe równanie w {{LinkWzór|1.88}} przekształćmy do układów lokalnie płaskich, wtedy {{Formuła|<MATH>K^{\mu}\;</MATH>}} jest tensorem siły równej całkowitemu tensorowi siły według drugiej zasady dynamiki Einsteina według {{LinkWzór|1.70a}}, zatem w tym układzie po zamienieniu {{Formuła|<MATH>\lambda\;</MATH>}} na {{Formuła|<MATH>s\;</MATH>}} (interwał czasoprzestrzenny): {{CentrujWzór|<MATH>K^{\mu}u_{\nu}=0\Rightarrow K^{\mu}u_{\mu}=m_0c{{du^{\mu}}\over{ds}}u_{\mu}=m_0c{{1}\over{2}}{{d(u^{\mu}u_{\mu})}\over{ds}}=m_0c{{1}\over{2}}{{d (\pm 1)}\over{ds}}=0\Rightarrow K^{\mu}u_{\mu}=0\;</MATH>|1.88a}} Równanie {{LinkWzór|1.88a}} jest również spełnione dla dowolnej definicji {{Formuła|<MATH>\lambda\;</MATH>}}, nie tylko dla {{Formuła|<MATH>\lambda=s\;</MATH>}}, bo zachodzi wytłumaczone {{LinkWzór|1.871}}. Stąd tożsamość {{LinkWzór|1.88}} jest na pewno spełniona na podstawie {{LinkWzór|1.88a}} (dla dowolnego {{Formuła|<MATH>\lambda\;</MATH>}}), a więc wzór na linie geodezyjne jest zgodny z metryką. === Układy rozciągłe === Równanie {{LinkWzór|1.87}} pomnóżmy przez {{Formuła|<MATH>\sqrt{-g}\rho_0c\gamma\;</MATH>}}, wtedy otrzymamy: {{CentrujWzór|<MATH>0=\sqrt{-g}\rho_0c\gamma{{dU^{\mu}}\over{d\lambda}}U_{\mu}+{{dU_{\mu}}\over{d\lambda}}U^{\mu}\;</MATH>|1.87w1}} Wykorzystajmy równości {{LinkWzór|1.77ca}} (przedstawienie kontrawariantne równania geodezyjnego) i {{LinkWzór|1.77ca1}} (przedstawienie kowariantnego równania geodezyjnego), wtedy: {{CentrujWzór|<MATH>0=-\sqrt{-g}\rho_0c\gamma U_{\mu}{\Gamma^{\mu}}_{\alpha\beta}U^{\alpha}U^{\beta}+\sqrt{-g}\rho_0c\gamma U^{\mu}{\Gamma^{\alpha}}_{\mu\beta}U_{\alpha}U^{\beta}+\left({{dK^{\mu}}\over{dV}}U_{\mu}+{{dK_{\mu}}\over{dV}}U^{\mu}\right)\Rightarrow 0={{dK^{\mu}}\over{dV}}U_{\mu}+{{dK_{\mu}}\over{dV}}U^{\mu}\Rightarrow {{dK^{\mu}}\over{dV}}U_{\mu}=0\;</MATH>|llll1}} Końcowe równanie w {{LinkWzór|llll1}} przekształćmy do układów lokalnie płaskich, wtedy {{Formuła|<MATH>{{dK^{\mu}}\over{dV}}\;</MATH>}} jest tensorem siły równej całkowitej gęstości tensora siły według drugiej zasady dynamiki Einsteina według {{LinkWzór|1.70a}}, zatem w tym układzie dla {{Formuła|<MATH>\lambda=s\;</MATH>}}: {{CentrujWzór|<MATH>{{dK^{\mu}}\over{dV}}u_{\mu}=0\Rightarrow {{dK^{\mu}}\over{dV}}u_{\mu}=\sqrt{-g}\rho_0c\gamma{{du^{\mu}}\over{ds}}u_{\mu}=\sqrt{-g}\rho_0c\gamma{{1}\over{2}}{{d(u^{\mu}u_{\mu})}\over{ds}}=\sqrt{-g}\rho_0c\gamma{{1}\over{2}}{{d (\pm 1)}\over{ds}}=0\Rightarrow {{dK^{\mu}}\over{dV}}u_{\mu}=0\;</MATH>|1.88aaa}} Jeżeli równanie {{LinkWzór|1.88aaa}} jest spełnione dla {{Formuła|<MATH>\lambda=s\;</MATH>}}, to jest również spełnione dla dowolnej definicji {{Formuła|<MATH>\lambda\;</MATH>}}, bo zachodzi wytłumaczone {{LinkWzór|1.871}}, zatem dla układów rozciągłych metryka jest zgodnę z równaniem na linie geodezyjne na podstawie {{LinkWzór|llll1}} według udowodnionego wniosku {{LinkWzór|1.88aaa}}. == Zasada zachowania energii-pędu dla układów lokalnie płaskich przy zerowaniu się tensorów sił niegrawitacyjnych == W układzie lokalnie płaskim tensory Christoffela są równe zero z uwagi, że tensor metryczny jest równy tensorowi Minkowskiego i pochodne cząstkowe tego tensora są równe zero. Wtedy z uwagi na {{LinkWzór|1.74}} rozwiązaniem równania tego jest {{LinkWzór|1.78}}, zatem tensor prędkości cząstki w układzie lokalnie płaskim, jeżeli przymniemy {{Formuła|<MATH>\xi=s\;</MATH>}}, jest równy: {{CentrujWzór|<MATH>u^{\mu}=a^{\mu}\;</MATH>|1.90}} Czyli dla układów lokalnie płaskich na podstawie {{LinkWzór|2.42|Tensory w czasoprzestrzeni|Wyprowadzenie i próba podważenia, praw: szczególnej i ogólnej teorii względności|WPTW}}, w którym prędkości są stałe dowiadujemy się, że: {{CentrujWzór|<MATH>{{dK^{\mu}}\over{dV}}=\rho_0\gamma c{{d}\over{d s}}u^{\mu}=\rho_0\gamma c{{d}\over{d s}}a^{\mu}=0\;</math>|1.91}} I dalej stąd dowiadujemy się, że na podstawie {{LinkWzór|1.91}} energia i pęd w układzie lokalnie płaskim są zachowane. Też ten sam wniosek możemy otrzymać z {{LinkWzór|1.74}} przy zerowaniu się symboli Christoffela. == Równanie dewiacyjne i dewiacja geodezyjna, według zasady niezalezności działania tensorów sił == Będziemy tutaj wyprowadzali dewiacyjne równanie uwzględniające tylko siły grawitacji albo siły niegrawitacyjne lub oba. === Równanie dewiacyjne, a tylko siły grawitacji === Weźmy sobie dwie krzywe geodezyjna, odległość pomiędzy cząstkami poruszających się na tych liniach określamy według definicji {{Formuła|<MATH>\xi^{\alpha}=x_1^{\alpha}-x_2^{\alpha}\;</MATH>}}, zatem różnica wzorów na linie geodezyjne {{LinkWzór|1.75}} dla {{Formuła|<MATH>x_1^{\alpha}\;</MATH>}} i {{Formuła|<MATH>x_2^{\alpha}\;</MATH>}} dla układów lokalnie płaskich, tu wykorzystajmy zasadę namniejszego działania tensorów sił, wtedy znika tensor sił niegrawitacyjnych, określamy jako: {{CentrujWzór|<MATH>{{d^2\xi^{\alpha}}\over{d\lambda^2}}+{\Gamma^{\alpha}}_{\omega\eta,\gamma}\xi^{\gamma}U^{\omega}U^{\eta}=0\;</MATH>|1.92}} Napiszmy teraz drugą pochodną wielkości absolutnej &xi;, wykorzystując {{LinkWzór|2.33|Rachunek_tensorowy|Metody_matematyczne_fizyki|MMF}}, a także {{LinkWzór|2.35|Rachunek_tensorowy|Metody_matematyczne_fizyki|MMF}}, wykorzystując przy okazji udowodnioną tożsamość {{LinkWzór|1.92}} dla układu współrzędnych lokalnie płaskiego, w której w punktach płaskości tensor Christoffela jest równy zero: {{CentrujWzór|<MATH>{{d^2\xi}\over{d\lambda^2}}={{d}\over{d\lambda}}\left({{d\xi^{\alpha}}\over{d\lambda}}e_{\alpha}+\xi^{\alpha}{{de_{\alpha}}\over{d\lambda}}\right)= {{d}\over{d\lambda}}\left[\left({{d\xi^{\gamma}}\over{d\lambda}}+\xi^{\eta}{\Gamma^{\gamma}}_{\eta\beta}U^{\beta}\right)e_{\gamma}\right]=\left({{d^2\xi^{\alpha}}\over{d\lambda^2}}+{\Gamma^{\alpha}}_{\eta\beta,\omega}\xi^{\eta}U^{\omega}U^{\beta}\right)e_{\alpha}+\;</MATH>{{Br}}<MATH>+\left({{d\xi^{\gamma}}\over{d\lambda}}+\xi^{\eta}{\Gamma^{\gamma}}_{\eta\beta}U^{\beta}\right){\Gamma^{\alpha}}_{\gamma\omega}U^{\omega}e_{\alpha}= \left(-{\Gamma^{\alpha}}_{\beta\omega,\eta}\xi^{\eta}U^{\beta}U^{\omega}+{\Gamma^{\alpha}}_{\eta\beta,\omega}\xi^{\eta}U^{\omega}U^{\beta}\right)e_{\alpha}=\left({\Gamma^{\alpha}}_{\eta\beta,\omega}-{\Gamma^{\alpha}}_{\beta\omega,\eta}\right)\xi^{\eta}U^{\omega}U^{\beta}e_{\alpha}=\;</MATH>{{Br}}<MATH>={{R^{\alpha}}_{\beta\omega\eta}}\xi^{\eta}U^{\omega}U^{\beta}e_{\alpha}</MATH>|1.93}} Końcowy wniosek wynikający z obliczeń {{LinkWzór|1.93}} jest słuszny tylko w układzie współrzędnych lokalnie płaskich, w której to w punktach płaskości tensor Christoffela jest równy zero. Udowodnijmy jego słuszność w dowolnym układzie współrzędnych: {{CentrujWzór|<MATH>{{\overline R}^{\alpha}}_{\beta\omega\eta}{\overline \xi}^{\eta}{\overline U}^{\omega}{\overline U}^{\beta}{\overline e}_{\alpha}={{{\overline R}^{\alpha}}_{\beta\omega\eta}}{\overline{\Lambda^{\eta}}}_{\eta^'}\xi^{\eta^'}{\overline{\Lambda}^{\omega}}_{\omega^'}U^{\omega^'}{\overline{\Lambda}^{\beta}}_{\beta^'}U^{\beta^'}{\Lambda^{\alpha^'}}_{\alpha}e_{\alpha^'}={{{\overline R}^{\alpha}}_{\beta\omega\eta}}{\overline{\Lambda^{\eta}}}_{\eta^'}{\overline{\Lambda}^{\omega}}_{\omega^'}{\overline{\Lambda}^{\beta}}_{\beta^'}{\Lambda^{\alpha^'}}_{\alpha}\xi^{\eta^'}U^{\omega^'}U^{\beta^'} e_{\alpha^'}=\;</MATH>{{Br}}<MATH>={{R^{\alpha^'}}_{\beta^'\omega^'\eta^'}}\xi^{\eta^'}U^{\omega^'}U^{\beta^'}e_{\alpha^'}\;</MATH>|1.94}} Na podstawie obliczeń {{LinkWzór|1.94}} wynikających z {{LinkWzór|1.93}} wnioskujemy, że w dowolnym układzie współrzędnych jest spełnione prawo zwane równaniem dewiacyjnym: {{CentrujWzór|<MATH>{{d^2\xi}\over{d\lambda^2}}={R^{\alpha}}_{\beta\omega\eta}U^{\omega}U^{\beta}\xi^{\eta}e_{\alpha}\;</MATH>|1.95}} === Układy dyskretne === Według zasady niezależności działania tensorów sił, podobne równanie do {{LinkWzór|1.95}}, napiszmy równanie dewiacyjne, gdy nie ma grawitacji, tylko są siły niegrawitacyjne, wtedy ono piszemy, zapisując w nim przecinek średnikiem w układach lokalnie płaskich, co w takich układach można tak robić: {{CentrujWzór|<MATH>{{d^2\xi}\over{d\lambda^2}}={{1}\over{m_0c}}\xi^{\eta}{K^{\alpha}}_{;\eta}e_{\alpha}\;</MATH>|1.95a}} Wykorzystując tą naszą zasadę połączmy równania {{LinkWzór|1.95}} i {{LinkWzór|1.95a}}, wtedy: {{CentrujWzór|<MATH>{{d^2\xi}\over{d\lambda^2}}={R^{\alpha}}_{\beta\omega\eta}U^{\omega}U^{\beta}\xi^{\eta}e_{\alpha}+{{1}\over{m_0c}}\xi^{\eta}{K^{\alpha}}_{;\eta}e_{\alpha}\Rightarrow{{d^2\xi}\over{d\lambda^2}}=\left({R^{\alpha}}_{\beta\omega\eta}U^{\omega}U^{\beta}+{{1}\over{m_0c}}{K^{\alpha}}_{;\eta}\right)\xi^{\eta}e_{\alpha}\;</MATH>|1.95b}} Równanie {{LinkWzór|1.95b}} jest udowodnione w układach lokalnie płaskich, co na podstawie teorii transformacji jest ono również spełnione w układach zakrzywionych. Równanie {{LinkWzór|1.95b1}} jest udowodnione w układach lokalnie płaskich, co na podstawie teorii transformacji jest ono również spełnione w układach zakrzywionych. To równanie jest równaniem dewiacyjnym uwzględniającym siły grawitacji i niegrawitacyjne. Równanie {{LinkWzór|1.95a}} nazywamy równaniem dewiacyjnym układów zakrzywionych odległości pomiędzy dmoma ciałami bardzo bliskimi względem siebie przy uwzględnieniu tensorów sił pochodzący od oddziaływań niegrawitacyjnych. === Układy rozciągłe === Według zasady niezależności działania tensorów sił, podobne równanie do {{LinkWzór|1.95}}, napiszmy równanie dewiacyjne, gdy nie ma grawitacji, tylko są siły niegrawitacyjne, wtedy ono piszemy, zapisując w nim przecinek średnikiem w układach lokalnie płaskich, co w takich układach można tak robić: {{CentrujWzór|<MATH>\sqrt{-g}\rho_0\gamma c{{d^2\xi}\over{d\lambda^2}}+\left(\sqrt{-g}\rho_0\gamma c\right)_{,\eta}\xi^{\eta}{{dU^{\alpha}}\over{d\lambda}}e_{\alpha}=\xi^{\eta}{\left({{dK^{\alpha}}\over{dV}}\right)}_{;\eta}e_{\alpha}\;</MATH>|1.95a1}} Wykorzystując tą naszą zasadę połączmy równania {{LinkWzór|1.95}} i {{LinkWzór|1.95a1}}, wtedy: {{CentrujWzór|<MATH>\sqrt{-g}\rho_0\gamma c{{d^2\xi}\over{d\lambda^2}}+\left(\sqrt{-g}\rho_0\gamma c\right)_{,\eta}\xi^{\eta}{{dU^{\alpha}}\over{d\lambda}}e_{\alpha}=\sqrt{-g}\rho_0\gamma c{R^{\alpha}}_{\beta\omega\eta}U^{\omega}U^{\beta}\xi^{\eta}e_{\alpha}+\xi^{\eta}{\left({{dK^{\alpha}}\over{dV}}\right)}_{;\eta}e_{\alpha}\Rightarrow\;</MATH>{{Br}}<MATH>\Rightarrow\sqrt{-g}\rho_0\gamma c{{d^2\xi}\over{d\lambda^2}}=\left(\sqrt{-g}\rho_0\gamma c{R^{\alpha}}_{\beta\omega\eta}U^{\omega}U^{\beta}-\left(\sqrt{-g}\rho_0\gamma c\right)_{,\eta}{{dU^{\alpha}}\over{d\lambda}}+{\left({{dK^{\alpha}}\over{dV}}\right)}_{;\eta}\right)\xi^{\eta}e_{\alpha}\;</MATH>|1.95b1}} Równanie {{LinkWzór|1.95b1}} jest udowodnione w układach lokalnie płaskich, co na podstawie teorii transformacji jest ono również spełnione w układach zakrzywionych. To równanie jest równaniem dewiacyjnym uwzględniającym siły grawitacji i niegrawitacyjne. Równanie {{LinkWzór|1.95a1}} nazywamy równaniem dewiacyjnym układów zakrzywionych odległości pomiędzy dmoma ciałami bardzo bliskimi względem siebie przy uwzględnieniu tensorów sił pochodzący od oddziaływań niegrawitacyjnych. == Lokalna zasada zachowania energii-pędu == Weźmy lokalną zasadę zachowania energii-pędu szczególnej teorii względności {{LinkWzór|Vb|Lokalna zasada zachowania energii(masy)-pędu z zasady zachowania energii(masy)-pędu|Wyprowadzenie i próba podważenia, praw: szczególnej i ogólnej teorii względności|WPTW}}, wtedy to możemy zapisać jako: {{CentrujWzór|<MATH>{{1}\over{c}}{j^{\mu\nu}}_{,\nu}={{dK^{\mu}}\over{dV_0}}\;</MATH>|LKJ1}} Równanie {{LinkWzór|LKJ1}} w układach zakrzywionych przyjmuje postać, zamieniając przecinek średnikiem i wykorzystując: {{LinkPatrz|FF1}} i {{linkPatrz|FF2}}, wtedy: {{CentrujWzór|<MATH>{{1}\over{c}}{j^{\mu\nu}}_{;\nu}={{dK^{\mu}}\over{dV_0}}\Rightarrow{{\gamma}\over{c}}\sqrt{-g}{j^{\mu\nu}}_{;\nu}={{dK^{\mu}}\over{dV}}\;</MATH>|LKJ2}} Równanie {{LinkWzór|LKJ2}} jest równaniem lokalnej zasady zachowania energii-pędu wynikającej z praw szczególnej teorii względności z zasady zachowania energii-pędu lub lokalnej zachowawczości tensora gęstości energii-pędu. == Lokalna zasada zachowania tensora gęstości pędu == Weźmy lokalną zasadę zachowania tensora gęstości pędu szczególnej teorii względności według {{LinkWzór|3.19aaaaaa2|Lokalna zasada zachowania tensora pędu|Wyprowadzenie i próba podważenia, praw: szczególnej i ogólnej teorii względności|WPTW}}, wtedy możemy napisać wynikająco: {{CentrujWzór|<MATH>\gamma{{\partial}\over{c\partial t}}\left(\rho v^{\mu}\right)=-{{\gamma}\over{c}}{T^{\mu j}_k}_{,j}+{{dK^{\mu}_z}\over{dV}}\;</MATH>|JH1}} Przetransformuwujmy równanie {{LinkWzór|JH1}}, które jest dla układów lokalnie płaskich, zamieniając w nim przecinek na średnik, wiedząc, że macierz transformacji jest w postaci: {{CentrujWzór|<MATH>\Lambda=\begin{bmatrix}1&0\\0&\Lambda_p\end{bmatrix}\;</MATH>|JH2}} Wtedy na podstawie transformacji z macierzą transformacji {{LinkWzór|JH2}} w {{LinkWzór|JH1}} możemy dokonać tą wspomnianą operację, przechodząc z układu lokalnie płaskiego do zakrzywionego: {{CentrujWzór|<MATH>\gamma\left(\rho v^{\mu}\right)_{;0}=-{{\gamma}\over{c}}{T^{\mu j}_k}_{;j}+{{dK^{\mu}_z}\over{dV}}\Rightarrow \gamma\sqrt{-g}\left(\rho v^{\mu}\right)_{;0}=-{{\gamma}\over{c}}\sqrt{-g}{T^{\mu j}_k}_{;j}+{{dK^{\mu}_z}\over{dV}}\;</MATH>|JH3}} Równość {{LinkWzór|JH3}} jest równaniem lokalnej zasady zachowania tensora gęstości pędu dla układów zakrzywionych. == Rozwiązywanie układu równań ogólnej teorii względności == Ogólna teoria względności przedstawia swój zestaw równań ze sobą sprzecznych: równanie Hilberta-Einsteina {{LinkWzór|1.51|Wprowadzenie do ogólnej teorii względności}} (dla przyciągania grawitacyjnego) i {{LinkWzór|1.51a|Wprowadzenie do ogólnej teorii względności}} (dla odpychania grawitacyjnego) - należy tutaj tensor gęstości energii-pędu rozłożyć na ten podstawowy i inny zewnętrzny, lokalna zachowawczość tensora gęstości energii-pędu {{LinkWzór|ccv|Wprowadzenie do ogólnej teorii względności}}, równanie geodezyjne {{LinkWzór|1.70ab}} (układy rozciągłe), lokalna zasada zachowania energii-pędu {{LinkWzór|LKJ2}}, lokalna zasada zachowania tensora gęstości pędu {{LinkWzór|JH3}} i równanie wynikające z definicji jedynki z definicji różniczki interwału czasoprzestrzennego {{LinkWzór|KJH1|Wprowadzenie do ogólnej teorii względności}}, równania cechowania wynikłe z teorii lagrangianowych równania geodezyjnego dla układów rozciągłych i dalej należy uwzględnić w gęstościach sił (nawet w zewnętrznych) tensory sił od pola elektromagnetycznego i w dwóch prawach Hilberta-Einsteina grawitacji (równania opisujące odpychanie i przyciąganie grawitacyjne), dodatkowy człon, który jest tensorem gęstości energii-pędu od tego pola (gdy uwzględnimy pole elektromagnetyczne), oraz równania elektrodynamiki klasycznej dla układów zakrzywionych, te równania rozwiązuje się jak równania szczególnej teorii względności, tylko zamiast przestrzeni słabozakrzywionych, uważanych za ogólnie nieprostokątne ze współrzędnymi ogólnie nieprostokątnymi albo krzywoliniowymi lub uogólnionymi, mamy przestrzenie zakrzywione, zbudowane na przestrzeni słabozakrzywionej według szczególnej teorii względności, i zamiast szczególnej teorii względności jest ogólna teoria względności. Te równania możemy ogólnie zapisać tensorowo i rozwiązywać je, jak równania szczególnej teorii względności, według twierdzenia {{LinkTwierdzenie|GG1|Anormalne układy, tylko matematyczne, a nie fizyczne|Wyprowadzenie i próba podważenia, praw: szczególnej i ogólnej teorii względności|WPTW}}, tylko zamiast równań szczególnej teorii względności są równania ogólnej teorii względności. <noinclude>{{SkomplikowanaStronaKoniec}}</noinclude> 0h42v7zmsqgrjrqqvoofrxuaz0wpc9v Szablon:EfektKodów/styles.css 10 60178 559132 515646 2026-10-11T18:34:01Z Persino 2851 559132 sanitized-css text/css table.efekt-kodów > tbody > tr > th > div.cała-szerokość, table.efekt-kodów > tbody > tr > td > div.cała-szerokość{ height:100% !important; width:auto !important; overflow:visible !important; box-sizing:border-box !important; } table.efekt-kodów{ border-collapse: collapse; max-width: 100%; width:100%; box-sizing:border-box; } table.efekt-kodów, table.efekt-kodów > tbody,/* table.efekt-kodów > tbody > tr,*/ table.efekt-kodów > tbody > tr > th, table.efekt-kodów > tbody > tr > td{ margin: 0; border: 1px #aaaaaa solid; background-color: #ffffff; } table.efekt-kodów > tbody > tr > th > div, table.efekt-kodów > tbody > tr > td > div{ margin:0; } table.efekt-kodów > tbody > tr:first-child > th, table.efekt-kodów > tbody > tr:first-child > td{ padding:0.3rem; } table.efekt-kodów > tbody > tr:not(:first-child) > th, table.efekt-kodów > tbody > tr:not(:first-child) > td{ padding:0.3rem; } table.efekt-kodów > tbody > tr:first-child > th, table.efekt-kodów > tbody > tr:first-child > td{ background-color: #efefef; font-size: 95%; } table.efekt-kodów > tbody > tr > th:first-child, table.efekt-kodów > tbody > tr > td:first-child{ min-width:21.25rem; /*max-width:50%;*/ } table.efekt-kodów > tbody > tr > td:first-child{ word-wrap: break-word; word-break: normal; } table.efekt-kodów > tbody > tr > td > p:first-child{ margin-top:0; } table.efekt-kodów > tbody > tr > td > p:last-child{ margin-bottom:0; } table.efekt-kodów > tbody > tr > td{ max-width:0px; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:first-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:first-child{ margin-top:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:last-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:last-child{ margin-bottom:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:first-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:first-child{ margin-top:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:last-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:last-child{ margin-bottom:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:first-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:first-child{ margin-top:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:last-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:last-child{ margin-bottom:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:first-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:first-child{ margin-top:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:last-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:last-child{ margin-bottom:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p.br-clear + table, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p.br-clear + table, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p.br-clear + table, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p.br-clear + table{ margin-top:0; } table.efekt-kodów > tbody > tr > td > div.div-overflow-w-komórce.mw-overflow-x.mw-scrollbar-overflow-x{ padding-bottom:0.3125rem; } @media all and (max-width:745px), all and (max-device-height:745px){ table.efekt-kodów, table.efekt-kodów > tbody, table.efekt-kodów > tbody > tr, table.efekt-kodów > tbody > tr > th, table.efekt-kodów > tbody > tr > td{ width:100%; height:auto; box-sizing:border-box; overflow:visible; } table.efekt-kodów > tbody > tr > th *, table.efekt-kodów > tbody > tr > td *{ white-space:normal; } table.efekt-kodów, table.efekt-kodów > tbody, table.efekt-kodów > tbody > tr{ border:0; } table.efekt-kodów, table.efekt-kodów > tbody, table.efekt-kodów > tbody > tr, table.efekt-kodów > tbody > tr > th, table.efekt-kodów > tbody > tr > td{ display:block; box-sizing:border-box; margin:0; } table.efekt-kodów > tbody > tr > th, table.efekt-kodów > tbody > tr > td{ max-width:none !important; min-width:auto !important; } table.efekt-kodów > tbody > tr:first-child > th:first-child, table.efekt-kodów > tbody > tr:first-child > td:first-child{ clear:both; float:left; width:9rem; box-sizing: border-box; padding:0.23em 1em; } table.efekt-kodów > tbody > tr:first-child > th:nth-child(2), table.efekt-kodów > tbody > tr:first-child > td:nth-child(2){ float:left; max-width:calc( 100% - 9rem ) !important; box-sizing: border-box; padding:0.23em 1em; border-left:0; } table.efekt-kodów > tbody > tr:not(:first-child):not(:last-child) > th, table.efekt-kodów > tbody > tr:not(:first-child):not(:last-child) > td, table.efekt-kodów > tbody > tr:last-child > th:first-child, table.efekt-kodów > tbody > tr:last-child > td:first-child{ border-bottom:0; } table.efekt-kodów > tbody > tr:first-child{ display:flex; flex-direction:row; align-items: stretch; justify-content: center; } table.efekt-kodów > tbody > tr:first-child > td, table.efekt-kodów > tbody > tr:first-child > th{ display:flex; flex-direction:column; align-items: stretch; justify-content: center; border-bottom:0; } table.efekt-kodów > tbody > tr:not(:first-child){ display:flex; flex-direction:column; } table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > table, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > table, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > table, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > table{ overflow:visible; display:table; width:100% !important; } table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > table.wikitable, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > table.wikitable, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > table.wikitable, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > table.wikitable{ margin:0; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce{ width:auto !important; height:auto !important; overflow:auto; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce{ overflow:auto !important; max-width:none !important; max-height:none !important; } } /*{{Kategoria|Szablony - arkusze stylów}}*/ 4uudsixmdkrsfmpuup6vwp7dmpqgtkm 559135 559132 2026-10-11T18:43:05Z Persino 2851 559135 sanitized-css text/css table.efekt-kodów > tbody > tr > th > div.cała-szerokość, table.efekt-kodów > tbody > tr > td > div.cała-szerokość{ height:100% !important; width:auto !important; overflow:visible !important; box-sizing:border-box !important; } table.efekt-kodów{ border-collapse: collapse; max-width: 100%; width:100%; box-sizing:border-box; } table.efekt-kodów, table.efekt-kodów > tbody,/* table.efekt-kodów > tbody > tr,*/ table.efekt-kodów > tbody > tr > th, table.efekt-kodów > tbody > tr > td{ margin: 0; border: 1px #aaaaaa solid; background-color: #ffffff; } table.efekt-kodów > tbody > tr > th > div, table.efekt-kodów > tbody > tr > td > div{ margin:0; } table.efekt-kodów > tbody > tr:first-child > th, table.efekt-kodów > tbody > tr:first-child > td{ padding:0.3rem; } table.efekt-kodów > tbody > tr:not(:first-child) > th, table.efekt-kodów > tbody > tr:not(:first-child) > td{ padding:0.3rem; } table.efekt-kodów > tbody > tr:first-child > th, table.efekt-kodów > tbody > tr:first-child > td{ background-color: #efefef; font-size: 95%; } table.efekt-kodów > tbody > tr > th:first-child, table.efekt-kodów > tbody > tr > td:first-child{ min-width:21.25rem; /*max-width:50%;*/ } table.efekt-kodów > tbody > tr > td:first-child{ word-wrap: break-word; word-break: normal; hyphens:auto; } table.efekt-kodów > tbody > tr > td > p:first-child{ margin-top:0; } table.efekt-kodów > tbody > tr > td > p:last-child{ margin-bottom:0; } table.efekt-kodów > tbody > tr > td{ max-width:0px; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:first-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:first-child{ margin-top:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:last-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:last-child{ margin-bottom:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:first-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:first-child{ margin-top:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:last-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:last-child{ margin-bottom:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:first-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:first-child{ margin-top:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:last-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:last-child{ margin-bottom:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:first-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:first-child{ margin-top:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:last-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:last-child{ margin-bottom:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p.br-clear + table, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p.br-clear + table, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p.br-clear + table, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p.br-clear + table{ margin-top:0; } table.efekt-kodów > tbody > tr > td > div.div-overflow-w-komórce.mw-overflow-x.mw-scrollbar-overflow-x{ padding-bottom:0.3125rem; } @media all and (max-width:745px), all and (max-device-height:745px){ table.efekt-kodów, table.efekt-kodów > tbody, table.efekt-kodów > tbody > tr, table.efekt-kodów > tbody > tr > th, table.efekt-kodów > tbody > tr > td{ width:100%; height:auto; box-sizing:border-box; overflow:visible; } table.efekt-kodów > tbody > tr > th *, table.efekt-kodów > tbody > tr > td *{ white-space:normal; } table.efekt-kodów, table.efekt-kodów > tbody, table.efekt-kodów > tbody > tr{ border:0; } table.efekt-kodów, table.efekt-kodów > tbody, table.efekt-kodów > tbody > tr, table.efekt-kodów > tbody > tr > th, table.efekt-kodów > tbody > tr > td{ display:block; box-sizing:border-box; margin:0; } table.efekt-kodów > tbody > tr > th, table.efekt-kodów > tbody > tr > td{ max-width:none !important; min-width:auto !important; } table.efekt-kodów > tbody > tr:first-child > th:first-child, table.efekt-kodów > tbody > tr:first-child > td:first-child{ clear:both; float:left; width:9rem; box-sizing: border-box; padding:0.23em 1em; } table.efekt-kodów > tbody > tr:first-child > th:nth-child(2), table.efekt-kodów > tbody > tr:first-child > td:nth-child(2){ float:left; max-width:calc( 100% - 9rem ) !important; box-sizing: border-box; padding:0.23em 1em; border-left:0; } table.efekt-kodów > tbody > tr:not(:first-child):not(:last-child) > th, table.efekt-kodów > tbody > tr:not(:first-child):not(:last-child) > td, table.efekt-kodów > tbody > tr:last-child > th:first-child, table.efekt-kodów > tbody > tr:last-child > td:first-child{ border-bottom:0; } table.efekt-kodów > tbody > tr:first-child{ display:flex; flex-direction:row; align-items: stretch; justify-content: center; } table.efekt-kodów > tbody > tr:first-child > td, table.efekt-kodów > tbody > tr:first-child > th{ display:flex; flex-direction:column; align-items: stretch; justify-content: center; border-bottom:0; } table.efekt-kodów > tbody > tr:not(:first-child){ display:flex; flex-direction:column; } table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > table, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > table, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > table, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > table{ overflow:visible; display:table; width:100% !important; } table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > table.wikitable, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > table.wikitable, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > table.wikitable, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > table.wikitable{ margin:0; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce{ width:auto !important; height:auto !important; overflow:auto; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce{ overflow:auto !important; max-width:none !important; max-height:none !important; } } /*{{Kategoria|Szablony - arkusze stylów}}*/ nx3lx5iqmdwfhpfxchrlg5ofucsto6s 559140 559135 2026-10-11T19:03:44Z Persino 2851 559140 sanitized-css text/css table.efekt-kodów > tbody > tr > th > div.cała-szerokość, table.efekt-kodów > tbody > tr > td > div.cała-szerokość{ height:100% !important; width:auto !important; overflow:visible !important; box-sizing:border-box !important; } table.efekt-kodów{ border-collapse: collapse; max-width: 100%; width:100%; box-sizing:border-box; } table.efekt-kodów, table.efekt-kodów > tbody,/* table.efekt-kodów > tbody > tr,*/ table.efekt-kodów > tbody > tr > th, table.efekt-kodów > tbody > tr > td{ margin: 0; border: 1px #aaaaaa solid; background-color: #ffffff; } table.efekt-kodów > tbody > tr > th > div, table.efekt-kodów > tbody > tr > td > div{ margin:0; } table.efekt-kodów > tbody > tr:first-child > th, table.efekt-kodów > tbody > tr:first-child > td{ padding:0.3rem; } table.efekt-kodów > tbody > tr:not(:first-child) > th, table.efekt-kodów > tbody > tr:not(:first-child) > td{ padding:0.3rem; } table.efekt-kodów > tbody > tr:first-child > th, table.efekt-kodów > tbody > tr:first-child > td{ background-color: #efefef; font-size: 95%; } table.efekt-kodów > tbody > tr > th:first-child, table.efekt-kodów > tbody > tr > td:first-child{ min-width:21.25rem; /*max-width:50%;*/ } table.efekt-kodów > tbody > tr > td:first-child{ word-wrap: break-word; word-break: break-word; hyphens:auto; } table.efekt-kodów > tbody > tr > td > p:first-child{ margin-top:0; } table.efekt-kodów > tbody > tr > td > p:last-child{ margin-bottom:0; } table.efekt-kodów > tbody > tr > td{ max-width:0px; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:first-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:first-child{ margin-top:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:last-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:last-child{ margin-bottom:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:first-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:first-child{ margin-top:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:last-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:last-child{ margin-bottom:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:first-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:first-child{ margin-top:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:last-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p:last-child{ margin-bottom:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:first-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:first-child{ margin-top:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:last-child, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > pre:last-child{ margin-bottom:0 !important; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p.br-clear + table, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > p.br-clear + table, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p.br-clear + table, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > p.br-clear + table{ margin-top:0; } table.efekt-kodów > tbody > tr > td > div.div-overflow-w-komórce.mw-overflow-x.mw-scrollbar-overflow-x{ padding-bottom:0.3125rem; } @media all and (max-width:745px), all and (max-device-height:745px){ table.efekt-kodów, table.efekt-kodów > tbody, table.efekt-kodów > tbody > tr, table.efekt-kodów > tbody > tr > th, table.efekt-kodów > tbody > tr > td{ width:100%; height:auto; box-sizing:border-box; overflow:visible; } table.efekt-kodów > tbody > tr > th *, table.efekt-kodów > tbody > tr > td *{ white-space:normal; } table.efekt-kodów, table.efekt-kodów > tbody, table.efekt-kodów > tbody > tr{ border:0; } table.efekt-kodów, table.efekt-kodów > tbody, table.efekt-kodów > tbody > tr, table.efekt-kodów > tbody > tr > th, table.efekt-kodów > tbody > tr > td{ display:block; box-sizing:border-box; margin:0; } table.efekt-kodów > tbody > tr > th, table.efekt-kodów > tbody > tr > td{ max-width:none !important; min-width:auto !important; } table.efekt-kodów > tbody > tr:first-child > th:first-child, table.efekt-kodów > tbody > tr:first-child > td:first-child{ clear:both; float:left; width:9rem; box-sizing: border-box; padding:0.23em 1em; } table.efekt-kodów > tbody > tr:first-child > th:nth-child(2), table.efekt-kodów > tbody > tr:first-child > td:nth-child(2){ float:left; max-width:calc( 100% - 9rem ) !important; box-sizing: border-box; padding:0.23em 1em; border-left:0; } table.efekt-kodów > tbody > tr:not(:first-child):not(:last-child) > th, table.efekt-kodów > tbody > tr:not(:first-child):not(:last-child) > td, table.efekt-kodów > tbody > tr:last-child > th:first-child, table.efekt-kodów > tbody > tr:last-child > td:first-child{ border-bottom:0; } table.efekt-kodów > tbody > tr:first-child{ display:flex; flex-direction:row; align-items: stretch; justify-content: center; } table.efekt-kodów > tbody > tr:first-child > td, table.efekt-kodów > tbody > tr:first-child > th{ display:flex; flex-direction:column; align-items: stretch; justify-content: center; border-bottom:0; } table.efekt-kodów > tbody > tr:not(:first-child){ display:flex; flex-direction:column; } table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > table, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > table, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > table, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > table{ overflow:visible; display:table; width:100% !important; } table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > table.wikitable, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce > table.wikitable, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > table.wikitable, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce > table.wikitable{ margin:0; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce > div.div-nie-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce > div.div-nie-overflow-w-komórce{ width:auto !important; height:auto !important; overflow:auto; } table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > th > div.div-bez-overflow-w-komórce, table.efekt-kodów > tbody > tr:not(:first-child) > td > div.div-bez-overflow-w-komórce{ overflow:auto !important; max-width:none !important; max-height:none !important; } } /*{{Kategoria|Szablony - arkusze stylów}}*/ h27j9b76mpxzqzo4jxd1cmspfpy1r6y Mechanika teoretyczna/Kinematyka i dynamika klasyczna opisu punktu materialnego/Zasady zachowania 0 64138 559151 559059 2026-10-11T20:39:41Z Persino 2851 /* Wykorzystanie zasad zachowania do rozwiązywania równań ruchu */ 559151 wikitext text/x-wiki <noinclude><!-- -->{{SkomplikowanaStronaStart<!-- -->| stopka strony = {{Kreska nawigacja|{{AktualnaKsiążka}}|{{NastępnyArtykuł}}|{{PoprzedniArtykuł}}}}<!-- -->}}</noinclude> == Zasada zachowania pędu, momentu pędu i energii == W tym podrozdziale przechodzimy do jednego z najbardziej fundamentalnych i uniwersalnych zagadnień całej mechaniki klasycznej: zasad zachowania wielkości fizycznych. Są to prawa, które nie tylko opisują ruch, lecz także ujawniają głęboką strukturę fizyczną świata. Zasady zachowania pędu, momentu pędu i energii są absolutnymi filarami dynamiki — obowiązują w ruchu liniowym, obrotowym, w układach izolowanych, w zderzeniach, w oddziaływaniach sprężystych i niesprężystych, w ruchu planet, w mechanice kwantowej, a nawet w teorii względności. Każda z tych zasad wynika bezpośrednio z drugiej zasady dynamiki Newtona, lecz ich znaczenie wykracza daleko poza proste równania ruchu. Są one powiązane z symetriami przestrzeni i czasu: zachowanie pędu wynika z jednorodności przestrzeni, zachowanie momentu pędu z izotropii przestrzeni, a zachowanie energii z jednorodności czasu. W ten sposób mechanika klasyczna łączy geometrię świata z dynamiką ruchu. Równanie na drugą zasadę dynamiki Newtona {{LinkWzór|1.31|Kinematyka i dynamika klasyczna opisu punktu materialnego/Dynamika}} można zapisać przy pomocy definicji '''pędu''', który jest iloczynem masy ciała i jego prędkości: {{CentrujWzór|<MATH>\vec{p}=m\vec{v}\;</MATH>|1.62}} Definicja ta jest niezwykle ważna: pęd jest wielkością wektorową, która łączy masę i prędkość w jedną całość. Pęd nie jest tylko „masą razy prędkość” — jest to wielkość, która określa zdolność ciała do oddziaływania dynamicznego. Ciało o dużym pędzie trudno zatrzymać, trudno zmienić jego kierunek, trudno zmienić jego stan ruchu. Pęd jest miarą „ilości ruchu”. Zatem druga zasada dynamiki Newtona przy definicji pędu określonej wzorem {{LinkWzór|1.62}} przyjmuje postać: {{CentrujWzór|<MATH>\vec{F}={{d\vec{p}}\over{dt}}\;</MATH>|1.63}} Wzór {{LinkWzór|1.63}} jest najbardziej ogólną postacią drugiej zasady Newtona. Jest to forma, która obowiązuje: * dla ruchu liniowego, * dla ruchu obrotowego (gdzie pęd zastępuje moment pędu), * dla układów o zmiennej masie (np. rakiety), * w analizach relatywistycznych, gdzie pęd nie jest proporcjonalny do prędkości, * w zderzeniach sprężystych i niesprężystych, * w ruchu planetarnym, * w dynamice układów wielu ciał. W tej postaci druga zasada Newtona ujawnia swoją pełną moc: siła jest niczym innym jak szybkością zmiany pędu. Jeśli pęd się nie zmienia, siła jest równa zero. Jeśli pęd zmienia się szybko, siła jest duża. W ten sposób pęd staje się centralną wielkością opisującą dynamikę. Z równania {{LinkWzór|1.63}} wynika natychmiast zasada zachowania pędu: jeśli siła wypadkowa działająca na układ jest równa zero, to pęd całkowity układu jest stały. Jest to jedna z najważniejszych zasad w fizyce — pozwala analizować zderzenia, ruchy odrzutowe, dynamikę układów izolowanych, a także ruch ciał w przestrzeni kosmicznej. Analogicznie, jeśli zamiast pędu liniowego rozpatrujemy moment pędu, otrzymujemy zasadę zachowania momentu pędu. Jest to zasada, która opisuje ruch obrotowy, rotacje planet, ruch wirujący, dynamikę brył sztywnych, a także zjawiska kwantowe, takie jak spin elektronów. Wreszcie, z równania energii — które wynika z pracy wykonanej przez siły — otrzymujemy zasadę zachowania energii. Energia nie powstaje z niczego i nie znika — może jedynie zmieniać formę. W ruchu mechanicznie izolowanym energia kinetyczna i potencjalna wymieniają się, lecz ich suma pozostaje stała. Wszystkie te zasady — pędu, momentu pędu i energii — są ze sobą głęboko powiązane. Stanowią fundament całej mechaniki klasycznej i są niezbędne do analizy każdego ruchu, od najprostszych po najbardziej złożone. === Zasada zachowania pędu === W tym podrozdziale przechodzimy do jednego z najbardziej fundamentalnych praw mechaniki klasycznej: zasady zachowania pędu. Jest to zasada o ogromnym znaczeniu, ponieważ opisuje zachowanie układów zarówno prostych, jak i niezwykle złożonych — od ruchu pojedynczej cząstki, przez zderzenia atomów, aż po dynamikę planet i galaktyk. Pęd jest wielkością, która nie tylko opisuje ruch, lecz także ujawnia głęboką strukturę oddziaływań między ciałami. Zasada zachowania pędu jest jednym z filarów fizyki, obowiązującym w mechanice klasycznej, kwantowej, relatywistycznej, a także w teorii pól. Równanie {{LinkWzór|1.63}} opisuje ruch pojedynczej cząstki. Jest to równanie, które mówi, że siła działająca na cząstkę jest równa szybkości zmiany jej pędu. Pęd jest wielkością wektorową, dlatego równanie to opisuje zarówno zmianę wartości pędu, jak i jego kierunku. Jest to najbardziej ogólna postać drugiej zasady Newtona. Możemy jednak dodać poszczególne równania ruchu wszystkich cząstek układu stronami. Jest to krok niezwykle ważny, ponieważ pozwala przejść od dynamiki pojedynczej cząstki do dynamiki całego układu. Układ może składać się z dwóch cząstek, dziesięciu cząstek, miliardów cząstek — zasada zachowania pędu obowiązuje zawsze, niezależnie od liczby elementów. Korzystając z '''trzeciej zasady dynamiki Newtona''', otrzymujemy, że: * siły wewnętrzne działające między cząstkami '''wzajemnie się równoważą''', **Oznacza to, że każda siła działająca jednej cząstki na drugą ma swoją dokładną przeciwną odpowiedniczkę. ** Siły te są równe co do wartości i przeciwne co do zwrotu. W efekcie, gdy dodamy wszystkie siły wewnętrzne, ich suma wynosi zero. * zatem nie mają wpływu na zmianę pędu całego układu jako całości, ** Siły wewnętrzne mogą zmieniać pędy poszczególnych cząstek, lecz nie zmieniają pędu całkowitego. ** Oznacza to, że układ może „przekazywać” pęd między swoimi elementami, ale nie może go tworzyć ani niszczyć. * jedynie '''siły zewnętrzne''' mogą zmieniać pęd układu. ** Jeśli na układ działa siła zewnętrzna, pęd całkowity może się zmieniać. ** Jeśli siła zewnętrzna jest równa zero, pęd całkowity pozostaje stały. Jeśli na układ '''nie działa żadna niezrównoważona siła zewnętrzna''', to całkowity pęd układu jest wielkością stałą w czasie — jest zachowany. Jest to kluczowy wniosek: '''pęd całkowity układu izolowanego nie zmienia się'''. Układ izolowany to taki, na który nie działają siły zewnętrzne lub ich suma jest równa zero. Pęd układu złożonego z '''n''' cząstek zapisujemy jako sumę pędów wszystkich cząstek: {{CentrujWzór|<MATH>\vec{p}=\sum_i \vec{p}_i\;</MATH>|1.64}} Wzór {{LinkWzór|1.64}} jest matematycznym wyrażeniem '''zasady zachowania pędu'''. Pokazuje on, że pęd całkowity jest sumą pędów wszystkich elementów układu. Jeśli suma sił zewnętrznych jest równa zero, ta suma pozostaje niezmienna. Zasada ta obowiązuje zarówno w układach izolowanych, jak i w wielu procesach zderzeń, ruchu orbitalnego, dynamiki układów wielociałowych oraz w fizyce relatywistycznej. W zderzeniach sprężystych pęd jest zachowany. W zderzeniach niesprężystych pęd również jest zachowany, choć energia kinetyczna może się zmieniać. W ruchu planetarnym pęd orbitalny jest zachowany, jeśli nie działają siły zewnętrzne. W fizyce relatywistycznej pęd jest częścią czterowektora pędu-energii, który również podlega zasadzie zachowania. Zasada zachowania pędu jest jednym z najgłębszych praw natury — wynika z jednorodności przestrzeni, czyli z faktu, że prawa fizyki są takie same w każdym miejscu. W ten sposób mechanika klasyczna łączy geometrię świata z dynamiką ruchu. === Zasada zachowania momentu pędu === W tym podrozdziale przechodzimy do jednej z najgłębszych i najbardziej fundamentalnych zasad mechaniki klasycznej: zasady zachowania momentu pędu. Jest to zasada, która opisuje nie tylko ruch obrotowy pojedynczych cząstek, lecz także dynamikę brył sztywnych, ruch planet, gwiazd, galaktyk, a nawet zjawiska kwantowe, takie jak spin elektronów. Moment pędu jest wielkością, która ujawnia geometryczną strukturę przestrzeni — jego zachowanie wynika z izotropii przestrzeni, czyli z faktu, że prawa fizyki są takie same niezależnie od kierunku. Zdefiniujmy moment pędu jako iloczyn wektorowy wektora wodzącego i pędu, a moment siły jako iloczyn wektorowy wektora wodzącego i siły działającej na dany punkt ciała: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>\vec{K}=\vec{r}\times\vec{p}\;</MATH>|1.65}} | 2 = {{CentrujWzór|<MATH>\vec{N}=\vec{r}\times\vec{F}\;</MATH>|1.66}} }} Wzór {{LinkWzór|1.65}} definiuje moment pędu jako iloczyn wektorowy wektora położenia i pędu. Jest to wielkość wektorowa, która opisuje „ilość ruchu obrotowego”. Moment pędu zależy zarówno od tego, jak szybko ciało się porusza, jak i od tego, jak daleko znajduje się od osi obrotu. Wzór {{LinkWzór|1.66}} definiuje moment siły — wielkość, która określa zdolność siły do zmiany momentu pędu. Moment siły jest odpowiednikiem siły w ruchu obrotowym: tak jak siła zmienia pęd, tak moment siły zmienia moment pędu. Wyznaczając pochodną zupełną czasową momentu pędu zdefiniowanego w punkcie {{LinkWzór|1.65}} i korzystając z drugiej zasady dynamiki Newtona {{LinkWzór|1.31|Kinematyka i dynamika klasyczna opisu punktu materialnego/Dynamika}}, otrzymujemy: {{CentrujWzór|<MATH> {{d\vec{K}}\over{dt}} ={{d}\over{dt}}\left(\vec{r}\times\vec{p}\right) =\vec{v}\times\vec{p}+\vec{r}\times{{d\vec{p}}\over{dt}} =\vec{r}\times\vec{F} =\vec{N} \;</MATH>|1.67}} Każdy krok tego wyprowadzenia ma głębokie znaczenie: * Pochodna iloczynu wektorowego daje dwa składniki: {{Formuła|<MATH>\vec{v}\times\vec{p}\;</MATH>}} oraz {{Formuła|<MATH>\vec{r}\times \frac{d\vec{p}}{dt}\;</MATH>}}. ** Pierwszy składnik znika, ponieważ prędkość i pęd są równoległe (pęd jest masą razy prędkość). ** Drugi składnik pozostaje i prowadzi do momentu siły. * Korzystamy z równania {{Formuła|<MATH>\frac{d\vec{p}}{dt}=\vec{F}\;</MATH>}}, które jest ogólną postacią drugiej zasady Newtona. ** Dzięki temu otrzymujemy zależność między zmianą momentu pędu a momentem siły. Na podstawie obliczeń przeprowadzonych w punkcie {{LinkWzór|1.67}} możemy napisać, że infinitesymalna zmiana momentu pędu względem czasu jest równa momentowi siły: {{CentrujWzór|<MATH>\vec{N}={{d\vec{K}}\over{dt}}\;</MATH>|1.68}} Równanie {{LinkWzór|1.68}} opisuje ruch jednej cząstki, ale można je uogólnić na przypadek wielu cząstek, sumując ten wzór dla każdej z nich. W układzie wielu cząstek moment pędu całkowity jest sumą momentów pędu wszystkich elementów układu. * Wiedząc, że: ** moment siły działający na ciało A ze strony ciała B ** oraz moment siły działający na ciało B ze strony ciała A sumują się do zera (działają wzdłuż tego samego kierunku i spełniają trzecią zasadę dynamiki Newtona), otrzymujemy, że: * '''momenty sił wewnętrznych''' znoszą się w całkowitej sumie, ** Układ może przekazywać moment pędu między swoimi elementami, lecz nie może go tworzyć ani niszczyć. * pozostają tylko '''momenty sił zewnętrznych'''. ** Jeśli moment sił zewnętrznych jest równy zero, moment pędu całkowity nie zmienia się. Jeśli całkowity moment sił zewnętrznych jest równy zero, to całkowity moment pędu układu jest wielkością stałą w czasie — obowiązuje '''zasada zachowania momentu pędu'''. Zasada ta jest jednym z najważniejszych praw fizyki. Wyjaśnia: * dlaczego łyżwiarz obracający się szybciej po zbliżeniu rąk do ciała zwiększa prędkość obrotu, * dlaczego planety poruszają się szybciej, gdy są bliżej Słońca, * dlaczego wir wodny zwęża się i przyspiesza, * dlaczego gwiazdy zapadające się w supernowe obracają się coraz szybciej. Moment pędu jest wielkością, która ujawnia głęboką symetrię przestrzeni — jego zachowanie wynika z faktu, że przestrzeń nie wyróżnia żadnego kierunku. W ten sposób mechanika klasyczna łączy geometrię świata z dynamiką ruchu. === Energia potencjalna === W tym podrozdziale wprowadzamy jedno z najbardziej fundamentalnych pojęć mechaniki klasycznej: energię potencjalną. Jest to wielkość, która opisuje zdolność układu do wykonania pracy wskutek działania sił zależnych od położenia. Energia potencjalna nie jest energią ruchu — jest energią „ukrytą” w konfiguracji układu, wynikającą z oddziaływań, które mogą zmieniać położenie ciała. Aby jednak można było mówić o energii potencjalnej, siła musi spełniać określone warunki matematyczne, które zapewniają, że praca tej siły nie zależy od drogi, lecz wyłącznie od punktów początkowego i końcowego. Wprowadźmy definicję '''siły potencjalnej''' w taki sposób, że praca tej siły nie zależy od konturu, lecz wyłącznie od punktu początkowego i końcowego ruchu ciała. W takim przypadku praca siły po '''dowolnym zamkniętym konturze''' jest równa zero: {{CentrujWzór|<MATH>\oint_L \vec{F}\,d\vec{r}=0\;</MATH>|1.74}} Równanie {{LinkWzór|1.74}} jest jednym z najważniejszych warunków w teorii pól wektorowych. Oznacza ono, że siła nie wykonuje żadnej „cyrkulacji” wokół zamkniętej krzywej. Jeśli praca po zamkniętym konturze jest równa zero, to siła jest polem bezwirowym — jej działanie nie zależy od tego, jaką drogą porusza się ciało, lecz tylko od punktów początkowego i końcowego. Korzystając z twierdzenia Stokesa i definicji '''rotacji''' pola wektorowego, równanie {{LinkWzór|1.74}} możemy zapisać jako: {{CentrujWzór|<MATH> 0=\oint_L \vec{F}\,d\vec{r} =\int_S \operatorname{rot}\vec{F}\,d\vec{S} \;</MATH>|1.75}} Twierdzenie Stokesa jest jednym z najważniejszych twierdzeń analizy wektorowej. Łączy ono całkę po konturze z całką po powierzchni, ujawniając głęboką strukturę pola wektorowego. Jeśli rotacja pola jest równa zero, to całka po dowolnym konturze również jest równa zero. Na podstawie wniosku z {{LinkWzór|1.75}} otrzymujemy warunek konieczny i wystarczający na istnienie potencjału: {{CentrujWzór|<MATH>\operatorname{rot}\vec{F}=0\;</MATH>|1.76}} Warunek ten jest absolutnie fundamentalny: tylko pola o zerowej rotacji mogą być polami potencjalnymi. Oznacza to, że siła musi być „bezwirowa”, aby można było przypisać jej energię potencjalną. ---- * '''Niezależność pracy od drogi''' Udowodnijmy teraz, korzystając z równania {{LinkWzór|1.74}}, że całka pracy siły potencjalnej między punktami A i B jest niezależna od krzywej łączącej te punkty: {{CentrujWzór|<MATH> 0=\oint \vec{F}\,d\vec{r} =\int_{A(1)}^B \vec{F}\,d\vec{r} +\int_{B(2)}^A \vec{F}\,d\vec{r} =\int_{A(1)}^B \vec{F}\,d\vec{r} -\int_{A(2)}^B \vec{F}\,d\vec{r} \Rightarrow \int_{A(1)}^B \vec{F}\,d\vec{r} =\int_{A(2)}^B \vec{F}\,d\vec{r} \;</MATH>|1.77}} Widzimy zatem, że dla sił spełniających warunek {{LinkWzór|1.74}} lub równoważny {{LinkWzór|1.76}}, praca między punktami A i B '''nie zależy od drogi'''. Jest to definicja siły potencjalnej: siła taka „pamięta” tylko punkty początkowy i końcowy, a nie drogę, którą ciało przebyło. ---- * '''Definicja energii potencjalnej''' Jeśli ustaliliśmy, że dana siła jest siłą potencjalną, to energię potencjalną definiujemy jako: {{CentrujWzór|<MATH> U(\vec{r})=-\int_{\vec{r}_0}^{\vec{r}} \vec{F}\,d\vec{r} \Rightarrow dU=-\vec{F}\,d\vec{r} \Rightarrow \operatorname{grad}U\,d\vec{r}=-\vec{F}\,d\vec{r} \Rightarrow \vec{F}=-\operatorname{grad}U \;</MATH>|1.78}} Otrzymujemy więc fundamentalną zależność: * '''siła potencjalna jest gradientem energii potencjalnej ze znakiem minus''', * kierunek siły jest przeciwny do kierunku wzrostu energii potencjalnej. Jest to jedno z najważniejszych równań w mechanice klasycznej — łączy ono siłę z energią w sposób całkowicie ogólny. ---- * '''Klasyfikacja sił''' ** '''Siły potencjalne''' — siły posiadające potencjał, spełniające warunek {{Formuła|<MATH>\operatorname{rot}\vec{F}=0</MATH>}}. ** '''Siły konserwatywne''' — siły potencjalne '''niezależne od czasu'''; energia potencjalna jest zachowana. ** '''Siły niepotencjalne''' — siły, które '''nie posiadają potencjału''', np. siły tarcia; ich praca zależy od drogi. W ten sposób otrzymujemy pełną i spójną definicję energii potencjalnej oraz warunki, jakie musi spełniać siła, aby można było przypisać jej potencjał. ==== Energia potencjalna ciała w polu sił ciężkości ==== W tym fragmencie analizujemy jeden z najbardziej klasycznych i fundamentalnych przypadków energii potencjalnej: energię potencjalną ciała znajdującego się w jednorodnym polu sił ciężkości. Jest to sytuacja, która pojawia się w niezliczonych kontekstach fizycznych — od ruchu spadających ciał, przez dynamikę wahadeł, aż po energię potencjalną obiektów w polu grawitacyjnym Ziemi. Jednorodne pole grawitacyjne jest idealizacją, która doskonale opisuje warunki w pobliżu powierzchni Ziemi, gdzie przyspieszenie grawitacyjne można uznać za stałe. Niech naszym wektorem siły ciężkości będzie siła zależna od przyspieszenia ziemskiego {{Formuła|<MATH>\vec{g}</MATH>}}, lecz o zwrocie przeciwnym do kierunku osi pionowej rosnącej ku górze. Wektor siły ciężkości zapisujemy więc jako: {{CentrujWzór|<MATH>\vec{F}=-m\vec{g}\;</MATH>|1.79}} Wzór {{LinkWzór|1.79}} jest klasyczną definicją siły ciężkości: siła ta jest skierowana pionowo w dół, ma wartość równą iloczynowi masy i przyspieszenia ziemskiego, a jej kierunek jest przeciwny do osi z rosnącej ku górze. Jest to siła potencjalna, ponieważ jej praca zależy wyłącznie od różnicy wysokości, a nie od drogi, którą ciało przebyło. Zatem energia potencjalna według pierwszej równości {{LinkWzór|1.78}} wynosi: {{CentrujWzór|<MATH> U=-\int(-m\vec{g})\,d\vec{r} =m\int_0^{\vec{r}} \vec{g}\,d\vec{r} =mgz \;</MATH>|1.80}} Każdy krok tego wyprowadzenia ma głębokie znaczenie: * Całka z siły ciężkości jest całką z wektora stałego — przyspieszenie grawitacyjne nie zależy od położenia. * Całkowanie sprowadza się do obliczenia iloczynu masy, przyspieszenia ziemskiego i wysokości. * Otrzymujemy energię potencjalną proporcjonalną do wysokości — jest to najprostsza możliwa forma energii potencjalnej. Wynik {{LinkWzór|1.80}} oznacza, że: * energia potencjalna w polu grawitacyjnym zależy wyłącznie od wysokości {{Formuła|<MATH>z</MATH>}}, * jest proporcjonalna do masy ciała i przyspieszenia ziemskiego, * przyjmujemy konwencję, że energia potencjalna rośnie wraz z wysokością. Interpretacja fizyczna jest niezwykle intuicyjna: im wyżej znajduje się ciało, tym większą pracę trzeba wykonać, aby je tam umieścić, a więc tym większą energię potencjalną posiada. Energia ta jest „zmagazynowana” w konfiguracji układu i może zostać uwolniona, gdy ciało zacznie spadać. Jest to klasyczna postać energii potencjalnej w jednorodnym polu grawitacyjnym — jedna z najważniejszych zależności w całej mechanice klasycznej. Wynik ten stanowi fundament dla analizy ruchu w polu grawitacyjnym, dynamiki wahadeł, ruchu balistycznego, a także dla wielu zagadnień związanych z energią mechaniczną. ==== Energia potencjalna oscylatora harmonicznego tłumionego ==== W tym podrozdziale analizujemy energetyczny opis jednego z najważniejszych układów w fizyce klasycznej: oscylatora harmonicznego tłumionego. Jest to układ, który pojawia się w niezliczonych zastosowaniach — od drgań mechanicznych, przez układy elektroniczne, aż po modele atomowe i molekularne. Tłumienie jest zjawiskiem nieodłącznym w rzeczywistych układach: żadna sprężyna nie drga wiecznie, żadna konstrukcja nie wykonuje drgań bez strat, żadna fala nie propaguje się bez rozpraszania energii. Dlatego analiza energetyczna oscylatora tłumionego jest kluczowa dla zrozumienia dynamiki układów fizycznych. Równanie różniczkowe oscylatora harmonicznego {{LinkWzór|1.42|Kinematyka i dynamika klasyczna opisu punktu materialnego/Dynamika/Przykłady}} możemy pomnożyć przez pochodną współrzędnej położenia {{Formuła|<MATH>x\;</MATH>}}, czyli przez {{Formuła|<MATH>\dot{x}\;</MATH>}}. Wykonując to działanie, otrzymujemy zależność energetyczną: {{CentrujWzór|<MATH> \frac{d}{dt}\left(\frac{m\dot{x}^2}{2}+\frac{kx^2}{2}\right) =-2m\beta\,\dot{x}^2 \;</MATH>|1.81}} Wyrażenie po lewej stronie równania {{LinkWzór|1.81}}: {{Formuła|<MATH>\frac{d}{dt}\left(\frac{m\dot{x}^2}{2}+\frac{kx^2}{2}\right)</MATH>}} jest '''czasową pochodną energii całkowitej układu'''. Energia ta składa się z dwóch części: * energii kinetycznej: {{Formuła|<MATH>\frac{m\dot{x}^2}{2}</MATH>}}, * energii potencjalnej sprężyny: {{Formuła|<MATH>\frac{kx^2}{2}</MATH>}}. Suma tych dwóch składników jest energią mechaniczną oscylatora. Pochodna tej sumy względem czasu mówi nam, jak szybko energia mechaniczna zmienia się w czasie. Wyrażenie po prawej stronie równania: {{Formuła|<MATH>-2m\beta\,\dot{x}^2</MATH>}} jest '''mocą sił dysypatywnych''', czyli szybkością, z jaką energia mechaniczna jest tracona wskutek tłumienia. Ponieważ: * współczynnik tłumienia {{Formuła|<MATH>\beta</MATH>}} jest dodatni, * kwadrat prędkości {{Formuła|<MATH>\dot{x}^2</MATH>}} jest zawsze dodatni, całe wyrażenie jest '''ujemne'''. Oznacza to, że tłumienie '''zawsze''' zmniejsza energię układu — nigdy jej nie zwiększa. Jest to fundamentalna cecha sił dysypatywnych: działają one jak „opór energetyczny”, który odbiera układowi energię i zamienia ją na ciepło lub inne formy energii nieodwracalnej. ---- * Interpretacja fizyczna ** Energia całkowita oscylatora harmonicznego tłumionego '''nie jest zachowana'''. ** Tłumienie działa jak „opór energetyczny”, który systematycznie redukuje amplitudę drgań. ** Im większa prędkość {{Formuła|<MATH>\dot{x}</MATH>}}, tym większa moc tracona na skutek tłumienia — energia „ucieka” szybciej, gdy układ porusza się szybciej. ** Równanie {{LinkWzór|1.81}} jest energetycznym odpowiednikiem równania ruchu {{LinkWzór|1.42|Kinematyka i dynamika klasyczna opisu punktu materialnego/Dynamika/Przykłady}}. W ten sposób otrzymujemy pełny opis energetyczny oscylatora harmonicznego tłumionego — pokazujący, jak energia kinetyczna i potencjalna zmieniają się w czasie pod wpływem sił dysypatywnych. Jest to jeden z najważniejszych wyników w analizie układów drgających: tłumienie nie tylko zmienia równanie ruchu, lecz także wpływa na przepływ energii w układzie, prowadząc do stopniowego zaniku drgań. ==== Trójwymiarowy oscylator harmoniczny ==== W tym podrozdziale analizujemy pełną, trójwymiarową wersję oscylatora harmonicznego — jednego z najbardziej fundamentalnych układów w całej fizyce klasycznej i kwantowej. Oscylator harmoniczny w trzech wymiarach jest naturalnym uogólnieniem oscylatora jednowymiarowego, lecz jego struktura matematyczna i fizyczna jest znacznie bogatsza. Układ taki pojawia się w niezliczonych zastosowaniach: w drganiach atomów w cząsteczkach, w modelach kryształów, w dynamice pól kwantowych, w analizie ruchu w potencjałach centralnych, a także w wielu zagadnieniach związanych z symetrią przestrzeni. Siłę harmoniczną w trójwymiarowym układzie współrzędnych definiujemy jako iloczyn stałej sprężystości {{Formuła|<MATH>k\;</MATH>}} i wektora przemieszczenia od położenia równowagi {{Formuła|<MATH>\vec{r}\;</MATH>}}, wzięty z minusem: {{CentrujWzór|<MATH>\vec{F}=-k\vec{r}\;</MATH>|1.82}} Wzór {{LinkWzór|1.82}} jest naturalnym uogólnieniem prawa Hooke’a na trzy wymiary. Siła sprężystości jest zawsze skierowana przeciwnie do wektora przemieszczenia, a jej wartość rośnie proporcjonalnie do odległości od położenia równowagi. Oznacza to, że układ jest '''centralny''' — siła zawsze wskazuje na środek, niezależnie od kierunku wychylenia. Energię potencjalną zgodnie z definicją {{LinkWzór|1.78}} otrzymujemy jako całkę siły względem infinitezymalnego przesunięcia, również z minusem. Ponieważ siła jest proporcjonalna do wektora {{Formuła|<MATH>\vec{r}\;</MATH>}}, całkowanie wykonujemy składowo: {{CentrujWzór|<MATH> U =-\int_{\vec{0}}^{\vec{r}} \vec{F}\,d\vec{r} =k\int_{\vec{0}}^{\vec{r}} \vec{r}\,d\vec{r} =k\left(\int_0^x x\,dx + \int_0^y y\,dy + \int_0^z z\,dz\right) \;</MATH>}} Każdy składnik całki odpowiada energii potencjalnej wzdłuż jednej osi współrzędnych. Ponieważ siła jest liniowa i niezależna w każdej osi, całkowanie sprowadza się do trzech niezależnych całek jednowymiarowych. Po wykonaniu całkowania: {{CentrujWzór|<MATH> U =k\left(\frac{1}{2}x^2 + \frac{1}{2}y^2 + \frac{1}{2}z^2\right) =\frac{1}{2}k(x^2+y^2+z^2) =\frac{1}{2}k\,\vec{r}^{\,2} \;</MATH>|1.83}} Otrzymujemy energię potencjalną zależną wyłącznie od kwadratu odległości od położenia równowagi. Jest to niezwykle ważny wynik: energia potencjalna trójwymiarowego oscylatora harmonicznego jest funkcją radialną, zależną tylko od długości wektora {{Formuła|<MATH>\vec{r}</MATH>}}, a nie od kierunku. ---- * '''Interpretacja fizyczna''' ** Energia potencjalna trójwymiarowego oscylatora harmonicznego zależy wyłącznie od odległości od położenia równowagi. ** Powierzchnie stałej energii są '''sferami''' o promieniu {{Formuła|<MATH>r=\sqrt{\frac{2U}{k}}\;</MATH>}}. ** Układ zachowuje pełną symetrię izotropową — sprężyna „ciągnie” ciało zawsze w stronę środka, niezależnie od kierunku wychylenia. Interpretacja ta ma ogromne znaczenie fizyczne: * układ jest '''centralny''', * siła zależy tylko od odległości od środka, * energia potencjalna jest funkcją radialną, * ruch w takim potencjale jest naturalnym modelem dla wielu układów fizycznych, w tym dla oscylacji atomów w cząsteczkach i dla potencjałów kwantowych. Wynik {{LinkWzór|1.83}} jest naturalnym trójwymiarowym uogólnieniem energii potencjalnej oscylatora harmonicznego w jednym wymiarze. Pokazuje on, że struktura matematyczna oscylatora harmonicznego jest niezwykle elegancka: w każdym wymiarze energia potencjalna ma tę samą postać kwadratową, a w trzech wymiarach sumuje się do funkcji radialnej. Układ ten jest jednym z najważniejszych modeli w fizyce — jego symetria, prostota i uniwersalność sprawiają, że stanowi fundament dla wielu teorii, od klasycznej dynamiki po mechanikę kwantową. === Zasada zachowania energii === W tym podrozdziale przechodzimy do jednego z najważniejszych i najbardziej uniwersalnych praw fizyki: zasady zachowania energii. Jest to zasada, która przenika całą mechanikę klasyczną, mechanikę kwantową, teorię pól, termodynamikę, a nawet ogólną teorię względności. Energia jest wielkością, która nie powstaje z niczego i nie znika — może jedynie zmieniać formę. Aby jednak zrozumieć, skąd ta zasada wynika w mechanice Newtonowskiej, musimy przeanalizować równanie ruchu dla układu wielu cząstek i rozdzielić siły działające na układ na różne typy. Napiszmy drugą zasadę dynamiki Newtona {{LinkWzór|1.31|Kinematyka i dynamika klasyczna opisu punktu materialnego/Dynamika}} dla układu cząstek i rozdzielmy siły działające na układ na: * '''siły potencjalne''' ** działające '''wewnętrznie''': {{Formuła|<MATH>\vec F_{pij}</MATH>}} ** działające '''zewnętrznie''': {{Formuła|<MATH>\vec F_{pik}'</MATH>}} * '''siły dysypatywne''' ** działające '''wewnętrznie''': {{Formuła|<MATH>\vec F_{zij}</MATH>}} ** działające '''zewnętrznie''': {{Formuła|<MATH>\vec F_{zik}'</MATH>}} Podział ten jest kluczowy: siły potencjalne są siłami, które posiadają energię potencjalną, natomiast siły dysypatywne są siłami, które rozpraszają energię (np. tarcie, opór lepki). Siły wewnętrzne działają między cząstkami układu, natomiast siły zewnętrzne pochodzą spoza układu. Równanie ruchu dla cząstki \(i\) ma postać: {{CentrujWzór|<MATH> m_i\dot{\vec{v}}_i =\sum_j\vec{F}_{zij} +\sum_j\vec{F}_{pij} +\sum_k\vec{F}_{zik}' +\sum_k\vec{F}_{pik}' \;</MATH>|1.69}} Równanie to mówi, że przyspieszenie cząstki wynika ze wszystkich sił działających na nią — zarówno potencjalnych, jak i dysypatywnych, wewnętrznych i zewnętrznych. ---- * '''Przejście do opisu energetycznego''' Pomnóżmy równanie {{LinkWzór|1.69}} przez {{Formuła|<MATH>\vec{v}_i\,dt\;</MATH>}}: {{CentrujWzór|<MATH> m_i\dot{\vec{v}}_i\,\vec{v}_i\,dt =\sum_j\vec{F}_{zij}d\vec{r}_i +\sum_j\vec{F}_{pij}d\vec{r}_i +\sum_k\vec{F}_{zik}'d\vec{r}_i +\sum_k\vec{F}_{pik}'d\vec{r}_i \Rightarrow </MATH>{{Br}}<MATH> \Rightarrow d\left(\frac{m_iv_i^2}{2}\right) =\sum_j\vec{F}_{zij}d\vec{r}_i +\sum_j\vec{F}_{pij}d\vec{r}_i +\sum_k\vec{F}_{zik}'d\vec{r}_i +\sum_k\vec{F}_{pik}'d\vec{r}_i \;</MATH>|1.70}} Wyrażenie po lewej stronie jest różniczką energii kinetycznej cząstki. Wyrażenia po prawej stronie są pracami wykonywanymi przez różne typy sił. Równanie {{LinkWzór|1.70}} dotyczy jednej cząstki. Sumując je po wszystkich cząstkach układu i korzystając z definicji różniczki energii potencjalnej {{LinkWzór|1.78|Kinematyka i dynamika klasyczna opisu punktu materialnego/Zasady zachowania}}, otrzymujemy: {{CentrujWzór|<MATH> dT =\underbrace{\sum_{ij,i\neq j}\vec{F}_{zij}d\vec{r}_i}_{dW_1} +\sum_{ij,i\neq j}\vec{F}_{pij}d\vec{r}_i +\underbrace{\sum_{ki}\vec{F}_{zik}'d\vec{r}_i}_{dW_2} +\underbrace{\sum_{ki}\vec{F}_{pik}'d\vec{r}_i}_{-dU_2} =dW_1+\sum_{ij,i\neq j}\vec{F}_{pij}d\vec{r}_i+dW_2-dU_2 </MATH>{{Br}}<MATH> =dW+\sum_{ij,i\neq j}\vec{F}_{pij}d\vec{r}_i-dU_2 \;</MATH>|1.71}} W równaniu tym: * {{Formuła|<MATH>dT</MATH>}} — zmiana energii kinetycznej, * {{Formuła|<MATH>dW</MATH>}} — praca sił dysypatywnych, * {{Formuła|<MATH>dU_1</MATH>}} — zmiana energii potencjalnej sił wewnętrznych, * {{Formuła|<MATH>dU_2</MATH>}} — zmiana energii potencjalnej sił zewnętrznych. ---- * '''Siły potencjalne wewnętrzne''' Rozpatrzmy teraz siły potencjalne działające między cząstkami: {{CentrujWzór|<MATH> \sum_{ij,i\neq j}\vec{F}_{pij}d\vec{r}_i =\sum_{i,j,i<j}\left(\vec{F}_{pij}d\vec{r}_i+\vec{F}_{pji}d\vec{r}_j\right) =\sum_{i,j,i<j}\left(\vec{F}_{pij}d\vec{r}_i-\vec{F}_{pij}d\vec{r}_j\right) </MATH>{{Br}}<MATH> =\sum_{i,j,i<j}\vec{F}_{pij}d(\vec{r}_i-\vec{r}_j) =\sum_{i,j,i<j}\vec{F}_{pij}d\vec{r}_{ij} =-\sum_{i,j,i<j}dU_{ij} =-dU_1 \;</MATH>|1.72}} W powyższym obliczeniu użyliśmy definicji różniczki zupełnej energii potencjalnej. Siły wewnętrzne potencjalne nie zmieniają energii całkowitej — jedynie zamieniają energię kinetyczną na potencjalną i odwrotnie. ---- * '''Końcowy wynik: równanie energii''' Podstawiając wynik {{LinkWzór|1.72}} do równania {{LinkWzór|1.71}}, otrzymujemy: {{CentrujWzór|<MATH> dT=dW-dU_1-dU_2 \Rightarrow dT+d(U_1+U_2)=dW \Rightarrow dT+dU=dW \Rightarrow d(T+U)=dW \Rightarrow dE=dW \;</MATH>|1.73}} Otrzymujemy fundamentalne równanie energii: * energia całkowita układu: {{Formuła|<MATH>E=T+U</MATH>}}, * jej zmiana jest równa pracy sił zewnętrznych: {{Formuła|<MATH>dE=dW</MATH>}}. ---- * '''Interpretacja fizyczna''' ** {{Formuła|<MATH>E=T+U\;</MATH>}} — energia całkowita układu. ** {{Formuła|<MATH>dE=dW\;</MATH>}} — zmiana energii układu jest równa pracy sił zewnętrznych. ** Jeśli siły zewnętrzne nie wykonują pracy (układ izolowany), to: {{Formuła|<MATH>dW=0 \Rightarrow dE=0</MATH>}}. co oznacza, że '''energia całkowita układu jest zachowana'''. ---- * '''Wniosek: zasada zachowania energii''' Zasada zachowania energii jest bezpośrednim skutkiem: * drugiej zasady Newtona, * trzeciej zasady Newtona, * definicji sił potencjalnych, * oraz własności sił dysypatywnych. W układzie izolowanym energia całkowita pozostaje stała — jest to jedno z najważniejszych praw fizyki klasycznej. == Wykorzystanie zasad zachowania do rozwiązywania równań ruchu == W tym podrozdziale pokazujemy, jak zasady zachowania — momentu pędu i energii — pozwalają sprowadzić pełny problem ruchu w polu centralnym do znacznie prostszego zagadnienia ruchu jednowymiarowego. Jest to jedna z najważniejszych technik w mechanice klasycznej: zamiast rozwiązywać pełne równania ruchu w dwóch lub trzech wymiarach, wykorzystujemy symetrie układu, aby zredukować liczbę stopni swobody. Załóżmy, że ciało porusza się w jednej płaszczyźnie. Z zasady zachowania '''momentu pędu''' i '''energii''', oraz z definicji prędkości w układzie współrzędnych radialnych, mamy: {{ElastycznyWiersz | 1 = {{CentrujWzór|<MATH>mr^2\dot{\phi}=L=\operatorname{const}\;</MATH>|1.84}} | 2 = {{CentrujWzór|<MATH>\frac{m}{2}\left(\dot{r}^2+r^2\dot{\phi}^2\right)+U(r)=E=\operatorname{const}\;</MATH>|1.85}} }} Wzór {{LinkWzór|1.84}} jest wyrazem zasady zachowania momentu pędu: jeśli siła działająca na ciało jest centralna (skierowana wzdłuż promienia), to moment pędu jest stały. Wzór {{LinkWzór|1.85}} jest wyrazem zasady zachowania energii: suma energii kinetycznej (radialnej i kątowej) oraz potencjalnej jest stała. Ze wzoru {{LinkWzór|1.84}} wyznaczamy {{Formuła|<MATH>\dot{\phi}\;</MATH>}} i podstawiamy do równania energii {{LinkWzór|1.85}}: {{CentrujWzór|<MATH> \frac{m\dot{r}^2}{2}+\frac{L^2}{2mr^2}+U(r)=E \;</MATH>|1.86}} Otrzymujemy równanie ruchu w kierunku radialnym. Jest to równanie jednowymiarowe, w którym efekty ruchu kątowego zostały „wbudowane” w dodatkowy składnik: {{Formuła|<MATH>\frac{L^2}{2mr^2}</MATH>}} zwany '''barierą odśrodkową'''. To równanie można rozwiązać metodą '''rozdzielenia zmiennych''', otrzymując: {{CentrujWzór|<MATH> dt=\pm\frac{dr}{\sqrt{\frac{2}{m}\left(E-U(r)-\frac{L^2}{2mr^2}\right)}} \;</MATH>|1.87}} Zatem czas przejścia z {{Formuła|<MATH>r_0\;</MATH>}} do {{Formuła|<MATH>r\;</MATH>}}: {{CentrujWzór|<MATH> t-t_0=\pm\int_{r_0}^r \frac{dr}{\sqrt{\frac{2}{m}\left(E-U(r)-\frac{L^2}{2mr^2}\right)}} \;</MATH>|1.88}} To równanie opisuje pełną dynamikę radialną — bez konieczności rozwiązywania równania dla kąta. ---- * Kąt obrotu jako funkcja położenia radialnego Z równania momentu pędu {{LinkWzór|1.84}}: {{CentrujWzór|<MATH> d\theta=\frac{L}{mr^2}\,dt \;</MATH>|1.89}} Podstawiając {{Formuła|<MATH>dt\;</MATH>}} z {{LinkWzór|1.87}} i całkując: {{CentrujWzór|<MATH> \theta-\theta_0 =\pm\int_{r_0}^r \frac{L\,dr}{r^2\sqrt{2m\left[E-U(r)-\frac{L^2}{2mr^2}\right]}} \;</MATH>|1.90}} Otrzymujemy pełną zależność kąta od promienia. W ten sposób rozwiązujemy ruch w polu centralnym '''bez rozwiązywania równań różniczkowych drugiego rzędu''' — jedynie całkując równania wynikające z zasad zachowania. ---- * Energia efektywna Wzory {{LinkWzór|1.88}} i {{LinkWzór|1.90}} można zapisać z użyciem '''energii efektywnej''': {{CentrujWzór|<MATH> U_{ef}(r)=U(r)+\frac{L^2}{2mr^2} \;</MATH>|1.91}} Wtedy równanie radialne ma postać: {{CentrujWzór|<MATH> \frac{m\dot{r}^2}{2}+U_{ef}(r)=E \;</MATH>}} co odpowiada ruchowi '''jednowymiarowemu''' w potencjale {{Formuła|<MATH>U_{ef}(r)</MATH>}}. Składnik {{Formuła|<MATH>\frac{L^2}{2mr^2}</MATH>}} jest barierą „odśrodkową” wynikającą z zachowania momentu pędu. Im większy moment pędu, tym większa bariera — ciało nie może zbliżyć się do środka poniżej pewnej minimalnej wartosci {{Formuła|<MATH>r</MATH>}}. Energia efektywna zależy więc: * od energii potencjalnej {{Formuła|<MATH>U(r)</MATH>}} w polu centralnym, * oraz od momentu pędu {{Formuła|<MATH>L</MATH>}}. Dzięki temu: * minimum {{Formuła|<MATH>U_{ef}(r)\;</MATH>}} wyznacza możliwe promienie orbit kołowych, * kształt {{Formuła|<MATH>U_{ef}(r)\;</MATH>}} decyduje o tym, czy ruch jest związany (oscylacje radialne), czy rozbiegający (ucieczka do {{Formuła|<MATH>r\to\infty\;</MATH>}}, * ruch w polu centralnym sprowadza się do analizy jednego wykresu — wykresu energii efektywnej. To jest główny sens „wykorzystania zasad zachowania” do rozwiązywania równań ruchu: * symetria układu pozwala zredukować pełny problem dwuwymiarowy do jednowymiarowego, a równania ruchu sprowadzają się do prostych całek. <noinclude>{{SkomplikowanaStronaKoniec}}</noinclude> 5ehstpu9idpfvtylmxehu12pf70x37d Wikipedysta:Persino/Gadget-Vector-2022.css/before-content.css 2 64321 559125 557020 2026-10-11T16:20:33Z Persino 2851 559125 css text/css .vector-body-before-content > .mw-indicators img, .mw-body-header .mw-indicators img{ max-height:1.7em; } .vector-body-before-content #contentSub:has( > #mw-content-subtitle > .cdx-message){ width:-moz-available; } .vector-body-before-content #contentSub, .vector-body-before-content #contentSub2, .vector-body-before-content #siteSub, .vector-body-before-content .mw-indicators{ margin:auto 0; padding:0; } .vector-body-before-content #contentSub > :not(:empty){ margin:auto 0; } .vector-body-before-content #siteSub{ font-size:1em; line-height:1.4; } .vector-body-before-content #contentSub:has( > *:not(:empty)){ display:block !important; } .vector-body-before-content #contentSub:not(:has( > *:not(:empty))){ display:none; } .vector-body-before-content #contentSub{ order:1; display:block; margin:auto 0; } .vector-body-before-content #siteSub{ display:none; } .vector-body-before-content #siteSub:not(:has( ~ #contentSub > *:not(:empty))){ display:block; order:1; } .vector-body-before-content .mw-indicators{ order:2; } .vector-body-before-content{ font-size:1rem; line-height:1.4; display:flex; flex-direction:row; justify-content:space-between; align-items: flex-end; padding:0.25rem 0; border-bottom:1px solid #c8ccd1; } body.action-view:has(.mw-body-header > .mw-indicators) .vector-body-before-content:not(:has(#contentSub > *:not(:empty))):not(:has( > .mw-indicators > * )), body.action-submit .vector-body-before-content:not(:has(#contentSub > *:not(:empty))):not(:has( > .mw-indicators > *)), body.action-edit .vector-body-before-content{ display:none; } .vector-body-before-content:has( > #contentSub > #mw-content-subtitle > .cdx-message ){ flex-direction:column; } .vector-body-before-content > .mw-indicators:not(:has( > *)){ display:none; } .vector-body-before-content:not(:has( > #contentSub > :not(:empty))) > #siteSub{ order:1; } .vector-body-before-content > .mw-indicators:has( > *){ order:2; flex-basis:-moz-available; flex-basis:-webkit-fill-available; flex-basis:stretch; max-width: fit-content; max-width:-moz-fit-content; align-items:center; justify-content: center; } .vector-body-before-content:has( > #contentSub > #mw-content-subtitle > .cdx-message ) > #contentSub{ order:2; display:block !important; } .vector-body-before-content:has( > #contentSub > #mw-content-subtitle > .cdx-message ):has( > .mw-indicators > * ) > #contentSub{ border-top: 1px solid #c8ccd1; } .vector-body-before-content:has( > #contentSub > #mw-content-subtitle > .cdx-message ) > .mw-indicators:has( > *){ order:1; padding:0.25rem 0; width:auto; align-items:center; justify-content: end; } .vector-body-before-content:not(:has( > .mw-indicators > * )):has( > #contentSub > #mw-content-subtitle > .subpages), .vector-body-before-content:not(:has( > .mw-indicators > * )):has( > #contentSub > #mw-content-subtitle > .subpages) > #contentSub > #mw-content-subtitle, .vector-body-before-content:not(:has( > .mw-indicators > * )) > #contentSub > #mw-content-subtitle > .subpages{ width:100%; } .vector-body-before-content:not(:has( > .mw-indicators > * )):has( > #contentSub > #mw-content-subtitle > .subpages) > #contentSub{ width:-moz-available; } .vector-body-before-content:not(:has( > .mw-indicators > * )) > #contentSub > #mw-content-subtitle:not(:last-child) > .subpages{ padding-bottom: 0.25rem; border-bottom: 1px solid #c8ccd1; margin-bottom:4px; } /*.vector-body-before-content:not(:has( > .mw-indicators > * )):not(:has( > #contentSub > #mw-content-subtitle:not(:empty), > #contentSub > #pwContent)){ border-bottom:0; padding:0; }*/ /**/ .vector-body-before-content > #siteSub{ font-size:0.9rem; line-height:1.2; } .vector-body-before-content:has( > .mw-indicators > * ):not(:has(> #contentSub > :not(:empty))):not(:has(> #siteSub)){ justify-content:flex-end; } /*.vector-body-before-content:has( > .mw-indicators > * ):has(> #contentSub > :not(:empty)) > .mw-indicators, .vector-body-before-content:has( > .mw-indicators > * ):has(> #contentSub > :not(:only-child)) > .mw-indicators{ flex: 1 0 auto; }*/ .vector-body-before-content:has( > .mw-indicators > * ):not(:has( > #contentSub > :not(:empty) )) > #siteSub, .vector-body-before-content:has( > .mw-indicators > * ):not(:has( > #contentSub > #mw-content-subtitle > .cdx-message )) #contentSub:has( > #pwContent, > #mw-content-subtitle:not(:empty)){ flex-shrink: 1; border-right: 1px solid #c8ccd1; margin-right:0.375rem; } .vector-body-before-content:has( > .mw-indicators > * ):not(:has( > #contentSub > :not(:empty) )) > #siteSub, .vector-body-before-content:has( > .mw-indicators > * ):not(:has( > #contentSub > #mw-content-subtitle > .cdx-message )) #contentSub:not(:has( + #contentSub2)):has( > #pwContent, > #mw-content-subtitle:not(:empty)), .vector-body-before-content:has( > .mw-indicators > * ):not(:has( > #contentSub > #mw-content-subtitle > .cdx-message )) #contentSub + #contentSub2{ width:-moz-available; width:-webkit-fill-available; width:stretch; } .vector-body-before-content #contentSub > #pwContent:not(:empty):first-child, .vector-body-before-content #contentSub > #mw-content-subtitle:not(:empty):first-child{ padding-top:0; } .vector-body-before-content #contentSub > #pwContent:not(:empty):last-child, .vector-body-before-content #contentSub > #mw-content-subtitle:not(:empty):last-child, .vector-body-before-content #contentSub > #pwContent:not(:empty):not(:has(~ :not(:empty))), .vector-body-before-content #contentSub > #mw-content-subtitle:not(:empty):not(:has(~ :not(:empty))){ padding-bottom:0; } .vector-body-before-content #contentSub > #pwContent:not(:empty), .vector-body-before-content #contentSub > #mw-content-subtitle:not(:empty){ margin:auto 0; width:100%; padding:0.25rem 0; } .vector-body-before-content > #contentSub > #pwContent:not(:last-child):not(:empty):has(~ :not(:empty)), .vector-body-before-content > #contentSub > #mw-content-subtitle:not(:last-child):not(:empty):has(~ :not(:empty)){ border-bottom:1px solid #c8ccd1; } #contentSub > #pwContent > #pwPathway, #contentSub > #pwContent > #pwPathway + #pwNav, #contentSub > #mw-content-subtitle, #contentSub > #mw-content-subtitle > .subpages, #contentSub2 > .subpages > .mw-undelete-subtitle{ font-size:0.9rem; line-height:1.2em; } /*html:not(.client-nojs) body:not(.mw-special-Watchlist) #mw-content-subtitle:not(:empty), html.client-nojs #mw-content-subtitle:not(:empty){ border-bottom:1px solid #c8ccd1; padding-bottom:3px; }*/ #mw-content-subtitle > .subpages:not(:last-child){ border-bottom:1px solid #c8ccd1; padding-bottom:3px; } #mw-content-subtitle .cdx-message:not(:last-child){ margin:10px 0; } #mw-content-subtitle .cdx-message:last-child{ margin:10px 0 8px 0; } #mw-content-subtitle #redirectsub, #mw-content-subtitle .mw-redirectedfrom{ display:block; margin:auto 0; } #mw-content-subtitle .mw-redirectedfrom:not(:last-child){ border-bottom: 1px solid #c8ccd1; } 0k1th3pj20urf51sedbp43l1ynv9rgw 559126 559125 2026-10-11T16:22:43Z Persino 2851 559126 css text/css .vector-body-before-content > .mw-indicators img, .mw-body-header .mw-indicators img{ max-height:1.7em; } .vector-body-before-content #contentSub:has( > #mw-content-subtitle > .cdx-message){ width:-moz-available; } .vector-body-before-content #contentSub, .vector-body-before-content #contentSub2, .vector-body-before-content #siteSub, .vector-body-before-content .mw-indicators{ margin:auto 0; padding:0; } .vector-body-before-content #contentSub > :not(:empty){ margin:auto 0; } .vector-body-before-content #siteSub{ font-size:1em; line-height:1.4; } .vector-body-before-content #contentSub:has( > *:not(:empty)){ display:block !important; } .vector-body-before-content #contentSub:not(:has( > *:not(:empty))){ display:none; } .vector-body-before-content #contentSub{ order:1; display:block; margin:auto 0; } .vector-body-before-content #siteSub{ display:none; } .vector-body-before-content #siteSub:not(:has( ~ #contentSub > *:not(:empty))){ display:block; order:1; } .vector-body-before-content .mw-indicators{ order:2; } .vector-body-before-content{ font-size:1rem; line-height:1.4; display:flex; flex-direction:row; justify-content:space-between; align-items: flex-end; padding:0.25rem 0; border-bottom:1px solid #c8ccd1; } body.action-view:has(.mw-body-header > .mw-indicators) .vector-body-before-content:not(:has(#contentSub > *:not(:empty))):not(:has( > .mw-indicators > * )), body.action-submit .vector-body-before-content:not(:has(#contentSub > *:not(:empty))):not(:has( > .mw-indicators > *)), body.action-edit .vector-body-before-content{ display:none; } .vector-body-before-content:has( > #contentSub > #mw-content-subtitle > .cdx-message ){ flex-direction:column; } .vector-body-before-content > .mw-indicators:not(:has( > *)){ display:none; } .vector-body-before-content:not(:has( > #contentSub > :not(:empty))) > #siteSub{ order:1; } .vector-body-before-content > .mw-indicators:has( > *){ order:2; flex-basis:-moz-available; flex-basis:-webkit-fill-available; flex-basis:stretch; max-width: fit-content; max-width:-moz-fit-content; align-items:center; justify-content: center; } .vector-body-before-content:has( > #contentSub > #mw-content-subtitle > .cdx-message ) > #contentSub{ order:2; display:block !important; } .vector-body-before-content:has( > #contentSub > #mw-content-subtitle > .cdx-message ):has( > .mw-indicators > * ) > #contentSub{ border-top: 1px solid #c8ccd1; } .vector-body-before-content:has( > #contentSub > #mw-content-subtitle > .cdx-message ) > .mw-indicators:has( > *){ order:1; padding:0.25rem 0; width:auto; align-items:center; justify-content: end; } .vector-body-before-content:not(:has( > .mw-indicators > * )):has( > #contentSub > #mw-content-subtitle > .subpages), .vector-body-before-content:not(:has( > .mw-indicators > * )):has( > #contentSub > #mw-content-subtitle > .subpages) > #contentSub > #mw-content-subtitle, .vector-body-before-content:not(:has( > .mw-indicators > * )) > #contentSub > #mw-content-subtitle > .subpages{ width:100%; } .vector-body-before-content:not(:has( > .mw-indicators > * )):has( > #contentSub > #mw-content-subtitle > .subpages) > #contentSub{ width:-moz-available; } .vector-body-before-content:not(:has( > .mw-indicators > * )) > #contentSub > #mw-content-subtitle:not(:last-child) > .subpages{ padding-bottom: 0.25rem; border-bottom: 1px solid #c8ccd1; margin-bottom:4px; } /*.vector-body-before-content:not(:has( > .mw-indicators > * )):not(:has( > #contentSub > #mw-content-subtitle:not(:empty), > #contentSub > #pwContent)){ border-bottom:0; padding:0; }*/ /**/ .vector-body-before-content > #siteSub{ font-size:0.9rem; line-height:1.2; } .vector-body-before-content:has( > .mw-indicators > * ):not(:has(> #contentSub > :not(:empty))):not(:has(> #siteSub)){ justify-content:flex-end; } /*.vector-body-before-content:has( > .mw-indicators > * ):has(> #contentSub > :not(:empty)) > .mw-indicators, .vector-body-before-content:has( > .mw-indicators > * ):has(> #contentSub > :not(:only-child)) > .mw-indicators{ flex: 1 0 auto; }*/ .vector-body-before-content:has( > .mw-indicators > * ):not(:has( > #contentSub > :not(:empty) )) > #siteSub, .vector-body-before-content:has( > .mw-indicators > * ):not(:has( > #contentSub > #mw-content-subtitle > .cdx-message )) #contentSub:has( > #pwContent, > #mw-content-subtitle:not(:empty)){ flex-shrink: 1; border-right: 1px solid #c8ccd1; margin-right:0.375rem; padding-right:0.375rem; } .vector-body-before-content:has( > .mw-indicators > * ):not(:has( > #contentSub > :not(:empty) )) > #siteSub, .vector-body-before-content:has( > .mw-indicators > * ):not(:has( > #contentSub > #mw-content-subtitle > .cdx-message )) #contentSub:not(:has( + #contentSub2)):has( > #pwContent, > #mw-content-subtitle:not(:empty)), .vector-body-before-content:has( > .mw-indicators > * ):not(:has( > #contentSub > #mw-content-subtitle > .cdx-message )) #contentSub + #contentSub2{ width:-moz-available; width:-webkit-fill-available; width:stretch; } .vector-body-before-content #contentSub > #pwContent:not(:empty):first-child, .vector-body-before-content #contentSub > #mw-content-subtitle:not(:empty):first-child{ padding-top:0; } .vector-body-before-content #contentSub > #pwContent:not(:empty):last-child, .vector-body-before-content #contentSub > #mw-content-subtitle:not(:empty):last-child, .vector-body-before-content #contentSub > #pwContent:not(:empty):not(:has(~ :not(:empty))), .vector-body-before-content #contentSub > #mw-content-subtitle:not(:empty):not(:has(~ :not(:empty))){ padding-bottom:0; } .vector-body-before-content #contentSub > #pwContent:not(:empty), .vector-body-before-content #contentSub > #mw-content-subtitle:not(:empty){ margin:auto 0; width:100%; padding:0.25rem 0; } .vector-body-before-content > #contentSub > #pwContent:not(:last-child):not(:empty):has(~ :not(:empty)), .vector-body-before-content > #contentSub > #mw-content-subtitle:not(:last-child):not(:empty):has(~ :not(:empty)){ border-bottom:1px solid #c8ccd1; } #contentSub > #pwContent > #pwPathway, #contentSub > #pwContent > #pwPathway + #pwNav, #contentSub > #mw-content-subtitle, #contentSub > #mw-content-subtitle > .subpages, #contentSub2 > .subpages > .mw-undelete-subtitle{ font-size:0.9rem; line-height:1.2em; } /*html:not(.client-nojs) body:not(.mw-special-Watchlist) #mw-content-subtitle:not(:empty), html.client-nojs #mw-content-subtitle:not(:empty){ border-bottom:1px solid #c8ccd1; padding-bottom:3px; }*/ #mw-content-subtitle > .subpages:not(:last-child){ border-bottom:1px solid #c8ccd1; padding-bottom:3px; } #mw-content-subtitle .cdx-message:not(:last-child){ margin:10px 0; } #mw-content-subtitle .cdx-message:last-child{ margin:10px 0 8px 0; } #mw-content-subtitle #redirectsub, #mw-content-subtitle .mw-redirectedfrom{ display:block; margin:auto 0; } #mw-content-subtitle .mw-redirectedfrom:not(:last-child){ border-bottom: 1px solid #c8ccd1; } rgjhkn9jc32v95p1fkra4779if7dnwh 559127 559126 2026-10-11T16:43:17Z Persino 2851 559127 css text/css .vector-body-before-content > .mw-indicators img, .mw-body-header .mw-indicators img{ max-height:1.7em; } .vector-body-before-content #contentSub:has( > #mw-content-subtitle > .cdx-message){ width:-moz-available; } .vector-body-before-content #contentSub, .vector-body-before-content #contentSub2, .vector-body-before-content #siteSub, .vector-body-before-content .mw-indicators{ margin:auto 0; padding:0; } .vector-body-before-content #contentSub > :not(:empty){ margin:auto 0; } .vector-body-before-content #siteSub{ font-size:1em; line-height:1.4; } .vector-body-before-content #contentSub:has( > *:not(:empty)){ display:block !important; } .vector-body-before-content #contentSub:not(:has( > *:not(:empty))){ display:none; } .vector-body-before-content #contentSub{ order:2; } .vector-body-before-content #contentSub2{ order:1; } .vector-body-before-content #siteSub{ display:none; } .vector-body-before-content #siteSub:not(:has( ~ #contentSub > *:not(:empty))){ display:block; order:1; } .vector-body-before-content .mw-indicators{ order:2; } .vector-body-before-content{ font-size:1rem; line-height:1.4; display:flex; flex-direction:row; justify-content:space-between; align-items: flex-end; padding:0.25rem 0; border-bottom:1px solid #c8ccd1; } body.action-view:has(.mw-body-header > .mw-indicators) .vector-body-before-content:not(:has(#contentSub > *:not(:empty))):not(:has( > .mw-indicators > * )), body.action-submit .vector-body-before-content:not(:has(#contentSub > *:not(:empty))):not(:has( > .mw-indicators > *)), body.action-edit .vector-body-before-content{ display:none; } .vector-body-before-content:has( > #contentSub > #mw-content-subtitle > .cdx-message ){ flex-direction:column; } .vector-body-before-content > .mw-indicators:not(:has( > *)){ display:none; } .vector-body-before-content:not(:has( > #contentSub > :not(:empty))) > #siteSub{ order:1; } .vector-body-before-content > .mw-indicators:has( > *){ order:3; flex-basis:-moz-available; flex-basis:-webkit-fill-available; flex-basis:stretch; max-width: fit-content; max-width:-moz-fit-content; align-items:center; justify-content: center; } .vector-body-before-content:has( > #contentSub > #mw-content-subtitle > .cdx-message ) > #contentSub{ order:2; display:block !important; } .vector-body-before-content:has( > #contentSub > #mw-content-subtitle > .cdx-message ):has( > .mw-indicators > * ) > #contentSub{ border-top: 1px solid #c8ccd1; } .vector-body-before-content:has( > #contentSub > #mw-content-subtitle > .cdx-message ) > .mw-indicators:has( > *){ order:1; padding:0.25rem 0; width:auto; align-items:center; justify-content: end; } .vector-body-before-content:not(:has( > .mw-indicators > * )):has( > #contentSub > #mw-content-subtitle > .subpages), .vector-body-before-content:not(:has( > .mw-indicators > * )):has( > #contentSub > #mw-content-subtitle > .subpages) > #contentSub > #mw-content-subtitle, .vector-body-before-content:not(:has( > .mw-indicators > * )) > #contentSub > #mw-content-subtitle > .subpages{ width:100%; } .vector-body-before-content:not(:has( > .mw-indicators > * )):has( > #contentSub > #mw-content-subtitle > .subpages) > #contentSub{ width:-moz-available; } .vector-body-before-content:not(:has( > .mw-indicators > * )) > #contentSub > #mw-content-subtitle:not(:last-child) > .subpages{ padding-bottom: 0.25rem; border-bottom: 1px solid #c8ccd1; margin-bottom:4px; } /*.vector-body-before-content:not(:has( > .mw-indicators > * )):not(:has( > #contentSub > #mw-content-subtitle:not(:empty), > #contentSub > #pwContent)){ border-bottom:0; padding:0; }*/ /**/ .vector-body-before-content > #siteSub{ font-size:0.9rem; line-height:1.2; } .vector-body-before-content:has( > .mw-indicators > * ):not(:has(> #contentSub > :not(:empty))):not(:has(> #siteSub)){ justify-content:flex-end; } /*.vector-body-before-content:has( > .mw-indicators > * ):has(> #contentSub > :not(:empty)) > .mw-indicators, .vector-body-before-content:has( > .mw-indicators > * ):has(> #contentSub > :not(:only-child)) > .mw-indicators{ flex: 1 0 auto; }*/ .vector-body-before-content:has( > .mw-indicators > * ):not(:has( > #contentSub > :not(:empty) )) > #siteSub, .vector-body-before-content:has( > .mw-indicators > * ):not(:has( > #contentSub > #mw-content-subtitle > .cdx-message )) #contentSub:has( > #pwContent, > #mw-content-subtitle:not(:empty)){ flex-shrink: 1; border-right: 1px solid #c8ccd1; margin-right:0.375rem; padding-right:0.375rem; } .vector-body-before-content:has( > .mw-indicators > * ):not(:has( > #contentSub > :not(:empty) )) > #siteSub, .vector-body-before-content:has( > .mw-indicators > * ):not(:has( > #contentSub > #mw-content-subtitle > .cdx-message )) #contentSub:not(:has( + #contentSub2)):has( > #pwContent, > #mw-content-subtitle:not(:empty)), .vector-body-before-content:has( > .mw-indicators > * ):not(:has( > #contentSub > #mw-content-subtitle > .cdx-message )) #contentSub + #contentSub2{ width:-moz-available; width:-webkit-fill-available; width:stretch; } .vector-body-before-content #contentSub > #pwContent:not(:empty):first-child, .vector-body-before-content #contentSub > #mw-content-subtitle:not(:empty):first-child{ padding-top:0; } .vector-body-before-content #contentSub > #pwContent:not(:empty):last-child, .vector-body-before-content #contentSub > #mw-content-subtitle:not(:empty):last-child, .vector-body-before-content #contentSub > #pwContent:not(:empty):not(:has(~ :not(:empty))), .vector-body-before-content #contentSub > #mw-content-subtitle:not(:empty):not(:has(~ :not(:empty))){ padding-bottom:0; } .vector-body-before-content #contentSub > #pwContent:not(:empty), .vector-body-before-content #contentSub > #mw-content-subtitle:not(:empty){ margin:auto 0; width:100%; padding:0.25rem 0; } .vector-body-before-content > #contentSub > #pwContent:not(:last-child):not(:empty):has(~ :not(:empty)), .vector-body-before-content > #contentSub > #mw-content-subtitle:not(:last-child):not(:empty):has(~ :not(:empty)){ border-bottom:1px solid #c8ccd1; } #contentSub > #pwContent > #pwPathway, #contentSub > #pwContent > #pwPathway + #pwNav, #contentSub > #mw-content-subtitle, #contentSub > #mw-content-subtitle > .subpages, #contentSub2 > .subpages > .mw-undelete-subtitle{ font-size:0.9rem; line-height:1.2em; } /*html:not(.client-nojs) body:not(.mw-special-Watchlist) #mw-content-subtitle:not(:empty), html.client-nojs #mw-content-subtitle:not(:empty){ border-bottom:1px solid #c8ccd1; padding-bottom:3px; }*/ #mw-content-subtitle > .subpages:not(:last-child){ border-bottom:1px solid #c8ccd1; padding-bottom:3px; } #mw-content-subtitle .cdx-message:not(:last-child){ margin:10px 0; } #mw-content-subtitle .cdx-message:last-child{ margin:10px 0 8px 0; } #mw-content-subtitle #redirectsub, #mw-content-subtitle .mw-redirectedfrom{ display:block; margin:auto 0; } #mw-content-subtitle .mw-redirectedfrom:not(:last-child){ border-bottom: 1px solid #c8ccd1; } ad8kqy5ssv8f4fltt3aj0e0ykcn17gj