Как выровнять комментарии в тетради Mathematica? - PullRequest
7 голосов
/ 15 июня 2011

Я не знаю, спрашивалось ли это раньше или нет. Простое форматирование. Я заметил, что иногда трудно выровнять комментарии ( ---- ) друг над другом. Должно быть проблема типа шрифта. На экране это выглядит немного лучше, если я смогу выровнять вещи точно друг над другом. Вот пример:

(*                        *)
(*  L E F T    P A N E L  *)
(*                        *)

Но в записной книжке передо мной это выглядит так:

enter image description here

Если я переместу *) во второй строке на одну позицию влево, это будет выглядеть так:

enter image description here

Итак, не могу заставить его выровнять. Я использую ячейку типа Input (стандартная ячейка).

Я не могу использовать другой тип ячейки, такой как Код или тому подобное. Мне было интересно, если кто-нибудь знает хитрость, чтобы заставить это выравниваться.

спасибо

РЕДАКТИРОВАТЬ 1: Отображение шрифта, используемого ячейкой ввода в таблице стилей Демонстрация

enter image description here

РЕДАКТИРОВАТЬ 2: Используя код, показанный ниже Алексеем Попковым, исправили проблему со шрифтами для комментариев, и теперь они легко выровнены. Вот скриншот enter image description here

РЕДАКТИРОВАТЬ 3:

Ну, вечеринка длилась недолго. Использование SetOptions не допускается в демонстрационной версии. Очень жаль, потому что решение Алексея сработало хорошо и заставило комментарии выровняться и выглядеть лучше.

В любом случае. Ничего страшного на самом деле. может жить с небольшими смещенными комментариями:)

enter image description here

Ответы [ 2 ]

7 голосов
/ 15 июня 2011

Я никогда не беспокоился об этом раньше, так как я использую только встроенные (* -- *) комментарии для небольших комментариев или для комментирующего кода.Если мне нужен многострочный комментарий, я бы разбил свой код на более мелкие части и использовал бы текстовые ячейки.

Тем не менее, вы можете попробовать использовать \[AlignmentMarker] s в самых правых *):

1 + 2 + 3 +     (* First three  \[AlignmentMarker]*)
 4 + 5 + 6 +    (* Next three   \[AlignmentMarker]*)
 7 + 8 + 9      (* Last three   \[AlignmentMarker]*)

Отображается как

screenshot


Редактировать в ответ на комментарий:

Если между кодом есть комментарии (без кода дляслева), затем, возможно, поместите его в GridBox (созданный с использованием Ctrl-Enter и Ctrl-,), который закомментирован с использованием (* ... *) белым шрифтом.

GridBox

Трудно дать код для вышеприведенного ... но вот форма 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"]
2 голосов
/ 15 июня 2011

У меня нет такой проблемы с моей установкой Mathematica 7, поскольку он использует моноширинный шрифт "Courier New" по умолчанию для ячеек со стилем Input.Но если по какой-то причине в вашей установке по умолчанию используется немоноширинный шрифт, вы можете переопределить стиль комментариев внутри Блокнота для использования моноширинного шрифта:

SetOptions[EvaluationNotebook[], 
 AutoStyleOptions -> {"CommentStyle" -> {FontWeight -> Plain,
     FontColor -> GrayLevel[0.6`], ShowAutoStyles -> False, 
     ShowSyntaxStyles -> False, AutoNumberFormatting -> False, 
     FontFamily -> "Consolas"}}]
...