Mathematica может использоваться для написания очень хороших документов. Кто-нибудь знает, можно ли писать документы с двумя столбцами? Если да, можете ли вы привести некоторые примеры или ссылки на другие ноутбуки, которые показывают этот стиль.
2 столбца в математике
Ответ 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, а затем ячейку ввода и вывода и объединяет их в конструкцию с двумя столбцами.
Ответ 2
Графика и вставка могут использоваться для макетов, например: -
text = StringTake[ExampleData[{"Text", "Prufrock"}], {226, 931}];
columntext1 = StringTake[text, 350];
columntext2 = StringTake[text, {348, 706}];
column1 = Graphics[{White, Rectangle[{0, 0}, {150, 210}], Black,
Inset[TextCell[columntext1,
LineSpacing -> {0, 16}, TextJustification -> 1],
{0, 210}, {Left, Top}, {150, Automatic}]},
PlotRange -> {{0, 150}, {0, 210}},
BaseStyle -> {FontFamily -> "Times",
FontWeight -> "Plain", FontSize -> 13}];
column2 = Graphics[{White, Rectangle[{0, 0}, {150, 210}], Black,
Inset[TextCell[columntext2,
LineSpacing -> {0, 16}, TextJustification -> 1],
{0, 210}, {Left, Top}, {150, Automatic}]},
PlotRange -> {{0, 150}, {0, 210}},
BaseStyle -> {FontFamily -> "Times",
FontWeight -> "Plain", FontSize -> 13}];
image = ExampleData[{"TestImage", "House2"}];
clippedimage = Graphics[{Blue, Rectangle[{0, 0}, {500, 270}],
Inset[image, {250, 170}, {Center, Center}, {512, 512}]},
PlotRange -> {{0, 500}, {0, 270}}, ImageSize -> 500];
Graphics[{White, Rectangle[{0, 0}, {330, 400}],
Inset[column1, {75, 295}, {Center, Center}, {150, 210}],
Inset[column2, {255, 295}, {Center, Center}, {150, 210}],
Inset[clippedimage, {165, 90}, {Center, Center}, {330, 179}]},
PlotRange -> {{0, 330}, {0, 400}}, ImageSize -> 330]
Ответ 3
Это, по-видимому, было возможно с помощью пакета AuthorTools для версии 5 (см. эта ссылка в wiki для пользователей Mathematica).
Однако в версии 8 такой палитры нет, и ни палитра "Ассистент написания", ни опционный инспектор, похоже, не имеют соответствующей опции.
Возможно, можно что-то сделать с помощью Grid
с текстовым стилем Cells
внутри него, но я сомневаюсь, что это было бы просто.