Reset ItemNumbered - wolfram-mathematica

I know there must be a simple answer to this but I've looked and looked. Suppose I form an ItemNumbered list at some point in the notebook. Then at some other point I want a new ItemNumbered list starting with number 1, but without resetting the original list. At present when I try to form the second list it always starts with n + 1, where n is the total number of items in the prior lists.
I've tried the Insert without luck. Help, please.

This behavior is subject to change in future versions of Mathematica, but for now you can use the CounterAssignments option to Cell to reset it for a particular cell, and then it applies to that cell and subsequent cells in the notebook.
Use the Option Inspector or directly edit the Cell expression ( Cell > Show Expression in the menu) and add the option, e.g.:
CounterAssignments -> {{"ItemNumbered", 1234}}
Note that the counter will be incremented if it is displayed in that same cell, so if you want to start numbering at 1, start your counter at 0.
Hope that helps!

Related

Abaqus: The following parts have some elements without any section assigned / Composite Layups

I am building up composite layups and assigning them to element sets. When I do so as soon as I try to submit the job, Abaqus always gives me the error "The following parts have some elements without any section assigned". There is not a single element without a material property, I do this by a script. As soon as I use a set which does not contain elements but a geometry Abaqus highlights the region green, but using geometry instead of element sets is not very suitable for me, because I am changing the properties of different elements. Also the region selection window opened by abaqus says "Sets below may contain elements, cells, shell faces or wire edges", so it should be possible to use element sets right?
I use the section assignment only for a small amount of elements, everything else is covered by composite layups.
If needed I can share more details from my model, but as I am not sure where to look for any errors right now, I wont do that right now.
Best regards and thanks for any advice!
You can do data check and then in open generated odb in viewer. In opened odb you can find ErrElemMissingSection in 'Display groups'

Does anyone know why an object would miss a property?

We have a script that export our Indesign documents to HTML and one of the routine is to export tables. In this script we go throught each Tables->Rows->Cells and evaluate some of the properties (i.e. bottomEdgeStrokeType, topEdgeStrokeType, etc...) and transport them to HTML.
Now yesterday we had problem converting one particular document because some cells were missing the "bottomEdgeStrokeType" property entirely. I've discovered this by outputting the properties of each cells and compare the faulty ones with the others.
This line bellow was trowing the error: "Invalid object for this request.".
var cellType = cell["bottomEdgeStrokeType"];
Now, to fix this I've wrapped this around a try catch block to handle the case when it's not there, but now what is puzzling me is how on earth can Extendscript instantiate an object with missing properties?
Indesign version: CS5.5
A property is not only 'undefined' if it cannot exist at all (such as asking for the parent text frame for a character in overset text), but InDesign's Javascript engine also fails to return a reasonably accurate result for multiple values.
If you ask for "the" point size of a paragraph, where this paragraph contains multiple sizes, poor ID does not consider to return something like CONSTANT.Mixed, or the first value only, or (what I might have preferred) an array of the values; it returns undefined instead.
So how can a single table cell have multiple bottom strokes? If the cell underneath it is split into multiple cells, and one has a "top" stroke but the other has not.
It's difficult to recommend an adequate solution. You could first test if the current cell is "merged" (as far as InDesign's internal table model is concerned) with columnSpan; and if so, iterate over the number of columns spanned and test the next row's cells for their top stroke, which in theory should match the bottom stroke of the cell above. (I find myself wondering if this is always true. ID's table model is ... weird. It's not entirely like a HTML table, despite the functional overlaps.)
If columnSpan is greater than 1 and equal to the number of cells immediately below the current one, you could test if all of their "top" values are the same and if so use that value. (I never tested this so ID's table model may simply fail because a cell is merged, regardless of same-values or not.)
One could attempt to flag this cell's next row to output "top" strokes as well -- but alternating top and bottom strokes may not align nicely in CSS, side to side. Perhaps it's best to translate only the first top stroke value to "the" bottom stroke property for your current cell, and fix up manually where needed (how?) or, a reasonable action, hope that no-one will ever notice it.

Change VB6 cell properties on runtime?

I have a table with a foo number of rows and bar number of columns.
What i'd like is for the selected cell to really appear as being selected.
At the moment the leftmost cell gets a red text to mark it's being selected.
What i'd llike is for the lines at the top and bottom of the cell to get bigger to really show that the cell is selected.
I've looked at the following but without success.
grd.row = aRow
grd.col = aCol
' Therafter i try to change the following:
grd.CellBorderColor = 255 ' Original value does not change
grd.CellBorderStyle = 2 ' Original value does not change
EDIT:
I found out that previously named properties are read only.. What can i do?
Any tips and/or pointers in the right direction will be highly appreciated, thanks for reading.
This particular grid. Called vaSpread or fpSpread needs a specific line to execute.
For executing changes to grid style you need to call grid.action = 13 after you've written the visual changes to the grid.

Temporarily disabling all input cells in a section of a notebook

Is there a way to disable all input cells in a cell group / section, in a way that is easily reversed later?
My aim is to keep a section of a notebook intact, but prevent it from being evaluated when "Evaluate Notebook" is selected in the front end.
There's Cell -> Cell properties -> Evaluatable, but using this would require me to select every input cell manually and change/restore this property. This is too much work. I have text/subsection/output cells interlaced.
Is there a better way using the UI? If not, is there a simple programmatic way?
EDIT: I found Alt-click, which selects all input cells in the notebook. Can this be restricted to a section / cell-group only?
Option-click to select all Input cells.
Command-click twice (once to select, once to deselect) each cell group you don't want to include.
Also, you could just set Evaluatable->False on the entire cell group you want to disable. The Text, Subsection, & Output cells in that group won't cause any problems.

List Control Adds a Space for an Image to Column 0 When Subsequent Columns Have Images

I’ve come across a problem with Windows list controls (I am specifically using MFC, but it looks like it applies to all list controls in the Windows common controls library).
In my specific case, I want to create a list control that has two or more columns. The first column (0) is text-only and is used to allow the user to jump to entries by typing the text in that row. Column two (or three, or four, or whatever) has an image (or an image and text; either way).
This much is all well and good and can be done easily without problem, however the final list control then ends up having a space to the left of the text in column 0 (it may be on the right on an RTL system). This spacer appears to be reserved for an image and I cannot figure out a way to prevent it. (Arranging the specific order of the columns did not change anything.)
Looking around, I found some other people complaining of the same thing, specifically this thread which leads to this thread. The proposed solution does not work because as was stated, simply shrinking the width of column zero merely cuts off the text rather than the image spacer (plus, you then have to prevent and/or process any changes to column widths that the user tries to make).
Does anyone have any ideas of how to fix this bug short of writing a list control from scratch or using one of the too-fancy grid controls on CodeProject/CodeGuru/etc.?
Thanks a lot.
Did you try to change the iIndent member of the LVITEM struct? MSDN says this:
iIndent Version 4.70. Number of image widths to indent the item. A
single indentation equals the width of
an item image. Therefore, the value 1
indents the item by the width of one
image, the value 2 indents by two
images, and so on. Note that this
field is supported only for items.
Attempting to set subitem indentation
will cause the calling function to
fail.
Column 0 is special in a ListView. As soon as you assign a small image list to the ListView, the control expects you to show an image in column 0, so it leaves space for it.
Solutions:
make column 0 zero-width, give it the value you want the user to be able to type. Column 1 becomes your "first" text column. Columns 2+ are for your images. You need full row select style for this to work. Yes, you have to prevent the user from resizing column 0. Yes, that is a pain.
make a column that does have an image to be column 0 and use LVM_SETCOLUMNORDERARRAY to rearrange the display order
owner draw the items.
give column 0 an icon (just to cover all bases)

Resources