Template übernommen

This commit is contained in:
2026-01-19 20:30:49 +01:00
parent 07e1c3241c
commit 9d8f47ca31
2 changed files with 434 additions and 19 deletions

View File

@@ -1,5 +1,8 @@
#import "@preview/biz-report:0.3.1": authorwrap, dropcappara, infobox, report //#import "@preview/biz-report:0.3.1": authorwrap, dropcappara, infobox, report
#import "mein_Template.typ": authorwrap, dropcappara, infobox, report
#import "@preview/colorful-boxes:1.4.3":*
#import "@preview/marge:0.1.0": sidenote #import "@preview/marge:0.1.0": sidenote
@@ -7,23 +10,28 @@
#set par(justify: true) #set par(justify: true)
//#show text: set text(spacing: 100%) // Erhöht den Abstand zwischen den Wörtern/Zeilen
#show text: set text(spacing: 100%) // Erhöht den Abstand zwischen den Wörtern/Zeilen
// ODER (effektiver): // ODER (effektiver):
#show par: set par(leading: 1em) //#show par: set par(leading: 1em)
/*#set page( /*#set page(
paper: "iso-b5" paper: "iso-b5"
)*/ )*/
//#set text(lang: "de", region: "de")
#show: report.with( #show: report.with(
title: "Mathematik Lehrprogrammbücher Hochschulstudium 2 - Einführung in die Technik des Integrierens", title: "Mathematik Lehrprogrammbücher Hochschulstudium 2 - Einführung in die Technik des Integrierens",
publishdate: {}, publishdate: {},
mycolor: rgb("#000000"), mycolor: rgb("#000000"),
myfont: "DejaVu Sans" myfont: "DejaVu Sans"
) )
#show: set text(lang: "de")
//#show par: set par(leading: 1.5em)
/*#set par( /*#set par(
leading: 1.5em, // Zeilenabstand leading: 1.5em, // Zeilenabstand
spacing: 2em, // Abstand zwischen Absätzen spacing: 2em, // Abstand zwischen Absätzen
@@ -80,10 +88,7 @@
font: "TeX Gyre Heros", font: "TeX Gyre Heros",
size: 10pt size: 10pt
)*/ )*/
#set par(
justify: true,
leading: 0.52em,
)
= Voraussetzungen für die Durcharbeitung des Programms <nonumber> = Voraussetzungen für die Durcharbeitung des Programms <nonumber>
@@ -113,7 +118,7 @@ Nach dem Durcharbeiten des Programms wird der Lernende
#pagebreak() #pagebreak()
== Hinweise zur Arbeit mit dem Programm <nonumber> == Hinweise zur Arbeit mit dem Programm <nonumber>
Das vorliegende Programm hat die Aufgabe, Sie in die Technik des Integrierens einzuführen, d.h. Ihnen bei der selbständigen Aneignung gewisser technischer Fertigkeiten im Integrieren gegebener Funktionen zu helfen. Die Arbeitsweise unterscheidet sich vom Studium eines herkömmlichen Lehrbuches. Vielleicht brauchen Sie eine gewisse Zeit, bis Sie mit der neuen Form des Lernens vertraut sind. Wenn Sie jedoch gewissenhaft arbeiten und die Hinweise im Programm genau befolgen, werden Sie bald Freude an dieser Art zu lernen finden. - Das Integrieren kann man nur erlernen, wenn man selbst zahlreiche Aufgaben löst. Aus diesem Grunde nehmen Übungen einen breiten Raum ein, andere Teile sind dafür bewußt knapp gehalten. Sätze werden nur genannt, auf Beweise wird verzichtet. Das Programm ist seinem Charakter nach ein Übungsprogramm. Das vorliegende Programm hat die Aufgabe, Sie in die Technik des Integrierens einzuführen, d.h. Ihnen bei der selbständigen Aneignung gewisser technischer Fertigkeiten im Integrieren gegebener Funktionen zu helfen. Die Arbeitsweise unterscheidet sich vom Studium eines herkömmlichen Lehrbuches. Vielleicht brauchen Sie eine gewisse Zeit, bis Sie mit der neuen Form des Lernens vertraut sind. Wenn Sie jedoch gewissenhaft arbeiten und die Hinweise im Programm genau befolgen, werden Sie bald Freude an dieser Art zu lernen finden. - Das Integrieren kann man nur erlernen, wenn man selbst zahlreiche Aufgaben löst. Aus diesem Grunde nehmen Übungen einen breiten Raum ein, andere Teile sind dafür bewußt knapp gehalten. Sätze werden nur genannt, auf Beweise wird verzichtet. Das Programm ist seinem Charakter nach ein Übungsprogramm.
Beachten Sie bitte im einzelnen folgende Hinweise! Beachten Sie bitte im einzelnen folgende Hinweise!
@@ -144,11 +149,19 @@ In der *Differentialrechnung* wurde folgende Aufgabenstellung betrachtet: #margi
#h(1cm)_gesucht_ wird die erste Ableitung dieser Funktion $F^{prime}(x)=f(x)$. #h(1cm)_gesucht_ wird die erste Ableitung dieser Funktion $F^{prime}(x)=f(x)$.
*Beispiel* #colorbox(
title: "Beispiel",
color: "blue",
radius: 2pt,
width: auto,
)[
#h(1cm)_Gegeben:_ $F(x)=x^3$, #h(1cm)_Gegeben:_ $F(x)=x^3$,
#h(1cm)_gesucht:_ $F^{prime}(x)=f(x)=3 x^2$. #h(1cm)_gesucht:_ $F^{prime}(x)=f(x)=3 x^2$.
]
*Beispiel*
#v(3mm)
Die Aufgabenstellung in der *Integralrechnung* ist die Umkehrung des Grundproblems der Differentialrechnung: Die Aufgabenstellung in der *Integralrechnung* ist die Umkehrung des Grundproblems der Differentialrechnung:
@@ -158,14 +171,26 @@ Gegeben ist eine Funktion $f(x)$, gesucht wird eine Funktion $F(x)$ mit der Eige
$F^{prime}(x)=f(x) .$ $F^{prime}(x)=f(x) .$
/*Die Ableitung der gesuchten Funktion soll also gleich der gegebenen Funktion sein. Die Ableitung der gesuchten Funktion soll also gleich der gegebenen Funktion sein.
Beispiel #v(3mm)
Gegeben : $f(x)=3 x^2$,
gesucht: $F(x)$ mit der Eigenschaft, daß $F^{\prime}(x)=3 x^2$ ist; also $F(x)=x^3$.
Definition: Die Funktion $y=f(x)$ sei reell und stetig im Intervall $(a, b)$. Jede dort definierte reelle Funktion $F(x)$, deren erste Ableitung gleich $f(x)$ ist, heißt Stammfunktion von $f(x)$ in diesem Intervall.*/
*Beispiel*
#v(3mm)
_Gegeben:_ $f(x)=3 x^2$,
_gesucht:_ $F(x)$ mit der Eigenschaft, daß $F^{prime}(x)=3 x^2$ ist; also $F(x)=x^3$.
#v(3mm)
#colorbox(
title: "Definition",
color: "red",
radius: 2pt,
width: auto,
)[
Die Funktion $y=f(x)$ sei reell und stetig im Intervall $(a, b)$. Jede dort definierte reelle Funktion $F(x)$, deren erste Ableitung gleich $f(x)$ ist, heißt Stammfunktion von $f(x)$ in diesem Intervall.
]
@@ -204,4 +229,6 @@ Bart is the rebellious son who often gets into trouble, and Lisa
is the intelligent and talented daughter #sidenote[Lisa is known is the intelligent and talented daughter #sidenote[Lisa is known
for her saxophone playing and academic achievements.]. Baby for her saxophone playing and academic achievements.]. Baby
Maggie, though silent, has had moments of surprising brilliance Maggie, though silent, has had moments of surprising brilliance
#sidenote[Maggie once shot Mr. Burns in a dramatic plot twist.].*/ #sidenote[Maggie once shot Mr. Burns in a dramatic plot twist.].*/

388
Band2/mein_Template.typ Normal file
View File

@@ -0,0 +1,388 @@
#import "@preview/droplet:0.3.1": dropcap
#import "@preview/fontawesome:0.6.0": *
#import "@preview/wrap-it:0.1.1": wrap-content
#let __st-theme = state("theme")
//
// Template for a paragaph with a dropped capital and
// the first sentence in theme color
//
#let dropcappara(
firstline: none,
body
) = {
context {
let theme = __st-theme.final()
set text(fill: theme.themecolor, weight: "semibold")
dropcap(height: 3, gap: 4pt,)[#firstline.first()][#firstline.slice(2)
#set text(fill: black, weight: "regular")
#body
]
}
}
//
// Template for a paragaph with an author picture in a circle bottom right
//
#let authorwrap(
authorimage: none,
authorcaption: none,
body,
) = {
context {
let theme = __st-theme.final()
wrap-content(
box(width: 3cm, height:3.5cm,
figure(
box(clip: true, stroke: 5pt + theme.themecolor, radius: 1.5cm, width: 2.5cm, height: 2.5cm,
authorimage),
caption: authorcaption,
numbering: none)),
body,
align: bottom + right,
)
}
}
//
// Template for an information box. Can over-ride the icon shown.
//
#let infobox(
info,
icon: "info-circle",
) = {
context {
let theme = __st-theme.final()
box(
fill: theme.themecolor.lighten(90%),
stroke: 1pt,
radius: 8pt,
width: 100%,
grid(
columns: (1fr, 8fr),
inset: 8pt,
align(horizon+center, fa-icon(icon, size: 2.5em)),
align(horizon + left, info)
)
)
}
}
//
// Main Report Template. Can over-ride title and publication date.
//
#let report(
title: "Title of the Work",
publishdate: "Some Date",
mylogo: none,
myfeatureimage: none,
myvalues: "VALUE1 | VALUE2 | VALUE3 | VALUE4",
mycolor: rgb(166, 0, 120),
myfont: "Arial",
body,
) = {
// Set Theme into context
context {
__st-theme.update((
themefont: myfont,
themecolor: mycolor,
))
}
// Set table to have alterate shaded rows
set table(
align: left,
inset: 10pt,
fill: (_, y) => if calc.even(y) { mycolor.lighten(90%) }
)
// Set table to have bold header
show table.cell: it => {
if it.y == 0 {
strong(it)
} else {
it
}
}
// Make links blue and underlined
show link: set text(fill: mycolor)
show link: underline
// Cover page
page(
margin: 0cm,
numbering: none,
)[
// Left colored bar
#place(
left + top,
rect(
width: 2cm,
height: 100%,
fill: mycolor,
),
)
#place(
bottom + left,
move(dx: 1.25cm, dy: -5cm,
rotate(-90deg, origin: bottom + left,
text(size: 28pt, fill: white, spacing: 140%, font: myfont, myvalues))
)
)
#place(
left + bottom,
polygon(
fill: mycolor.lighten(80%),
stroke: none,
(0pt, 0pt),
(50%, 0pt),
(50%, -8cm),
)
)
#place(
bottom + right,
rect(
width: 50%,
height: 8cm,
fill: mycolor.lighten(80%),
),
)
// Tech Image
#place(
bottom + right,
move(
dx: -7.5cm, dy: -5cm,
box(clip: true, stroke: 5pt + mycolor, radius: 3cm,
width: 6cm, height: 6cm,
myfeatureimage)
)
)
// logo
#place(
bottom + right,
move(
dx: -1cm, dy: -1cm,
mylogo
)
)
// Content
#pad(
left: 2cm,
right: 2cm,
top: 3cm,
bottom: 3cm,
{
set text(font: myfont)
set text(size: 12pt)
// Header info
v(1fr)
// Title
set text(size: 28pt, weight: "semibold")
set par(leading: 0.5em, justify: false)
title
linebreak()
set text(size: 14pt, weight: "regular")
publishdate
v(1.2fr)
},
)
]
// Table of Contents
page(
header: none,
numbering: none,
)[
// Style the outline entries
#show outline.entry.where(level: 1): it => {
v(18pt, weak: true)
text()[#strong(it)]
}
// Style level 2 entries in blue
#show outline.entry.where(level: 2): it => {
v(12pt, weak: true)
text()[#it]
}
#set text(size: 10pt, font: myfont)
// Custom title styled like chapter headings
#block(
above: 0pt,
below: 25pt,
{
set text(size: 20pt, weight: "semibold", font: myfont, fill: mycolor)
align(right)[Inhaltsverzeichnis]
v(2em)
},
)
#set par(leading: 1.8em)
#outline(
title: none,
depth: 2,
indent: auto,
)
]
// Page setup for content
set page(
paper: "a4",
margin: (top: 3.5cm, bottom: 3cm, left: 2.5cm, right: 2.5cm),
header: context {
let page-num = counter(page).get().first()
// Don't show header on first page
if page-num <= 1 {
return
}
// Check if current page has a chapter heading
let current-page = here().page()
let headings-on-page = query(heading.where(level: 1)).filter(h => h.location().page() == current-page)
// Don't show header on pages with chapter headings
if headings-on-page.len() > 0 {
return
}
// Show header on all other pages
set text(fill: mycolor, size: 10pt, font: myfont)
let chapter-title = {
let elems = query(heading.where(level: 1))
if elems.len() > 0 {
let relevant = elems.filter(h => h.location().page() <= current-page)
if relevant.len() > 0 {
upper(relevant.last().body)
}
}
}
grid(
columns: (1fr, auto),
align: (left, right),
chapter-title, counter(page).display(),
)
line(length: 100%, stroke: 0.5pt + mycolor)
},
)
// Reset page counter for main content
counter(page).update(1)
// Text setup
set text(size: 10pt, font: myfont)
set par(
leading: 1em,
spacing: 1.2em,
justify: true,
first-line-indent: 0pt,
)
// Chapter headings (level 1)
show heading.where(level: 1): it => {
pagebreak(weak: true)
set text(size: 18pt, weight: "semibold")
block(
//above: 0pt,
//below: 20pt,
//spacing: 0pt,
{
set par(leading: 0.5em)
if it.numbering != none {
grid(
columns: (auto, 1fr),
column-gutter: 0.6em,
align: (left, left), // Überschrift alles links,war vorher left right
text(fill: mycolor)[#counter(heading).display().],
// Right side: heading text in black
text(fill: mycolor)[#it.body],
)
} else {
// If no numbering, just right-align the text
align(left, it.body)
}
v(1em)
},
)
}
// Section headings (level 2)
show heading.where(level: 2): it => {
set text(size: 14pt, weight: "semibold")
block(
above: 1.5em,
below: 1em,
{
if it.numbering != none {
counter(heading).display()
[. ]
}
//h(0.6em)
it.body
},
)
}
// Subsection headings (level 3)
show heading.where(level: 3): it => {
set text(size: 16pt, weight: "medium")
block(
above: 1.2em,
below: 0.8em,
{
if it.numbering != none {
counter(heading).display()
[. ]
}
h(0.6em)
it.body
},
)
}
set heading(numbering: "1.1")
body
// Back cover page
page(
margin: 0cm,
numbering: none,
header: none,
fill: black,
)[
#place(
top + left,
rect(
width: 100%,
height: 100%,
fill: mycolor,
),
)
// logo centered in bottom half
#place(
center + horizon,
dy: 25%,
rect(
fill: white,
radius: 0.5cm,
mylogo,
)
)
]
}