Hello, I need to output two versions of a string that only differ by the presence of some markers in them, and I want the output to be pretty (it's code to be read). It seems that semantic tags from the Format module would allow me to do this, with identical line breaking as these tags are considered 0 width. Unfortunately I cannot seem to make it work. Here is what I have tried: #+begin_src ocaml let file_put_contents filename text = try let handle = open_out filename in output_string handle text; close_out handle with Sys_error s -> failwith ("Could not write in file: " ^ filename ^ "\n" ^ s) let filename = "test_out.txt" let out = "@[Hello World@ Hello@ Hello again@ Hello@ Hello again@ Hello@ Hello again@ @{Hello@ Cut again@}@]" let _ = Format.set_tags true; Format.set_mark_tags true; Format.fprintf Format.str_formatter (Scanf.format_from_string out ""); file_put_contents filename (Format.flush_str_formatter ()) #+end_src To run this I do ~ocamlc -o tags tags.ml && ./tags && cat test_out.txt~. As I have turned on treatment of tags and tag marking, I would expect to see the tag marker in the output string using the default format ( and ), but I do not see them. Am I on the right track by using tags? Could someone point me to my mistake? Thanks a lot, Alan -- OpenPGP Key ID : 040D0A3B4ED2E5C7 Monthly Athmospheric CO₂ (2016-02, Mauna Loa Obs.): 404.02