I have a lot of images and text that goes with each image. Now I would like to automatically generate the following handout for each pair of image and text:

enter image description here

  • The image is on top.
  • The text should be placed below it, its style should be "justified" and if possible hyphenation enabled.
  • Then the rest of the space should be an area, with a title names: "Notes", to obviously take notes.

How can I do it with mathematica ?

Here are some images to try: https://www.dropbox.com/sh/o8x992dz9gg7q9e/AAAyli1pO2f4q35ULNDreC1ua?dl=0

Here is the sample text that could go with it:

text={{"As there are several possibilities to perform lithography,", "I will start by providing some definitions", "and by explaining some general concepts that are recurring for all", "the lithography variations.", "Then I will dive into details how one fabricates the lithography masks", "using a direct write laser tool."},{"Lithography is the fundamental process of transferring geometric shape", "from a design to a thin layer of radiation sensitive material", "called resist.", "Which is covering the surface of a wafer substrate.", "These shapes or patterns define the various regions", "in an integrated circuit, such as the implantation regions,", "the contact windows, the metallic wiring etc."},{"Each lithography follows a well defined series of process steps,","called process flow.", "It may vary according to the lithography used", "and the materials involved.", "But a typical generic example is shown here", "where we go step by step through it.", "First the substrate, it can be a silicon wafer or glass plate,"}}

This is what I tried:

Labeled[images[[#]], Framed[text[[#]]], 
   LabelStyle -> 
    Directive[Bold, Alignment -> TextJustification, 
     Hyphenation -> False, FontFamily -> "Helvetica"]] & /@ 

Things that I don't know how to do:

  1. Adding the extra box for notes
  2. A4 size
  3. Make image and text appropriate sizes
  4. Hyphenation does not seem to work correctly either

UBDATE: New Try...

   {images[[#]], SpanFromLeft},
   {TextCell[Row[{text[[#]] }], TextJustification -> 1, 
     Hyphenation -> False], SpanFromLeft}, {"Notes"}}, Frame -> All], 
 ImageSize -> {210, 297}*2] &/@Range[Length[images]]

Gives me: enter image description here


How to make Image/Text an appropriate size ?

  • $\begingroup$ I think tex.stackexchange.com will have better results $\endgroup$
    – LCarvalho
    Commented Oct 26, 2017 at 13:05
  • $\begingroup$ @LCarvalho Thank you for the note, but I am afraid, I would like to do it with Mathematica, not with Latex, if possible. $\endgroup$
    – james
    Commented Oct 26, 2017 at 15:04
  • $\begingroup$ This was my answer to another question, see if it helps a little $\endgroup$
    – LCarvalho
    Commented Oct 26, 2017 at 15:35
  • $\begingroup$ You could also generate LaTeX output in a Mathematica program. For example create a template and just replace the image filename and the corresponding description. Would simplify those typesetting issues! $\endgroup$
    – M. Stern
    Commented Oct 26, 2017 at 20:03
  • 1
    $\begingroup$ @totyped See this: Answer $\endgroup$
    – LCarvalho
    Commented Oct 26, 2017 at 20:27

1 Answer 1


After a lot of trial and error:

          {images[[#]], SpanFromLeft},
          {TextCell[Row[{text[[#]]}], TextJustification -> 1, 
            Hyphenation -> False], SpanFromLeft}, {"Notes"}}, 
         Frame -> {{False, False, True, True}, {True, True, True, True}}, 
         BaseStyle -> ImageSizeMultipliers -> 1], 7, 
        FontFamily -> "Helvetica"], ImageSize -> {210, 297}*2] & /@ 

enter image description here


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.