如何解决如何在Mathematica笔记本中对齐注释?
| 我不知道这是否被问过了。简单的格式问题。 我注意到有时很难将注释(----)彼此对齐。必须是字体类型问题。如果我可以使它们彼此完全对齐,则在屏幕上看起来好一些。这是一个例子:(* *)
(* L E F T P A N E L *)
(* *)
但实际上在我面前的笔记本中是这样的:
如果我将*)在第二行中向左移动一个空格,它将变为:
因此,无法使其对齐。我正在使用输入类型的单元格(标准单元格)。
我不能使用其他单元格类型,例如“代码”等。我想知道是否有人知道将其对齐的技巧。
谢谢
编辑1:
在样式表“演示”中显示“输入”单元格使用的字体
编辑2:
使用Alexey Popkov下面显示的代码,修复了注释的字体问题,现在它们可以轻松对齐。这是一个屏幕截图
编辑3:
好吧,聚会没有持续很长时间。演示中不允许使用SetOptions。太糟糕了,因为Alexey的解决方案效果很好,并使注释一致并看起来更好。
随便确实没什么大不了的。可以忍受一些未对齐的评论:)
解决方法
我的Mathematica 7安装没有此类问题,因为默认情况下,样式为“ 1”的单元格使用等宽字体\“ Courier New \”。但是,如果由于某种原因默认情况下在安装中使用了非等宽字体,则可以重新定义Notebook中的注释样式以使用等宽字体:
SetOptions[EvaluationNotebook[],AutoStyleOptions -> {\"CommentStyle\" -> {FontWeight -> Plain,FontColor -> GrayLevel[0.6`],ShowAutoStyles -> False,ShowSyntaxStyles -> False,AutoNumberFormatting -> False,FontFamily -> \"Consolas\"}}]
, 我以前从来没有真正担心过,因为我只将内联comments3ѭ注释用于小注释或注释掉代码。如果需要多行注释,可以将代码分成较小的部分并使用文本单元格。
也就是说,您可以尝试在最右边的*)
上使用\\[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\"}]}],\";\",RowBox[{StyleBox[\"(*\",FontColor->GrayLevel[1]],\"\",GridBox[{{\"(*\",RowBox[{\"Inter\",\"-\",RowBox[{\"code\",Cell[\"\"]}]}],\"*)\"},{\"(*\",\"comments\",\"*)\"}},GridBoxAlignment->{\"Columns\" -> {{Left}},\"ColumnsIndexed\" -> {},\"Rows\" -> {{Baseline}},\"RowsIndexed\" -> {}}],StyleBox[\"*)\",FontColor->GrayLevel[1]]}],RowBox[{\"{\",RowBox[{\"a\",\",SuperscriptBox[\"a\",\"2\"]}],\"}\"}]}],\"0\",\"1\"}],\"]\"}]],\"Input\"]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。