Ответ 1
Я не думаю, что в Mathematica поддерживается хорошая реализация многоколоночных - она не совсем совместима со структурой интерфейса ноутбука. Тот факт, что publicon не поддерживает правильные несколько столбцов, вероятно, является хорошим намеком на то, что Mathematica этого не делает.
Q: поддерживает ли Publicon многоколоночный макет?
Публичные документы ориентированной на вертикальную прокрутку, подобно HTML, скорее чем конфигурация страницы за страницей, найденная в программах макета страницы. Несколько столбцов могут быть настроены в таблицах, но не поддерживаются как потоки. Publicon фокусируется на структуре документов, что позволяет перевод в LaTeX или XML для представления издателям. Издатели могут затем использовать инструменты макета страницы, которые используют свои собственные форматы для создания одно- или двухколоночных макетов для собственных технические характеристики.
Хотя, конечно, взломают как Двусторонние ячейки (часть пакета Author Tools, упомянутая в ответе Вербии) и это может быть использовано ниже.
Здесь приведен код, который генерирует текстовую ячейку с двумя столбцами, которая будет изменять размер столбцов до размера окна, но текст не перетекает из одного столбца в другой. После создания ячейки вы можете ввести ее как обычно.
Cell[BoxData[
GridBox[{{Cell["Column One:\nsome text", "Text"],
Cell["Column Two:\nmore text", "Text"]}}, ColumnsEqual -> True,
ColumnSpacings -> 2, ColumnAlignments -> Left,
ColumnWidths -> Dynamic[First[WindowSize /. Options[EvaluationNotebook[]]]/(2*18)]]],
"Text"] // CellPrint
Или вы можете иметь текст слева ввода/вывода справа
Cell[BoxData[GridBox[{
{Cell["Column One:\nsome text", "Text"], Cell[BoxData[RowBox[{"1", "+", "1"}]], "Input"]},
{"\[SpanFromAbove]", Cell[BoxData["2"], "Output"]}},
ColumnsEqual -> True, ColumnSpacings -> 2, ColumnAlignments -> Left,
ColumnWidths -> Dynamic[First[WindowSize /. Options[EvaluationNotebook[]]]/(2*18)]]],
"Text"] // CellPrint
Обратите внимание, что я только сделал изворотливое преобразование из пикселей в em путем деления первого на 18. Истинное преобразование будет зависящим от системы и шрифта. Кроме того, просто добавление CellLabel
к входным и выходным ячейкам не работает. Поэтому In[n]:=
Out[n]=
может потребоваться добавить вручную, используя небольшой средний столбец.
Наконец, должно быть возможно построить нечто вроде двустороннего кода ячейки, используемого пакетом инструментов автора, который захватывает ячейку Text/MathCaption, а затем ячейку ввода и вывода и объединяет их в конструкцию с двумя столбцами.