added start out-of-domain

This commit is contained in:
Louis Heredero 2024-06-23 21:52:38 +02:00
parent 81ca0b8e32
commit a6500d51d0
Signed by: HEL
GPG Key ID: 8D83DE470F8544E7
4 changed files with 95 additions and 4 deletions

Binary file not shown.

View File

@ -88,3 +88,58 @@
)) ))
} }
) )
#pagebreak()
#functastic.sign-table(
($0$, $1/e$, $e^((1-sqrt(5))/2)$, $e^(-1/3)$, $e$, $e^phi$, $e^2$, $+oo$),
espcl: 2,
{
import functastic: *
sign-line(
$f'(x)$, start-ood: true, (
"d", $+$, "t", $+$, $0$, $-$, "t", $-$, "t", $-$, $0$, $+$, "t", $+$
)
)
sign-line(
$f''(x)$, start-ood: true, (
"d", $-$, "t", $-$, "t", $-$, $0$, $+$, "t", $+$, "t", $+$, $0$, $-$
)
)
func-line(
$f(x)$, mult: 2, start-ood: true, (
disc(right: (asymp($y = 0$), "bottom")),
none,
val([max], "top"),
none,
none,
val([min], "bottom"),
none,
val(asymp($x = 0$), "top"),
inter($0$, 0, 1, i: 1),
inter($0$, 1, 2, i: 4)
)
)
convex-line(
[concavité], mult: 1.5, (
"AV",
false,
none,
false,
none,
false,
"PI",
true,
none,
true,
none,
true,
"PI",
false
)
)
}
)

View File

@ -57,6 +57,21 @@
let yt = ht.at(1) let yt = ht.at(1)
let yb = hb.at(1) let yb = hb.at(1)
if line.start-ood and line.values.len() != 0 {
let first = line.values.first()
let p0 = "header-" + str(line-i) + ".north-east"
let p1 = func.get-anchor(
ctx,
line-i,
0,
"bottom",
if first == "d" {"left"} else {"center"},
dx: 0.05,
dy: 0
)
draw.rect(p0, p1, fill: stripes, stroke: none)
}
for (i, value) in line.values.enumerate() { for (i, value) in line.values.enumerate() {
// Value // Value
if calc.rem(i, 2) == 1 { if calc.rem(i, 2) == 1 {
@ -137,9 +152,24 @@
#let render-func(styles, ctx, line, line-i) = { #let render-func(styles, ctx, line, line-i) = {
let header = "header-" + str(line-i) let header = "header-" + str(line-i)
let ood = false let ood = line.start-ood
let value-i = -1 let value-i = -1
if line.start-ood and line.values.len() != 0 {
let first = line.values.first()
let p0 = "header-" + str(line-i) + ".north-east"
let p1 = func.get-anchor(
ctx,
line-i,
0,
"bottom",
if (first.eod) {"center"} else {"left"},
dx: 0.05,
dy: 0
)
draw.rect(p0, p1, fill: stripes, stroke: none)
}
for (i, value) in line.values.enumerate() { for (i, value) in line.values.enumerate() {
if value == none { if value == none {
continue continue

View File

@ -15,20 +15,23 @@
#let sign-line( #let sign-line(
name, name,
values values,
start-ood: false
) = { ) = {
return (( return ((
type: "sign", type: "sign",
name: name, name: name,
inset: 1em, inset: 1em,
values: values, values: values,
start-ood: start-ood
),) ),)
} }
#let func-line( #let func-line(
name, name,
values, values,
mult: 1 mult: 1,
start-ood: false
) = { ) = {
return (( return ((
type: "func", type: "func",
@ -40,13 +43,15 @@
right: 1em right: 1em
), ),
values: values, values: values,
start-ood: start-ood
),) ),)
} }
#let convex-line( #let convex-line(
name, name,
values, values,
mult: 1 mult: 1,
start-ood: false
) = { ) = {
return (( return ((
type: "convex", type: "convex",
@ -58,6 +63,7 @@
right: 1em right: 1em
), ),
values: values, values: values,
start-ood: start-ood
),) ),)
} }