use super::*; use crate::layout::{FixedNode, GridNode, PadNode, StackChild, StackNode, TrackSizing}; use crate::paper::{Paper, PaperClass}; /// `page`: Configure pages. pub fn page(ctx: &mut EvalContext, args: &mut FuncArgs) -> Value { let span = args.span; let paper = args.eat::>().and_then(|name| { Paper::from_name(&name.v).or_else(|| { ctx.diag(error!(name.span, "invalid paper name")); None }) }); let width = args.named(ctx, "width"); let height = args.named(ctx, "height"); let margins = args.named(ctx, "margins"); let left = args.named(ctx, "left"); let top = args.named(ctx, "top"); let right = args.named(ctx, "right"); let bottom = args.named(ctx, "bottom"); let flip = args.named(ctx, "flip"); let body = args.expect::