Layout mathematica中的两列文档
Mathematica可以用来编写非常好的文档。有人知道是否有可能编写两列文档吗?如果是这样的话,您能否提供一些示例或指向其他显示这种风格的笔记本的链接。显然,使用版本5的软件包可以实现这一点(请参阅) 但是,版本8中没有这样的调色板,“书写助手”调色板和选项检查器似乎都没有相关的选项Layout mathematica中的两列文档,layout,formatting,wolfram-mathematica,Layout,Formatting,Wolfram Mathematica,Mathematica可以用来编写非常好的文档。有人知道是否有可能编写两列文档吗?如果是这样的话,您能否提供一些示例或指向其他显示这种风格的笔记本的链接。显然,使用版本5的软件包可以实现这一点(请参阅) 但是,版本8中没有这样的调色板,“书写助手”调色板和选项检查器似乎都没有相关的选项 使用网格和其中的文本样式单元格可能会做一些事情,但我怀疑这会很简单。我认为Mathematica不支持任何好的多列实现-它与笔记本界面的结构不太兼容。publicon不支持适当的多列这一事实可能是Mathemat
使用
网格
和其中的文本样式单元格
可能会做一些事情,但我怀疑这会很简单。我认为Mathematica不支持任何好的多列实现-它与笔记本界面的结构不太兼容。publicon不支持适当的多列这一事实可能是Mathematica不支持的一个很好的暗示
Publicon文档是
面向垂直滚动模式,很像HTML,而不是
而不是在页面布局程序中找到的逐页配置。
可以在表中配置多个列,但不能作为
流动。Publicon的重点是文档结构,允许
翻译成LaTeX或XML以提交给出版商。出版者
然后可以使用页面布局工具,利用自己的特定
用于生成单列或双列布局的格式
规格
当然,也可以使用诸如(Verbia的回答中提到的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。真正的转换取决于系统和字体。此外,仅向输入和输出单元格添加celllable
s也不起作用。因此,In[n]:=
Out[n]=
可能需要使用中间的小列手动添加
最后,应该可以构造类似于author tools package使用的双边单元格代码的东西,该代码捕获文本/MathCaption单元格,后跟输入和输出单元格,并将它们组合成两列结构。图形和插图可用于布局,例如:-
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]
这里有一个链接,展示了过去可能发生的事情……我曾考虑过使用
网格
,但正如您所说,这可能不是直接的。我所要做的就是获得与某些期刊相同的样式。我希望有一个MMA8的例子,展示如何创建包含文本、数学公式和示例代码的两列。我想如果我可以导出到Latex,然后使用两列样式就可以了。我没有想到这种可能性。不幸的是,我还没有弄清楚如何正确使用mathematica中的交叉引用,以便将其导出到latex。我按照你之前的建议给他们发了电子邮件,但他们没有回复。我想我只是想给wolfram的人发封电子邮件。我希望有人回答。无论如何,我想在mathematica中创建一个2列文档是不可能的。谢谢。克里斯,这看起来不错,但我认为写文档效率不高。我想要的是一种让mathematica用两列打印文档的方法。在这种情况下,我们只关心添加内容。使用图形对象太麻烦了。@jmlopez-是的,没有文字处理效率高。使用图形将其分为两个阶段:1。设置文本和2。运行页面布局。此外,很难计算在何处打断这两列的文本。但除此之外,这是一个有用的过程。与自动化相关:。不完全是两列,但相关: