我不知道之前是否有过这样的问题。简单的格式化问题。 我注意到有时很难将注释( ---- )放在彼此之上。必须是字体类型问题。如果我可以让事情完全相互对齐,它在屏幕上看起来会好一点。这是一个例子:
(* *)
(* L E F T P A N E L *)
(* *)
但它实际上在我面前的笔记本中看起来像这样:
如果我在第二行中向左移动一个空格,它就像这样:
所以,不能让它对齐。我正在使用Input(标准单元格)类型的单元格。
我不能使用其他类型的代码等类型。我想知道是否有人知道让这一点对齐的技巧。
感谢
编辑1: 在样式表演示
中显示输入单元格使用的字体
编辑2:
使用Alexey Popkov下面显示的代码修复了注释的字体问题,现在它们很容易对齐。这是一个截屏
编辑3:
嗯,这个党没有持续多久。在演示中不允许使用SetOptions。太糟糕了,因为Alexey的解决方案效果很好,并使评论保持一致并且看起来更好。
无论如何。真的没什么大不了的。可以忍受一些错位评论:)
答案 0 :(得分:7)
我之前从未真正担心过,因为我只对小评论或评论代码使用内联(* -- *)
条评论。如果我需要多行注释,我会将代码拆分成较小的部分并使用文本单元格。
也就是说,您可以尝试使用最右侧\[AlignmentMarker]
上的*)
:
1 + 2 + 3 + (* First three \[AlignmentMarker]*)
4 + 5 + 6 + (* Next three \[AlignmentMarker]*)
7 + 8 + 9 (* Last three \[AlignmentMarker]*)
显示为
如果你在代码之间有评论(左边没有代码),那么可以把它放在GridBox
(使用Ctrl-Enter
和Ctrl-,
创建)中,这是注释掉的使用白色字体(* ... *)
。
很难给出代码来制作上述内容......但这里是Box形式:
Cell[BoxData[
RowBox[{"Manipulate", "[", "\[IndentingNewLine]",
RowBox[{RowBox[{RowBox[{"a", " ", "=", " ",
RowBox[{"x", "+", "1"}]}], ";", "\[IndentingNewLine]", " ",
RowBox[{StyleBox["(*", FontColor->GrayLevel[1]], "",
GridBox[{{"(*", RowBox[{"Inter", "-", RowBox[{"code", Cell[""]}]}], "*)"},
{"(*", "comments", "*)"}},
GridBoxAlignment->{"Columns" -> {{Left}}, "ColumnsIndexed" -> {},
"Rows" -> {{Baseline}}, "RowsIndexed" -> {}}], " ",
StyleBox["*)", FontColor->GrayLevel[1]]}], "\[IndentingNewLine]",
RowBox[{"{", RowBox[{"a", ",", SuperscriptBox["a", "2"]}], "}"}]}], ",",
"\[IndentingNewLine]",
RowBox[{"{", RowBox[{"x", ",", "0", ",", "1"}], "}"}]}],
"]"}]], "Input"]
答案 1 :(得分:2)
我的 Mathematica 7的安装没有这个问题,因为默认情况下,对于样式为Input
的单元格,它使用等宽字体“Courier New”。但是,如果出于某种原因,默认情况下在您的安装中使用非等宽字体,您可以重新定义Notebook内的注释样式以使用等宽字体:
SetOptions[EvaluationNotebook[],
AutoStyleOptions -> {"CommentStyle" -> {FontWeight -> Plain,
FontColor -> GrayLevel[0.6`], ShowAutoStyles -> False,
ShowSyntaxStyles -> False, AutoNumberFormatting -> False,
FontFamily -> "Consolas"}}]