0

I need to mimic the way Messenger boxes each message in bubbles. Word, obviously, is not a tool for this. However, going full-fledged HTML is kind of overkill for me. This is for a research article, so being able to focus on the content is pretty important to me. There is LaTeX, but it lacks aesthetics and can't be used for responsive contents.

What word processing tools that can work with complicate text boxing? I use Windows 10.


Related: How to format a chat conversations?

  • 1
    Not really sure what you mean, ppt has speach bubbles in clip icons that you can style with shadows, bevelling and colours – Mark Read Dec 8 '17 at 5:33
  • i have a lot of lines (technically paragraphs) that need to be in bubbles, so having a tool can automatically do that is preferred – Ooker Dec 8 '17 at 5:48
  • 1
    What is the expected output? Press-quality PDF? Interactive PDF? To be sent to a desktop printer? Other? – Vinny Dec 8 '17 at 10:07
  • 1
    The most recent version of word can do speech bubbles, and you can easily type text in them. See screenshot here – Billy Kerr Dec 8 '17 at 10:12
  • 1
    @Ooker That may be but any other approach has similar problems. I mean its trivial to wirte a vbscript that fixes this for you but that again is a burdern you do not want to take. Theres no way around it you need to becime a better computer user asap or simply not do this. – joojaa Dec 8 '17 at 11:14
4

I would start by debunking the HTML being overkill. It is possibly the easiest solution around you, especially if you want to typeset a lot for text (see this as example). It is no no harder than or more work than LaTeX. Secondly the way LaTeX works means can do pretty much any look and feel you like so no there are no anesthetics that it lacks. However in both of these cases the message form you is you don't know how to use these that's fine

Obviously you can use a page layout software like inDesign or Sribus (free) for this. Again doing it manually in page layout software like InDesign is no less work than doing this in Word, only slightly more tools at your disposal and your skill needs to be much higher. However if you want to do a XML import then you can automate a lot of this stuff but again this way its no less work than HTML which you said is overkill. Also again you don't know how to use these software.

Or a vector drawing application like Illustrator or Inkscape. Again these are no less work than html, just different kind of work. But on top of that you need to buy a new software and learn it.

Also there is really no reason why couldn't do this in Word again you know how to use it. So maybe a bit tedious, nothing that a script can not fix.

Here is a beginning for a script that does what thw webpage linked does. I'm out of time. I still brute forcing a few things but then i hardly ever use word (sic, last time i used it was 6 months ago because my colleague asked a question) One can make changes to this so it reads the data directly form the document paragraphs:

Sub sayBob(text, height)
  Dim shape As shape
  Set shape = ActiveDocument.Shapes.AddShape(msoShapeRectangularCallout, 10, height, 300, 10)
  With shape
    .TextFrame.TextRange.text = text
    .Fill.ForeColor.RGB = RGB(170, 221, 119)
    .Line.Visible = msoFalse
    .TextFrame.MarginTop = 10
    .TextFrame.MarginBottom = 10
    .TextFrame.MarginLeft = 10
    .TextFrame.MarginRight = 10
    .TextFrame.AutoSize = msoTrue
  End With
End Sub

Sub sayMike(text, height)
  Dim shape As shape
  Set shape = ActiveDocument.Shapes.AddShape(msoShapeRectangularCallout, 100, height, 300, 10)
  With shape
    .TextFrame.TextRange.text = text
    .Fill.ForeColor.RGB = RGB(170, 170, 255)
    .Line.Visible = msoFalse
    .TextFrame.MarginTop = 10
    .TextFrame.MarginBottom = 10
    .TextFrame.MarginLeft = 10
    .TextFrame.MarginRight = 10
    .TextFrame.AutoSize = msoTrue
  End With
End Sub

Sub demo()
   sayBob "Hello", 10
   sayMike "Oh hi", 60
   sayMike "Oh, by the way I have your boat", 110
   sayBob "yeah i know", 160
End Sub

enter image description here

Image 1: Result in word.

So while i can easily answer the question what would i use? I would use HTML or illustrator, but then i can do this in my sleep. The real question is what do you know how to use.

2

You can create a paragraph style in Word that automatically boxes (using borders) and applies background color (shading) to paragraphs. As long as each "message" is not longer than a paragraph, I think you could easily simulate what a message screen looks like. Here is an example created with 2 Word styles The borders, shading and indents are part of the style definition

HTML is definitely one way to go, but this was really quick and easy, and provides the full range of Word text processing ability as well. I could take existing text and format it very quickly by applying these styles using hotkeys. It sounds like that's what you want to do, but if there's more to it than this, let us know.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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