I have a markdown list like so:
* Question A
- Answer 1
- Answer 2
- Answer 3
I need to ensure that all the answers (1 - 3) appear on the same page as Question A when I convert the markdown document to docx using pandoc. How can I do this?
Use custom styles in your Markdown and then define those styles in a custom docx template.
It's important to note that Pandoc's documentation states (emphasis added):
Because pandoc’s intermediate representation of a document is less
expressive than many of the formats it converts between, one should
not expect perfect conversions between every format and every other.
Pandoc attempts to preserve the structural elements of a document, but
not formatting details...
Of course, Markdown has no concept of "pages" or "page breaks," so that is not something Pandoc can handle by default. However, Pandoc is aware of docx styles. As the documentation explains:
By default, pandoc’s docx output applies a predefined set of styles
for blocks such as paragraphs and block quotes, and uses largely
default formatting (italics, bold) for inlines. This will work for
most purposes, especially alongside a reference.docx file. However, if
you need to apply your own styles to blocks, or match a preexisting
set of styles, pandoc allows you to define custom styles for blocks
and text using divs and spans, respectively.
If you define a div or span with the attribute custom-style, pandoc
will apply your specified style to the contained elements. So, for
example using the bracketed_spans syntax,
[Get out]{custom-style="Emphatically"}, he said.
would produce a docx file with “Get out” styled with character style
Emphatically. Similarly, using the fenced_divs syntax,
Dickinson starts the poem simply:
::: {custom-style="Poetry"}
| A Bird came down the Walk---
| He did not know I saw---
:::
would style the two contained lines with the Poetry paragraph style.
If the styles are not yet in your reference.docx, they will be defined
in the output file as inheriting from normal text. If they are already
defined, pandoc will not alter the definition.
If you don't want to define the style manually, but would like it applied to every list automatically (or perhaps to every list which follows a specific pattern), you could define a custom filter which applied the style(s) to every matching element in the document.
Of course, that only adds the style names to the output. You still need to define the styles (tell Word how to display elements assigned those styles). As the documentation for the --reference-doc option explains :
For best results, the reference docx should be a modified version of a
docx file produced using pandoc. The contents of the reference docx
are ignored, but its stylesheets and document properties (including
margins, page size, header, and footer) are used in the new docx. If
no reference docx is specified on the command line, pandoc will look
for a file reference.docx in the user data directory (see --data-dir).
If this is not found either, sensible defaults will be used.
To produce a custom reference.docx, first get a copy of the default
reference.docx: pandoc --print-default-data-file reference.docx >
custom-reference.docx. Then open custom-reference.docx in Word, modify
the styles as you wish, and save the file.
Of course, when modifying the custom-reference.docx in Word, you can add your new custom style which you have used in your Markdown. As #CindyMeister points out in a comment:
Word would handle this using styles, where the Question style would
have the paragraph setting "Keep with Next". the Answer style would
have this as well. A third style, for the last entry, would NOT have
the setting activated. In addition, all three styles would have the
paragraph setting "Keep together" activated.
Finally, when using pandoc to convert your Markdown to a Word docx file, use the option --reference-doc=custom-reference.docx and your custom style definitions will be included in the generated docx file. As long as you also properly identify which elements in the Markdown document get which styles, your should have a list which doesn't get broken across a page break as long at the entire list fits on one page.
I am generating HTML pages with KnitR HTML from RMarkdown (using R Studio).
I need section numbering starting at an arbitrary number, not 0 or 1.
Example of what I am trying to achieve:
TITLE
2 SECTION
2.1 SUB-SECTION
I am using a code such as:
---
title: "TITLE"
output:
html_document:
number_sections: yes
---
# SECTION
## SUBSECTION
I found the following in this question.
The pandoc option --number-offset allows to specify the "offset for section headings in HTML output":
--number-offset=NUMBER[,NUMBER,…]
Offset for section headings in HTML output (ignored in other output formats). The first number is added to the section number for top-level headers, the second for second-level headers, and so on. So, for example, if you want the first top-level header in your document to be numbered “6”, specify --number-offset=5. If your document starts with a level-2 header which you want to be numbered “1.5”, specify --number-offset=1,4. Offsets are 0 by default. Implies --number-sections.
Quoted from the pandoc README file.
I use RTF as the default format. Is there a way to keep Word 2013 from showing “[Compatibility Mode]” after the title of every document? It is taking up lots of space in the taskbar and title bar and makes the titles of documents hard to read.
There's no way to suppress using a setting - RTF file format hasn't been the "plain text" version of a Word document since Word 2007, when the Word Open XML format took over that role. Any RTF file equates to Compatibillity Mode since it cannot support the newer Word functionality.
The only possibility you'd have would be to set the Caption property of the Application object, using VBA or another language automating the Word application. But you need to be aware that this is not permanent in any way.
I have a D7 site with CKEDitor installed, a Text Format that allows <p> tags and has "convert line breaks into HTML" selected, and I'm importing a csv utf-8 file made from an excel speadsheet that had some cells with several "paragraphs" in them. I guess for semantic sake, these are just line breaks. I can see the text broken up into what look like paragraphs in the csv.
I want this text to be paragraphs, though. When I do the import and look at a node I created, it looks fine and I can inspect the text and see that <p>'s wrap the paragraphs. But if I go to edit the node, in my CKEditor I see that all the paragraph text in now one big paragraph. How can I get all the paragraphs to show?
In feed importer module you have the option to change the filtered html type.It filters all html tags inside the content.
Is it possible to use literal HTML markup in doxygen. By literal i mean
I want this tag here and do not touch it
Background: I want to have this[1] in my documentation, but doing so requires a custom div box, and doxygen breaks it.
[1] \subparagraph{} equivalent in html
I found that \htmlonly does the trick