From 60d6b1c16ff9c5ff907550e5fc67b9b554d42f68 Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Sat, 19 Mar 2011 16:38:22 -0400 Subject: [PATCH] Add here-figures to scribble and avoid putting figures on their own page if possible. original commit: c1ab718ad77542416a639bfc2abbc3ea8e17ea5d --- collects/scriblib/figure.css | 2 +- collects/scriblib/figure.rkt | 8 +++++++- collects/scriblib/figure.tex | 5 +++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/collects/scriblib/figure.css b/collects/scriblib/figure.css index 8f73a2be..b819d7d1 100644 --- a/collects/scriblib/figure.css +++ b/collects/scriblib/figure.css @@ -1,5 +1,5 @@ -.Centerfigure, .CenterfigureMulti, .centerfigureMultiWide { +.Centerfigure, .CenterfigureMulti, .centerfigureMultiWide .Herefigure { margin: 1em 0 1em 0; width: 100%; border: 1px solid #1818FF; diff --git a/collects/scriblib/figure.rkt b/collects/scriblib/figure.rkt index 80e8ca58..34525f6c 100644 --- a/collects/scriblib/figure.rkt +++ b/collects/scriblib/figure.rkt @@ -11,6 +11,7 @@ (provide figure figure* figure** + figure-here Figure-target Figure-ref figure-ref) @@ -23,14 +24,19 @@ (make-tex-addition (abs "figure.tex"))))) (define centerfigure-style (make-style "Centerfigure" figure-style-extras)) +(define herefigure-style (make-style "Herefigure" figure-style-extras)) (define figureinside-style (make-style "FigureInside" figure-style-extras)) (define legend-style (make-style "Legend" figure-style-extras)) (define centerfiguremulti-style (make-style "CenterfigureMulti" figure-style-extras)) (define centerfiguremultiwide-style (make-style "CenterfigureMultiWide" figure-style-extras)) (define (figure tag caption . content) + (apply figure-helper centerfigure-style tag caption content)) +(define (figure-here tag caption . content) + (apply figure-helper herefigure-style tag caption content)) +(define (figure-helper style tag caption . content) (make-nested-flow - centerfigure-style + style (list (make-nested-flow figureinside-style diff --git a/collects/scriblib/figure.tex b/collects/scriblib/figure.tex index a9c4c041..737ca3e7 100644 --- a/collects/scriblib/figure.tex +++ b/collects/scriblib/figure.tex @@ -9,7 +9,8 @@ \newlength{\FigOrigskip} \FigOrigskip=\parskip -\newenvironment{CenterfigureMulti}{\begin{figure*}[tp]\centering}{\end{figure*}} +\newenvironment{CenterfigureMulti}{\begin{figure*}[t!p]\centering}{\end{figure*}} \newenvironment{CenterfigureMultiWide}{\begin{CenterfigureMulti}}{\end{CenterfigureMulti}} -\newenvironment{Centerfigure}{\begin{figure}[tp]\centering}{\end{figure}} +\newenvironment{Centerfigure}{\begin{figure}[t!p]\centering}{\end{figure}} +\newenvironment{Herefigure}{\begin{figure}[ht!p]\centering}{\end{figure}} \newenvironment{FigureInside}{\begin{list}{}{\leftmargin=0pt\topsep=0pt\parsep=\FigOrigskip\partopsep=0pt}\item}{\end{list}}