Go to page:

Search:   Help

Navigation

Groups

LyX documentation

Edit

Shared groups

Links

FAQ /

MinimalExample

Categories: FAQ
<< | Page list | >>

How to create a minimal working example (MWE) for LyX.

In a nutshell

A minimal example is a .lyx file that is as small as possible while still showing the behavior that you are asking about. It should include as few dependencies as possible -- remove any unnecessary pictures and external files. It should be possible for someone to download your .lyx file and without modification see the same behavior that you are seeing.

Below is more information on how and why to create minimal examples.

Why create a minimal example?

  • Minimal examples make it easier for people to see the problem you are talking about and thus easier for them to propose solutions.
  • They save time. If 5 people download your .lyx file trying to help and spend 5 minutes removing the graphics you included and cleaning the LaTeX preamble that is not necessary, then that's 25 minutes of wasted time instead of the 5 minutes that you could spend doing that. By sending a minimal example, you can make it as easy as possible for someone to help you.
  • They take time. How is this a good thing? If you show that you are willing to spend time to solve your own problem, this makes it more likely that someone else will want to spend his/her time to help you with your problem.
  • Often, once you've removed everything extraneous, the root cause becomes obvious and the problem solves itself.
  • While continually removing material in the making of your minimal example, you might run across material that toggles the symptom off when removed, and toggles it back on when put back. Once you get that toggling material down to a few lines, the root cause often becomes obvious, either to you or to those you're asking for help.

How to create a minimal example

  • Remove as much as possible from your .lyx file while still making sure it shows the behavior you are reporting.
    • The preamble should not have anything except what's needed to reproduce the bug (further, it's helpful if you specify that without something in the preamble the problem in question goes away).
    • Document settings should not have anything special unless it's needed to reproduce the bug. For example, if you can reproduce the behavior by using the document class Article (Standard Class) instead of a less common document class, please do so.
  • If the example requires external files, make sure they're included in your email or trac bug report.
  • Use relative paths if you need to include external files. Further, relative paths should work when all files are put in the same folder. That is, ../../Dropbox/MyLyXstuff/picture.jpg is relative but bad; ./picture.jpg is relative and good.
  • Test your minimal example. Just before you send it, copy the example files to a different folder. See if things compile fine. Make sure that the output still shows the problem you're seeing.

In addition to a minimal example

  • It is useful if you attach more files in addition to the example, such as your pdf output (or your log from your attempt to produce a PDF output). Sometimes it's not obvious if the output shows the problem or not (e.g. if it requires a foreign language that the person trying to help does not know how to read).
  • It is always a good idea to specify your OS (and its version) and your LyX version (and if Windows, which installer version you used)

Minimal example FAQ

Whenever I remove something, my problem goes away. What should I do?

  • Knowing that you cannot reduce your .lyx file is useful information. It not only gives information about the possible bug that you are seeing but it also shows that you made an effort.

My .lyx file contains material that I don't want made public

  • After removing as much as you can, if your .lyx file still contains private information, state in your email if you would be willing to send this file privately. Usually, however, it's possible to anonymize your minimal example.

FAQ

<< | FAQ.PageList | >>

Edit - History - Print - Recent Changes - All Recent Changes - Search
Page last modified on 2013-10-09 17:47 CEST