2 столбца в математике

Mathematica может использоваться для написания очень хороших документов. Кто-нибудь знает, можно ли писать документы с двумя столбцами? Если да, можете ли вы привести некоторые примеры или ссылки на другие ноутбуки, которые показывают этот стиль.

Ответ 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

2 col text

Или вы можете иметь текст слева ввода/вывода справа

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

2 col in/out

Обратите внимание, что я только сделал изворотливое преобразование из пикселей в 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]

enter image description here

Ответ 3

Это, по-видимому, было возможно с помощью пакета AuthorTools для версии 5 (см. эта ссылка в wiki для пользователей Mathematica).

Однако в версии 8 такой палитры нет, и ни палитра "Ассистент написания", ни опционный инспектор, похоже, не имеют соответствующей опции.

Возможно, можно что-то сделать с помощью Grid с текстовым стилем Cells внутри него, но я сомневаюсь, что это было бы просто.