Я пытаюсь создать новую систему документации с использованием Markdown и LaTeX. После нескольких часов большинство вещей работают гладко, но таблицы немного сложны.
Большую часть текста можно написать с помощью синтаксиса Markdown, включенного
\usepackage[fencedCode,inlineFootnotes,citations,definitionLists,hashEnumerators,smartEllipses,hybrid]{markdown}
Однако таблицы с заданной шириной ячеек и несколькими столбцами необходимо создавать в собственном коде LaTeX.
Чтобы сделать документ более простым для записи, я планирую создать макрос LaTeX, создающий эти таблицы. Таким образом, автору нужно будет только заполнить некоторые макропеременные, а LaTeX построит таблицу.
Даже это почти работает НО
Мне нужно остановить среду Markdown с помощью \end{markdown}
непосредственно перед созданием таблицы и включить Markdown с помощью \begin{markdown}
. Это не работает хорошо в документе, например:
\end{markdown}
\marcocreatetable
{parameter 1}
{parameter 2}
\begin{markdown}
Но при попытке поместить эти команды в макрос, например
\newcommand{\marcocreatetable}[2]{
\end{markdown}
\begin{longtable}{>{\columncolor[gray]{0.8}}p{2.5cm}|p{2.5cm} p{2.5cm} p{3.5cm} p{2.5cm}}
\arrayrulecolor{red}\hline
Cell1&\multicolumn{2}{l}{S\{1\} #1}&\multicolumn{2}{r}{#2}\\\hline
Cell x&cell y &\multicolumn{1}{c}{\textbf{cell w}}&cell z&\multicolumn{1}{c}{\textbf{6}}\\
\end{longtable}
\begin{markdown}
}
используя макрос вроде
%\end{markdown}
\marcocreatetable
{parameter 1}
{parameter 2}
%\begin{markdown}
LaTeX жалуется на
\begin{document} ended by \end{markdown}.
Кажется, завершение markdown
в макросе работает не очень хорошо. И да, завершение markdown
в начале макроса и начало markdown
в конце макроса может быть плохим кодом, но я хотел бы создать таблицу всего одной командой.
Есть ли какие-нибудь предложения для большого новичка в LaTeX?
решение1
Я нашел решение.
В макросе мне приходится использовать \endmarkdown{}
вместо \end{markdown}
.