<div dir="ltr">Thanks, <div><br></div><div>I think I'm going about this the wrong way.</div><div><br></div><div>What I wanted to do was switch from LaTeX (before I had to learn to much), to racket (still learning), but bring a nice package I had from latex[1]. </div><div>I did try dropping the location of my tma.sty code into your example[2], but assuming 'its all just LaTex/Tex' seems to be wrong as the error[0] I get tells me that my LaTeX definitions are missing when pdfLaTeX tries to make the PDF.</div><div><br></div><div>I think this is possible if I make a library like scribble/book and scribble/jfp as they do put in the document preamble stuff</div><div>> "\\documentclass[a4paper,12pt{article}\n\\usepackage{cancel}\n\\usepackage{tma}\n"<br></div><div><br></div><div>I've started on this, stealing functions cargo-cult-style from scribble/book/lang.rkt, scribble/private/defaults.rkt (ignore #lang scheme/base!) and <a href="https://github.com/soegaard/bracket/blob/master/docs/pr-math.rkt">https://github.com/soegaard/bracket/blob/master/docs/pr-math.rkt</a> , but I still get the error[0] that LaTeX definitions have not yet been read. (embarrassing examples attached)</div><div><br></div><div>Am I going at this in the right direction? Scribble seems to include a lot of its own .TeX files and I'm concerned I'm doing this the wrong way.</div><div><br></div><div>Thanks for your help,</div><div><br></div><div>Stephen</div><div><br></div><div>PS I must do the assignment! (Its not Scribble or Racket)</div><div><br></div><div>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</div><div><br></div><div>[0] error</div><div><div>! Undefined control sequence.</div><div>l.408 \myname</div><div>             {Stephen De Gabrielle}</div><div>The control sequence at the end of the top line</div><div>of your error message was never \def'ed.</div></div><div><br></div><div><br></div><div>;;;;;;;;;;;;;</div><div>[1] 'Tutor Marked Assignment' tma.sty <a href="https://github.com/spdegabrielle/OU-LaTeX-TMA-package">https://github.com/spdegabrielle/OU-LaTeX-TMA-package</a></div><div>example of use</div><div><div>-----------------------</div><div>\documentclass[a4paper,12pt]{article}</div><div>\usepackage{tma}   % finds tma.sty in  (standard?) location ~/texmf/latex/tma/tma.sty </div><div><br></div><div>\myname{Stephen De Gabrielle}</div><div>\mypin{A3470402}</div><div>\mycourse{MST124}</div><div>\mytma{Unit 1 notes}</div><div>---------</div><div><div>;;;;;;;;;;;;;<br></div><div><br></div><div>[2] Thought I'd try force it without understanding what I was doing...this failed:</div><div>-----------------------</div><div><div>#lang scribble/manual</div><div><br></div><div>@(require scribble/core scribble/latex-properties scribble/html-properties)</div><div><br></div><div>@(define book-style</div><div>   (make-style "htdp2e-book"</div><div>               (list</div><div>                'toc</div><div>                (make-tex-addition "/Volumes/Macintosh HD/Users/spdegabrielle/Library/texmf/tex/latex/tma/tma.sty"))))</div><div><br></div><div>@(make-element "myname" "Stephen De Gabrielle")</div><div>@(make-element "mypin" "A3470402")</div><div>@(make-element "mycourse" "MST124")</div><div>@(make-element "mytma" "Unit 1 notes")</div><div><br></div><div>Every idiot can learn to program in 24 hours. </div><div><br></div><div>This idiot is still trying... :)</div></div><div>--------------------------</div></div></div><div>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</div><div><br></div><div>[4]</div><div>----------------</div><div><div>;;; From scribble/book</div><div><br></div><div>(define-syntax-rule (module-begin id . body)</div><div>  (#%module-begin id (post-process) () . body))</div><div><br></div><div>(define ((post-process) doc)</div><div>  (add-defaults doc</div><div>                (string->bytes/utf-8 (string-append "\\documentclass[a4paper,12pt]{article}\n\\usepackage{cancel}\n\\usepackage{tma}\n"</div><div>                                                    unicode-encoding-packages))</div><div>                (scribble-file "book/style.tex")</div><div>                null</div><div>                #f))</div></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>;;;;;;;;;;;;;<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 10, 2014 at 3:02 PM, Matthias Felleisen <span dir="ltr"><<a href="mailto:matthias@ccs.neu.edu" target="_blank">matthias@ccs.neu.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
This is roughly what HtDP/2e looks like as source:<br>
<br>
-------------------------------------------------------------------------------------------<br>
#lang scribble/manual<br>
<br>
@(require scribble/core scribble/latex-properties scribble/html-properties)<br>
<br>
@(define book-style<br>
   (make-style "htdp2e-book"<br>
               (list<br>
                'toc<br>
                (make-css-addition "Shared/shared.css")<br>
                (make-tex-addition "Shared/shared.tex"))))<br>
<br>
@; ------------------------------------------------------------------------------<br>
@title[#:tag "htdp2e" #:style book-style ]{How to Design Programs, Second Edition}<br>
<br>
Every idiot can learn to program in 24 hours.<br>
-------------------------------------------------------------------------------------------<br>
<br>
It comes with two files, which I have in a subdirectory called Shared: shared.css and shared.tex.<br>
It is there that I store the latex and css properties.<br>
<br>
Put this in DrRacket, save it in a Tmp directory, and run the PDF and HTML generation.<br>
<br>
You can put a lot of things into these CSS and TEX files. -- Matthias<br>
<div><div class="h5"><br>
<br>
<br>
<br>
<br>
<br>
On Oct 9, 2014, at 7:23 PM, Stephen De Gabrielle <<a href="mailto:spdegabrielle@gmail.com">spdegabrielle@gmail.com</a>> wrote:<br>
<br>
> Hi,<br>
><br>
> Is is possible to use "(part (style #f (list (make-latex-defaults ..." to set the LaTeX prefix (and style and extra files) from within a scribble file.<br>
><br>
> My example below gets a contract violation because I've not specified a style or any extra files.<br>
><br>
> I can see the examples of it being done as a language for JFP and Book, but I can't work out how to just do it in the preamble if my scribble file. (I don't really want to create a new #lang)<br>
><br>
> kind regards,<br>
> Stephen<br>
><br>
> ----<br>
><br>
> #lang scribble/base<br>
> @(require scribble/core<br>
>    scribble/latex-properties<br>
>           scribble/latex-prefix)<br>
><br>
><br>
> @(define setup-tma<br>
>    (part<br>
>     (style #f (list (make-latex-defaults<br>
>   (string->bytes/utf-8 (string-append "\\documentclass[a4paper,12pt]{article}\n\\usepackage{cancel}\n\\usepackage{tma}\n"<br>
>                                       unicode-encoding-packages))<br>
>   ""<br>
>   null)<br>
>                     ))<br>
>     '()))<br>
><br>
> @(require "pr-slides.rkt" scribble/latex-properties)<br>
> @setup-math<br>
> @setup-tma<br>
> @title{Math Assignment 1}<br>
> @author{Prabhakar Ragde}<br>
> @section{First Test}<br>
> This @emph{should} be a formula: @math-in{x^2 + y^2}.<br>
> @section{Second Test}<br>
><br>
> struct<br>
> (struct               latex-defaults (prefix style extra-files)<br>
>     #:extra-constructor-name make-latex-defaults)<br>
>       prefix          :<br>
> (or/c bytes? path-string?<br>
>       (cons/c 'collects (listof bytes?)))<br>
>       style           :<br>
> (or/c bytes? path-string?<br>
>       (cons/c 'collects (listof bytes?)))<br>
>       extra-files             :<br>
> (listof (or/c path-string?<br>
>               (cons/c 'collects (listof bytes?))))<br>
> Used as a style property on the main part of a document to set a default prefix file, style file, and extra files (see Configuring Output). The defaults are used by the scribblecommand-line tool for and --latex or --pdf mode if none are supplied via --prefix and --style (where extra-files are used only when prefix is used). A byte-string value is used directly like file content, and a path can be a result of path->main-collects-relative.<br>
</div></div>> ____________________<br>
>  Racket Users list:<br>
>  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
<br>
</blockquote></div><br></div>