[cl-typesetting-devel] Top-level layout, multi-page tables, and other contrib

Dmitri Ivanov divanov at aha.ru
Sat Mar 6 06:39:38 UTC 2004


Hello Marc,

|> 1) I suggest renaming the splitable-p slot into "keep" or
|> "keep-together" which accept values t (meaning keep own lines
|> together) or :next (meaning keep own lines together as well as with
|> the next box).
|
| Or maybe a number?

Agree.

|> IMHO put-source-code-string is also too long, let's have simply
| "put-source"
|> or the like.
|
| Or maybe "verbatim"
| What does TeX uses ?

"verbatim" is even better. I would also prefer a global switch
*dont-hyphenate* or *hyphenatation-level* if possible.

Small code notes on typo.lisp

;;-- Instead of:
(defmethod (setf font) :around (font (style text-style))
  (when (stringp font)(setf font (pdf:get-font font)))
  (call-next-method font style))
;;-- More natural:
(defmethod (setf font) ((font string) (style text-style))
  (setf (font style) (pdf:get-font font)))

;; About insert-stuff
(defmethod insert-stuff ((obj symbol))
  `(put-string (princ-to-string ,obj)))

It could be of value to make difference between put-string and
put-source-code-string (or verbatim) just inside the insert-stuff. Peter
uses *significant-whitespace* for a similiar purpose:

(defmethod emit-pdf ((thing string))
  (if *significant-whitespace*
    (typeset::put-source-code-string thing)
    (typeset::put-string thing)))

A *significant-whitespace* equivalent can be incorporated at insert-stuff
level like this:

(defmethod insert-stuff ((obj symbol))
  `(funcall (if *significant-whitespace*
                (typeset::put-source-code-string thing)
                (typeset::put-string thing))
              (princ-to-string ,obj)))
Or,

(defmethod insert-stuff ((obj symbol))
  `(funcall *default-stringer* (princ-to-string ,obj)))
--
Sincerely,
Dmitri Ivanov
lisp.ystok.ru





More information about the cl-typesetting-devel mailing list