Mathematical formula editing method, mathematical formula editing device, and mathematical formula editing program
By automatically setting the cursor input position in mathematical formula editing, the complex cursor position adjustment after paste operation is solved according to the operator or operator clicked by the user, and a more efficient editing experience is achieved.
Patent Information
- Application Number
- JP2021154461
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-22
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2041-09-22
AI Technical Summary
In mathematical formula editing, the input cursor after the paste operation is usually located behind the formula, resulting in complex and cumbersome cursor position adjustment operations required when editing the formula.
By determining the operator or operator that the user clicks in a mathematical formula, and automatically setting the input position of the cursor according to the click position, so that characters can be entered directly at the appropriate position during subsequent editing.
The editing process after paste operation is simplified, the complexity of cursor position adjustment is reduced, and the editing efficiency is improved.
Smart Images

Figure 0007674209000001 
Figure 0007674209000002 
Figure 0007674209000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a mathematical expression editing method, a mathematical expression editing device, and a mathematical expression editing program. [Background technology]
[0002] In software executed by personal computers, etc., there is a function called copy and paste that allows users to select and copy characters or character strings and paste them at a desired position. After pasting, the input cursor usually moves to the position after the pasted character string.
[0003] In recent years, as the use of electronic devices such as tablets and smartphones equipped with touch panels has expanded, mathematical expression input software that can be used with touch panels has been proposed. In this mathematical expression input software, too, the input cursor after pasting a mathematical expression is positioned behind the pasted mathematical expression. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2011-175400 A Summary of the Invention [Problem to be solved by the invention]
[0005] However, in the case of formulas, it is often desirable to edit the formula after pasting. For example, when an integral formula is pasted, it is considered that the integrand will often be edited. In such a case, if the input cursor is located after the formula, the input cursor must be moved back to the position of the integrand in order to edit the integrand. In other words, editing a formula using pasting often requires the operation of moving the position of the input cursor, which makes the operation complicated and burdensome.
[0006] The present invention has been made in consideration of the above-mentioned problems, and has an object to provide a formula editing method, a formula editing device, and a formula editing program that can simplify subsequent editing operations when a formula is pasted. [Means for solving the problem]
[0007] In order to solve the above problem, a formula editing method executed by a formula editing device according to an embodiment of the present invention is a formula editing method executed by a formula editing device, the formula editing method comprising: a minimum formula including the operator and the operand of the operator included in the predetermined formula, the minimum formula including the operator and the operand of the operator included in the predetermined formula, if the operator and the operand of the operator included in the predetermined formula are determined to have been tapped by an operation of an operator, is specified as the range to be copied, When it is determined that the operand is tapped, The smallest formula containing the operands and the operator is identified as the range to be copied, and the input position of a new character to be input into the formula containing the range to be copied is determined based on the identified operator, and the determined input position is set as the display position of the cursor. Effect of the Invention
[0008] According to the present invention, it is possible to provide a formula editing method, an information processing device, and a formula editing program that can simplify the operation of moving the cursor for subsequent editing when a formula is pasted. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of a system including an information processing device 3 in this embodiment. [Diagram 2] FIG. 2 is a diagram showing an information processing block of a control unit in the embodiment. [Diagram 3] FIG. 4 is a diagram showing an example of an input screen for inputting a mathematical expression according to the embodiment. [Figure 4] 10 is a flowchart showing a process of copying a selected range in the mathematical expression editing method according to the embodiment of the present invention. [Diagram 5] 10 is a flowchart showing a process of copying a selected range in the mathematical expression editing method according to the embodiment of the present invention. [Figure 6]11 is a flowchart showing a selection release determination process in a copy process in the present embodiment. [Figure 7] 11 is a flowchart showing a copy determination process in the copy process in the embodiment. [Figure 8] 11 is a flowchart showing a selection range paste process in the copy determination process in the embodiment. [Figure 9] 5A and 5B are diagrams for explaining a selection range for a mathematical expression in the present embodiment. [Figure 10] 5A and 5B are diagrams for explaining a selection range for a mathematical expression in the present embodiment. [Figure 11] 5A and 5B are diagrams for explaining a selection range for a mathematical expression in the present embodiment. [Figure 12] 5A and 5B are diagrams for explaining a selection range for a mathematical expression in the present embodiment. [Figure 13] 5A and 5B are diagrams for explaining a selection range for a mathematical expression in the present embodiment. [Figure 14] 5A and 5B are diagrams for explaining a selection range for a mathematical expression in the present embodiment. [Figure 15] 5A and 5B are diagrams for explaining a selection range for a mathematical expression in the present embodiment. [Figure 16] 6A to 6C are diagrams for explaining a selection range paste process in the embodiment. [Figure 17] 6A to 6C are diagrams for explaining a selection range paste process in the embodiment. [Figure 18] 6A to 6C are diagrams for explaining a selection range paste process in the embodiment. [Figure 19] 6A to 6C are diagrams for explaining a selection range paste process in the embodiment. [Figure 20] 6A to 6C are diagrams for explaining a selection range paste process in the embodiment. [Figure 21] 6A to 6C are diagrams for explaining a selection range paste process in the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0011] In the information processing device 3 according to the embodiment of the present invention, the range of selection is determined according to the characters tapped by the subject and the type of tap for the mathematical formula displayed on the display screen. FIG. 1 is a diagram showing an example of the configuration of a system 100 including the information processing device 3. The system 100 includes a server 1 and an information processing device 3 communicably connected to the server 1 via a network 2. The server 1 or the information processing device 3 operates as a mathematical formula editing device.
[0012] The server 1 receives data, mathematical expressions, and calculation instructions for calculation from the information processing device 3, calculates data based on the received mathematical expressions and calculation instructions, and transmits the calculation results to the information processing device 3. The network 2 is a communication network that communicatively connects the server 1 and the information processing device 3. The network 2 is, for example, the Internet.
[0013] The information processing device 3 is a terminal device, such as a smartphone, a tablet PC (personal computer), etc. As an example of its configuration, the information processing device 3 includes a processor 31, a memory 32, a storage device 33, an input device 34, a display device 36, and a communication device 37. The processor 31, the memory 32, the storage device 33, the input device 34, the display device 36, and the communication device 37 are each connected to each other via a bus 38.
[0014] The processor 31 reads out various programs stored in the storage device 33, expands them in the memory 32, and executes them. The processor 31 can be configured using a processing device such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit). The memory 32 can be configured using a storage element and a storage medium such as a RAM (Random Access Memory) or a volatile or non-volatile semiconductor memory such as a flash memory.
[0015] The storage device 33 is a device that stores various programs executed by the processor 31 and various data to be used by the various programs. The storage device 33 can be configured using a storage device such as a hard disk drive (HDD) or a solid state drive (SSD).
[0016] The input device 34 is a device that accepts input from a subject. The input device 34 can be configured using a device that allows touch input, such as a tablet or a digitizer. The display device 36 displays various information such as data, mathematical expressions, and calculation instructions. The display device 36 can be configured using a display device such as an LCD (Liquid Crystal Display) or an organic EL (Electroluminescence) monitor. In this embodiment, the input device 34 is placed on the display device 36 to function as a touch panel that serves as both an input unit and a display unit.
[0017] The communication device 37 communicates with the server 1 via the network 2 to transmit and receive various data. The communication device 37 can be configured with various devices having a communication method connectable to the network 2, such as wireless LAN, Wi-fi (registered trademark), etc.
[0018] The above-mentioned processor 31 executes a program stored in the storage device 33, thereby realizing a control unit 310 including the information processing block shown in Fig. 2. As a result, the information processing device 3 operates as a mathematical formula editing device, and can determine a selection range for a mathematical formula displayed on the display screen according to the characters tapped by the subject and the type of tap, and execute various processes for the selected range.
[0019] The control unit 310 includes, as information processing blocks, a discrimination unit 311, a specification unit 312, a selection range setting unit 313, a processing unit 314, a display processing unit 315, and a priority setting unit 316. The discrimination unit 311 discriminates the type of character selected by the subject via the input device 34 from among the characters displayed on the screen of the display device 36, or the type of selection operation. The specification unit 312 identifies, from among the characters included in the mathematical expression, a related character related to the character selected by the subject, based on the type of character discriminated by the discrimination unit 311. Furthermore, the specification unit 312 identifies, from among the characters included in the mathematical expression, a character to be selected according to the type of selection operation discriminated by the discrimination unit 311.
[0020] The selection range setting unit 313 sets the characters selected by the subject and the related characters specified by the specification unit 312, or the characters specified by the specification unit 312, as a selection range. The processing unit 314 executes various processes on the selection range set by the selection range setting unit 313 in response to an instruction input by the subject from the input device 34. The processing by the processing unit 314 includes a process of copying (selecting a character string) the selection range set by the selection range setting unit 313 and pasting (copying a character string) at a position instructed by input from the input device 34. The display processing unit 315 executes a process of switching the display contents to be displayed on the display device 36 in response to an instruction input from the input device 34, the selection range set in the selection range setting unit 313, and various processes executed by the processing unit 314. When the formula is pasted by the processing unit 314, the display processing unit 315 displays a cursor position (character input position instruction) at a position suitable for subsequent editing of the formula. The priority setting unit 316 specifies a priority position when setting the cursor position (character input position instruction) after pasting the selected range. The priority setting unit 316 may have a priority position set in advance by initial setting, or the priority position may be changed by the subject's operation on the input device 34, for example.
[0021] The information processing device 3 displays an input screen for inputting a mathematical formula on the screen of the display device 36 in response to an instruction from the subject via the input device 34. The input screen for inputting a mathematical formula can be displayed, for example, by a web browser operating on the screen of the display device 36. An example of the input screen for inputting a mathematical formula is shown in FIG.
[0022] The input screen for inputting a mathematical expression includes a data display section 361, a data input section 362, and a mathematical expression input section 363. The data display section 361 is a display section for displaying various data. For example, the data display section 361 displays the results of calculations performed by the server 1 based on calculation instructions received from the information processing device 3.
[0023] Data input section 362 is an input section into which various mathematical expressions and calculation instructions such as numbers, operators, arrow keys, etc. can be input. Mathematical expression input section 363 is an input section into which mathematical expressions can be input. Not only one mathematical expression input section 363 but multiple mathematical expression input sections 363 can be displayed at the same time.
[0024] The subject can set, change, add, etc., the value of a parameter included in the mathematical formula inputted to the mathematical formula input section 363. In addition, the subject can arbitrarily select a part or all of the mathematical formula inputted to the mathematical formula input section 363 and copy it to another mathematical formula input section 363. In this case, when the subject performs a selection operation on the screen of the display device 36 by tapping a character included in the mathematical formula inputted to the mathematical formula input section 363, the type of the tapped character is determined by the determination section 311 shown in FIG. 2. Next, the identification section 312 shown in FIG. 2 identifies a related character related to the tapped character based on the determined type of character.
[0025] The selection range setting unit 313 shown in Fig. 2 selects an appropriate range in the formula based on the tapped character and related characters. The display processing unit 315 shown in Fig. 2 displays the selected range (hereinafter, referred to as the selected range) on the screen of the display device 36. In the following description, a tap is considered to be a single tap unless otherwise specified as a double tap.
[0026] Next, the operation of the information processing device 3 of this embodiment as a mathematical expression editing device will be described.
[0027] Figures 4 and 5 are flowcharts showing a selection range copy process in the formula editing method of this embodiment. Figure 6 is a flowchart showing a selection deselection determination process in the copy process in this embodiment. Figure 7 is a flowchart showing a copy determination process in the copy process in this embodiment. Figure 8 is a flowchart showing a selection range paste process in the copy determination process in this embodiment.
[0028] In the process of copying a selected range, a process will be described in which a subject selects a range of a formula inputted into formula input section 363 shown in FIG. 3 by using a predetermined selection method, copies the range, and pastes it into another formula input section 363.
[0029] The selection range copy processing is stored as a selection range copy processing program in the storage device 33 of the information processing device 3 shown in Fig. 1. When the information processing device 3 displays the mathematical expression input section 363 on the input screen for inputting a mathematical expression shown in Fig. 3, the information processing device 3 executes the selection range copy processing program. Specifically, the processor 31 of the information processing device 3 shown in Fig. 1 reads out the selection range copy processing program from the storage device 33, expands it in the memory 32, and executes it.
[0030] First, when the subject taps on the screen of the display device 36 on the mathematical expression inputted to the mathematical expression input unit 363 shown in Fig. 3, the determination unit 311 of the control unit 310 determines whether or not the subject tapped on an operator included in the mathematical expression (step S101). If the subject tapped on the operator (step S101; YES), the determination unit 311 of the control unit 310 determines whether or not a drawing operation was subsequently performed (step S102).
[0031] If a drawing operation is not being performed (step S102; NO), the identification unit 312 identifies the tapped operator. The selection range setting unit 313 selects the tapped operator as the selection range. The display processing unit 315 displays the selected selection range in inverted display on the screen of the display device 36 (step S104).
[0032] For example, when the subject taps an operator included in the mathematical expression shown in FIG. 9(A) inputted to the mathematical expression input section 363 on the screen of the display device 36 by the input device 34, the tapped operator is selected by the selection range setting section 313 accordingly. Hereinafter, the black arrow indicates the tapped position. Also, the range surrounded by the dotted line is the range tapped by the subject. The selection range selected by the selection range setting section 313 is displayed with the color of the selected characters and the color of the background of the selected characters inverted from each other, but here, for convenience, it is assumed that the selection range is surrounded by a two-dot chain line.
[0033] In this case, as shown in Fig. 9(A), when the discrimination unit 311 discriminates that the operator "+" has been tapped, the operator "+" is displayed inverted. Here, when the set time has elapsed, the operator "+" becomes the selected range.
[0034] If the subject further taps the formula shown in FIG. 9(A) on the screen of the display device 36 using the input device 34 before the set time has elapsed (step S105; YES), the identification unit 312 accordingly identifies "6" and "3", which are operands of the previously selected operator "+", as related characters. The selection range setting unit 313 selects the smallest formula containing the selected operator and related characters, i.e., "6+3", as the selection range. The display processing unit 315 displays the selected selection range in inverted form on the screen of the display device 36 as shown in FIG. 9(B) (step S106).
[0035] That is, for a formula including an operator, a first tap on the operator specifies the range of only the operator, and a second tap on the formula specifies the range including the operand of the operator tapped the first time. Next, discrimination unit 311 executes the process shown in step S121.
[0036] Next, a case where an operand of a mathematical expression input to mathematical expression input unit 363 is tapped will be described.
[0037] In this case, determination unit 311 of control unit 310 determines that an operand included in the mathematical expression input to mathematical expression input unit 363 shown in FIG. 3 has been tapped (step S114; YES).
[0038] In this case, the identification unit 312 identifies an operator that targets the tapped operand as a related character. The selection range setting unit 313 selects, as the selection range, the smallest mathematical expression that includes the tapped operand and the related character identified by the identification unit 312. The display processing unit 315 displays the selected selection range in inverted mode on the screen of the display device 36 (step S115).
[0039] For example, when the subject taps, by the input device 34, on the screen of the display device 36 on the operand "3" included in the mathematical formula shown in Fig. 10(A) input to the mathematical formula input section 363, the tapped operand "3" and the operator "+" that targets this operand "3" are identified as related characters, and the smallest mathematical formula "6+3" that includes the related character "+" is selected by the selection range setting section 313. In this case, the mathematical formula "6+3" is determined and displayed as shown in Fig. 10(B).
[0040] Next, the discrimination unit 311 judges whether or not an operand included in the selection range is pressed and held on the screen of the display device 36 by the subject (step S116). If the operand is pressed and held (step S116; YES), the selection range setting unit 313 gradually expands the selection range. The display processing unit 315 displays the gradually expanding selection range in inverted display on the screen of the display device 36 (step S117). If the operand is not pressed and held (step S116; NO), the selection range is not expanded. Next, the discrimination unit 311 executes the process shown in step S121 of FIG. 4.
[0041] For example, as shown in Figure 11(A), when the selected "6+3" is pressed and held, the selection range is expanded to the formula containing the operator "+" that targets "6+3" and the operand "5" other than "6+3" that this operator targets, that is, "(6+3)+5." As a result, the selected "(6+3)+5" is displayed inverted, as shown in Figure 11(B).
[0042] Next, the discrimination unit 311 judges whether or not an operand included in the selection range is further pressed and held on the screen of the display device 36 by the subject (step S118). If the operand is further pressed and held (step S118; YES), the selection range is gradually expanded in the same manner. The display processing unit 315 displays the gradually expanded selection range in inverted display on the screen of the display device 36 (step S117). If the operand is not further pressed and held (step S118; NO), the selection range is not expanded. Next, the discrimination unit 311 executes the process shown in step S121 of FIG. 4.
[0043] Furthermore, in step S114, if the operand has not been tapped (step S114; NO), the discrimination unit 311 judges whether or not the operator, the operand, or both in the parentheses included in the formula have been double-tapped by the subject on the screen of the display device 36 (step S119). If the operator, the operand, or both in the parentheses included in the formula have been double-tapped (step S119; YES), the identification unit 312 identifies the smallest formula in the parentheses that includes the double-tapped operator, the operand, or both the operator and the operand.
[0044] The selection range setting unit 313 selects the smallest formula identified by the identification unit 312 as the selection range. The display processing unit 315 displays the selected selection range in inverted form on the screen of the display device 36 (step S120). Next, the determination unit 311 executes the process shown in step S121 of Fig. 4. If the operator, the operand, or both in the parentheses included in the formula have not been double-tapped (step S119; NO), the processing unit 314 of the control unit 310 returns to step S101 shown in Fig. 4.
[0045] After an operator is tapped (step S101; YES), if a draw operation is performed (step S102; YES), the identification unit 312 of the control unit 310 identifies the smallest formula including the operator and the operand in the direction of the draw operation, or the smallest formula contained in parentheses in the direction of the draw operation. The selection range setting unit 313 of the control unit 310 selects the smallest formula identified by the identification unit 312 as the selection range.
[0046] For example, if an operator is tapped and then a drawing operation is performed on the formula, the range including the tapped operator and the operands of the operator is selected. Note that if an operand is tapped and then a drawing operation is performed, the range including the tapped operand, the operator included in the range that was drawn, and the operands of the operator is selected.
[0047] Next, a case where a special operator in a mathematical expression input in mathematical expression input unit 363 is tapped will be described.
[0048] In this case, determination unit 311 of control unit 310 determines that a special operator included in the mathematical expression input to mathematical expression input unit 363 shown in FIG. 3 has been tapped (step S107; YES).
[0049] When the special operator is tapped by the target person on the screen of the input device 34 (step S107; YES), the identification unit 312 identifies the tapped special operator. Then, the selection range setting unit 313 selects the tapped special operator as a selection range. The display processing unit 315 displays the selected selection range in inverted form on the screen of the display device 36 (step S108).
[0050] Next, the determination unit 311 determines whether or not the selection range selected in step S108 is further tapped on the screen of the display device 36 by the subject before the set time has elapsed (step S109).
[0051] When the selection range is tapped (step S109; YES), the identification unit 312 determines whether the special operator selected as the selection range is accompanied by a parameter, and identifies the range of the special operator and parameter if the parameter is accompanied (step S110; YES). The selection range setting unit 313 selects the tapped special operator and parameter as the selection range. The display processing unit 315 displays the selected selection range inverted on the screen of the display device 36 (step S111).
[0052] If the special operator does not have a parameter (step S110; NO), the selection range setting unit 313 selects the tapped special operator and the formula including the operand of the special operator as the selection range. The display processing unit 315 displays the selected selection range (special operator, operand) inverted on the screen of the display device 36 (step S113).
[0053] When the special operator and the parameter selected as the selection range are selected as the selection range, the discrimination unit 311 then determines whether or not the selection range is further tapped on the screen of the display device 36 by the subject before the set time has elapsed (step S112).
[0054] When the selection range is tapped (step S112; YES), the identification unit 312 identifies the range of the formula including the special operator and parameter selected as the selection range, and further the operand of the special operator (step S110; YES). The selection range setting unit 313 selects the tapped special operator, parameter, and operand as the selection range. The display processing unit 315 displays the selected selection range (special operator, parameter, and operand) in inverted display on the screen of the display device 36 (step S113).
[0055] For example, when the subject taps the special operator “∫” (or “dx”) included in the formula shown in FIG. 12(A) inputted into the formula input section 363 on the screen of the display device 36 using the input device 34, the tapped special operator “∫” and the “dx” associated with the special operator are selected by the selection range setting section 313 accordingly.
[0056] If the subject further taps the formula shown in Figure 12 (A) on the screen of display device 36 using input device 34 before the set time has elapsed, since there are no parameters associated with the special operator "∫", the selected special operator "∫" and the operand of "dx", "2x+1", are identified as related characters accordingly, and the range including the special operators "∫" and "dx" and the operand "2x+1" is displayed in reverse on the screen of display device 36, as shown in Figure 12 (B).
[0057] In other words, for a formula that includes a special operator without a parameter, you can tap on the special operator once to specify a range for only the special operator, and then tap on the formula a second time to specify a range that includes the operand of the special operator you tapped the first time.
[0058] Next, a case where a parameter is attached to a special operator will be described.
[0059] For example, when the subject taps on the screen of the display device 36 using the input device 34 the special operator "∫" (or "dx") associated with a parameter contained in the formula shown in Figure 13 (A) entered into the formula input section 363, the tapped special operator "∫" and the "dx" associated with the special operator are selected by the selection range setting section 313 accordingly.
[0060] If the subject further taps the formula shown in Figure 13(A) on the screen of display device 36 using input device 34 before the set time has elapsed, the selected special operators "∫" and "dx", as well as the range of parameters associated with the special operator "∫", are identified as related characters, and the special operators "∫" and "dx" and the range including the parameters are displayed in reverse on the screen of display device 36, as shown in Figure 13(B).
[0061] If the subject further taps the formula shown in Figure 13 (B) on the screen of display device 36 using input device 34 before the set time has elapsed, the selected special operators "∫" and "dx", the parameters associated with the special operator "∫", and the operand "2x+1" of the special operators "∫" and "dx" are identified as related characters, and the range including the special operators "∫" and "dx", the parameters, and the operand "2x+1" is displayed in reverse on the screen of display device 36, as shown in Figure 13 (C).
[0062] In other words, for a formula that contains a special operator with a parameter, you can tap on the special operator once to specify a range for just the special operator, then tap on the formula a second time to specify a range that includes the special operator and its parameters, and then tap on the formula a third time to specify a range that includes the operands of the special operator.
[0063] FIG. 14 shows an example in which a formula including a special operator "Σ" accompanied by a parameter different from the special operator "∫" is input to formula input section 363.
[0064] In this case, when the special operator "Σ" is tapped, the range of the special operator "Σ" is specified, and the special operator "Σ" is displayed inverted, as shown in Figure 14(A). Furthermore, when the formula is tapped, the range including the parameters of the special operator "Σ" is specified, and the range including the special operator "Σ" and the parameters is displayed inverted, as shown in Figure 14(B). Furthermore, when the formula is tapped, the range including the operand "2x" of the special operator "Σ" is specified, and the range including the special operator "Σ", the parameters, and the operand "2x" are displayed inverted, as shown in Figure 14(C).
[0065] Note that the above explanation describes the case where a special operator is tapped for the first time in a formula that includes a special operator, but if an operator or operand of a formula that includes a special operator is tapped for the first time (steps S101, S114; YES), the range including the operator or operand is specified first.
[0066] For example, as shown in FIG. 15(A), when a formula including the special operator "∫" is tapped on any character of "2x+1" and then successive taps (steps S105, S106), a draw operation (steps S102, S103), or a long press operation (steps S116 to S118) are performed, the range specified is first expanded to "2x+1", and then, as shown in FIG. 15(B), a range including the special operators "∫" and "dx" is specified.
[0067] In the above explanation, "∫" and "Σ" are used as examples of special operators, but this is not limited to these, and the selection range can be set for other existing special operators such as "log," "lim," "sin," and "ln" in the same manner as described above.
[0068] In this manner, with the selected range displayed in inverted display, in step S121 of Fig. 4, the discrimination unit 311 determines whether or not one end of the selected range in the selected state has been double tapped. If one end of the selected range in the selected state has been double tapped (step S121; YES), the identification unit 312 identifies the operand at the end opposite the end that has been double tapped, the smallest formula including both an operand and an operator, the operand immediately outside the parentheses at the opposite end, or the smallest formula enclosed in parentheses. The selection range setting unit 313 selects the operand, the smallest formula, etc. identified by the identification unit 312 as the selection range.
[0069] The display processing unit 315 changes the original selection range to the selection range selected by the selection range setting unit 313, and displays it inverted on the screen of the display device 36 (step S122). If one end of the selected selection range has not been double-tapped (step S121; NO), the selection range is not changed.
[0070] Next, the processing unit 314 of the control unit 310 executes a selection state release determination process (step S123). The selection state release determination process will be described below with reference to the flowchart shown in FIG. 6. The processing unit 314 determines whether or not the subject has performed an operation to release the selection state (step S201). This operation to release the selection state is an operation for releasing the selection state indicated by the selection range. For example, it is a tap operation in which the subject taps a part that is not the selection range selected by the selection range setting unit 313 on the screen of the display device 36, an operation in which the Delete key included in the data input unit 362 shown in FIG. 3 is pressed, etc. When the operation to release the selection state has been performed (step S201; YES), the processing unit 314 releases the selection state indicated by the selection range (step S202).
[0071] If no operation to cancel the selection state has been performed (step S201; NO), the processing unit 314 determines whether or not a preset time has elapsed since the start of the selection state cancellation determination process (step S203). If the preset time has elapsed (step S203; YES), the processing unit 314 ends the selection state cancellation determination process and returns to the flowchart of the selection range copy process shown in Fig. 4. If the preset time has not elapsed (step S203; NO), the processing unit 314 returns to step S201 and repeats steps S201 to S203.
[0072] Processing unit 314 of control unit 310 determines whether the selected state has been released in the selection state release determination process of step S123 (step S124). If the selected state has been released (step S124; YES), processing unit 314 returns to step S101 and repeats the processes from step S101 to step S125.
[0073] If the selected state is not released (step S124; NO), the processing unit 314 of the control unit 310 executes a copy determination process (step S125). The copy determination process will be described below with reference to the flowchart shown in Fig. 7. The processing unit 314 determines whether or not the selection range selected by the selection range setting unit 313 has been dragged and dropped by the subject onto another mathematical formula input unit 363 on the screen of the display device 36 (step S301).
[0074] If the selected range has been dragged and dropped onto another mathematical formula input section 363 (step S301; YES), the processing section 314 executes a selected range paste process (described later) for pasting the selected range onto the other mathematical formula input section 363 (step S302). Then, the processing section 314 cancels the selected range (step S303). The processing section 314 ends the copy determination process, and returns to the flowchart of the selected range copy process shown in FIG. 4 and FIG. 5. The processing section 314 returns to step S101, and repeats the processes from step S101 to step S125.
[0075] If the selected range has not been dragged and dropped onto another mathematical formula input section 363 (step S301; NO), the processing section 314 judges whether or not a preset time has elapsed since the start of the copy determination process (step S304). If the preset time has elapsed (step S304; YES), the processing section 314 cancels the selected range (step S303). Then, the processing section 314 ends the copy determination process and returns to the flowchart of the selected range copy process shown in FIG. 4 and FIG. 5. The processing section 314 returns to step S101 and repeats the processes from step S101 to step S125. If the preset time has not elapsed (step S304; NO), the processing section 314 returns to step S301 and repeats the processes from step S301 to step S305.
[0076] As described above, according to the information processing device 3 of the present embodiment, among the multiple characters included in the formula displayed on the screen of the display device 36, the type of the character tapped by the subject on the screen can be determined, and based on the determined type of character, a related character related to the tapped character among the multiple characters can be specified, and the selected character and the related character among the multiple characters can be set as the selection range of the selected characters. This allows the subject to easily select an appropriate range of characters in the formula.
[0077] Next, the selection range paste process will be described with reference to the flowchart shown in FIG.
[0078] The processor 314 identifies the characters in the selected range set as the copy target (step S401), and determines the cursor position indicating the input position of the characters after pasting the characters in the selected range based on the characters in the selected range (steps S402 to S413). When the mathematical expression in the selected range includes an operator or special operator, the processor 314 extracts the operator or special operator and determines the cursor position based on the operator or special operator.
[0079] First, if the characters in the selected range are only operators (step S402; YES), the processor 314 determines the cursor position at the input position of the operand according to the operator. The display processor 315 sets the cursor position at the input position of the operand and pastes the characters (operators) in the selected range (step S403).
[0080] For example, if the only character in the selected range is the operator "+" as shown in FIG. 16(A), the cursor position is set just before the operator "+" as shown in FIG. 16(B), and the operator "+" in the selected range is pasted.
[0081] Therefore, after pasting the operator "+", the cursor C is already displayed at the input position of the operand of the pasted operator "+", so the character of the operand can be input immediately without changing the position of the cursor C.
[0082] Next, if the characters in the selected range are an operator and an operand (step S404; YES), the processing unit 314 determines the cursor position immediately after the operator and the operand in the selected range. The display processing unit 315 sets the cursor position to the input position immediately after the operator and the operand, and pastes the characters in the selected range (the operator and the operand) (step S405).
[0083] For example, if the characters in the selected range are the string "6+3" including an operator and an operand, as shown in FIG. 17(A), the cursor position is set immediately after the string "6+3" as shown in FIG. 17(B), and the string "6+3" in the selected range is pasted.
[0084] Therefore, after pasting the character string "6+3", the cursor C is already displayed at the input position immediately following the pasted character string "6+3". Therefore, in order to input a character string following the character string "6+3", it is possible to immediately input the operand characters without performing an operation to change the position of the cursor C.
[0085] Next, if the characters in the selected range are only special operators (step S406; YES), the processing unit 314 determines the cursor position at the input position of the operand corresponding to the special operator. The display processing unit 315 sets the cursor position at the input position of the operand and pastes the characters in the selected range (special operators) (step S407).
[0086] For example, if the characters in the selected range are only the special operators "∫" and "dx" as shown in Figure 18(A), set the cursor position at the input position of the operand of the special operator "∫", i.e., between "∫" and "dx", as shown in Figure 18(B), and paste the special operators "∫" and "dx" in the selected range.
[0087] Therefore, after pasting the special operators "∫" and "dx", the cursor C is already displayed at the input position of the operand of the pasted special operators "∫" and "dx", so the operand characters can be input immediately without changing the position of the cursor C.
[0088] In the example shown in Figure 18, the special operators are "∫" and "dx", so the cursor position is set between "∫" and "dx". However, since the input position of the operand differs depending on the other special operators, the cursor position is set at the input position of the operand corresponding to each special operator.
[0089] Next, if the characters in the selected range are a formula including a special operator and an operand (step S412; YES), the processor 314 determines the cursor position immediately after the formula. The display processor 315 sets the cursor position to the input position immediately after the formula, and pastes the characters in the selected range (the formula including a special operator and an operand) (step S413).
[0090] For example, if the selected text is a formula containing the special operators "∫" and "dx" and the operand "2x+1" as shown in Figure 19(A), the cursor position is set immediately after the formula as shown in Figure 19(B), and the formula in the selected range is pasted.
[0091] Therefore, after pasting a formula containing a special operator and an operand, cursor C is already displayed at the input position immediately after the pasted formula, so that the operand characters can be input immediately without changing the position of cursor C in order to input a formula following the pasted formula. When a range is specified that includes not only the special operators "∫" and "dx" but also the operand "2x+1", it is often used as is after pasting the operand "2x+1". Therefore, when a range is specified for a formula, editing operations can be simplified by setting cursor C at the input position immediately after the pasted formula. If the characters in the selected range are a formula including an operator and an operand (step S412; NO), the processor 314 determines the cursor position immediately after the formula in the same manner as when a formula including a special operator is specified. The display processor 315 sets the cursor position to the input position immediately after the formula, and pastes the characters in the selected range (the formula including an operator and an operand) (step S414).
[0092] Next, if the characters in the selected range include a special operator and a parameter (step S408; YES), the processing unit 314 determines the cursor position according to the special operator in accordance with the priority position set by the priority setting unit 316.
[0093] For example, if the selection range includes a special operator and a parameter, the cursor position after pasting can be set to either the position of the operand of the special operator or the position of the parameter. It is assumed that the position of the operand is preferentially set as the default in the priority setting unit 316 (step S409; YES).
[0094] In this case, the processing unit 314 determines the cursor position to be the position of the operand of the special operator. The display processing unit 315 sets the cursor position to the input position of the operand, and pastes the characters (special operator) in the selected range (step S410).
[0095] For example, if the selected range is the special operators "∫" and "dx" and the parameters "1" and "2" associated with the special operator "∫" as shown in Figure 20(A), then as shown in Figure 20(B), the cursor position is set to the input position of the operand of the special operator "∫", i.e., between "∫" and "dx", and the special operators "∫" and "dx" in the selected range and the parameters "1" and "2" associated with the special operator "∫" are pasted.
[0096] On the other hand, if the parameter position is set as a priority in the priority setting unit 316 (step S409; NO), the processing unit 314 determines the cursor position to the parameter position of the special operator. The display processing unit 315 sets the cursor position to the input position of the parameter of the special operator, and pastes the characters (special operator) in the selected range (step S411).
[0097] In this case, as shown in Figure 20(C), set the cursor position to the parameter position of the special operator "∫", that is, to the position of "1" (or "2") in the selected range, and paste the special operators "∫" and "dx" in the selected range.
[0098] In Figure 20(C), the parameters "1" and "2" associated with the special operator "∫" are not displayed, but it is also possible to paste (display) the parameters "1" and "2" together and set cursor C at the position of "1".
[0099] In this way, the position of the cursor C after pasting the special operator and the parameters associated with the special operator can be determined according to the priority setting. Therefore, by the subject setting a priority in advance in the priority setting unit 316, the position of the cursor C after pasting can be set so that editing is made easier for the subject.
[0100] If the characters in the selected range are a formula including a special operator, a parameter, and an operand (step S412; YES), the processor 314 determines the cursor position immediately after the formula in the same manner as when a formula including a special operator is specified. The display processor 315 sets the cursor position to the input position immediately after the formula, and pastes the characters in the selected range (the formula including the operator and the operand) (step S413).
[0101] For example, as shown in Figure 21(A), if the characters in the selected range are the special operator "∫" and "dx", the parameters "1" and "2" associated with the special operator "∫", and the operand "2x+1", then as shown in Figure 21(B), the cursor position is set immediately after the formula, and the special operators "∫" and "dx", the parameters "1" and "2" associated with the special operator "∫", and the operand "2x+1" in the selected range are pasted.
[0102] As described above, according to the information processing device 3 of this embodiment, when a selection range is set in the formula displayed on the screen of the display device 36 and the formula is pasted, the cursor position (character input position indication) can be displayed at a position suitable for subsequent editing of the formula according to the character string to be pasted (operator, special operator, parameter associated with the special operator, etc.). This can simplify the operation for editing after pasting.
[0103] Although the processes shown in the above-mentioned flowcharts are executed by the information processing device 3 (control unit 310), they may be executed by the server 1. In this case, the information processing device 3 receives input from the subject and displays the screen on the display device 36, and displays the processing results according to the above-mentioned processes executed by the server 1 (e.g., copy process of the selected range, paste process of the selected range, etc.) by a web browser operating on the screen of the display device 36.
[0104] In the above embodiment, a so-called copy operation has been described in which the original character string is left after the selected character string is copied. However, it goes without saying that a so-called cut operation in which the selected character string is not left after copying may also be used.
[0105] In the above embodiment, the input device 34 of the information processing device 3 shown in FIG. 1 is placed on the display device 36 to function as a touch panel that serves as both an input unit and a display unit. Without being limited to this, the input device 34 may be a mouse to allow the subject to perform the selection operation performed in the above embodiment. In this case, a tap on the touch panel corresponds to a click on a mouse. Also, a double tap on the touch panel corresponds to a double click on a mouse.
[0106] In the above embodiment, the selection operations by the subject, ie, tap, double tap, long press, and draw, have been described as separate processes. However, the processes of tap, double tap, long press, and draw may be interchanged with each other. For example, the processes of tap and double tap may be interchanged with each other, or the processes of double tap and long press may be interchanged with each other.
[0107] In the above embodiment, the server 1 calculates data based on the data, formula, and calculation instruction for calculation received from the information processing device 3, and causes the information processing device 3 to display the calculation result. However, the present invention is not limited to this, and the information processing device 3 may be capable of calculating data based on the data, formula, and calculation instruction for calculation, and displaying the calculation result, by itself.
[0108] In the above embodiment, the color of the selected character and the color of the background of the selected character are displayed in inverted form (here, for convenience, the selection range of the selected character is surrounded by a two-dot chain line) and displayed on the screen of the display device 36. However, the present invention is not limited to this, and the selected character may be displayed in a color, font, character form such as italics or boldface that is different from that of the non-selected characters. Also, the selection range of the selected character does not have to be displayed inverted form on the screen of the display device 36.
[0109] Furthermore, the methods described in the embodiments, i.e., each method such as the processes shown in the flowcharts, can be distributed as a program that can be executed by a computer, stored in a storage medium such as a memory card (ROM card, RAM card, etc.), a magnetic disk (flexible disk, hard disk, etc.), an optical disk (CD-ROM, DVD, etc.), a semiconductor memory, etc. Then, the computer can read the program stored in the external storage medium, and the operation is controlled by this program, thereby realizing the same processes as the functions described in the embodiments.
[0110] In addition, the program data for realizing each technique can be transmitted over a network (Internet) in the form of program code, and the program data can be imported from a computer connected to this network to realize functions similar to those of the above-mentioned embodiments.
[0111] The present invention is not limited to the embodiments, and can be modified in various ways in the implementation stage without departing from the gist of the invention. Furthermore, the embodiments include inventions at various stages, and various inventions can be extracted by appropriate combinations of the disclosed constituent elements. For example, even if some constituent elements are deleted from all the constituent elements shown in the embodiments, or some constituent elements are combined, if the problem described in the "Problem to be Solved by the Invention" column can be solved and the effect described in the "Effect of the Invention" column can be obtained, the configuration in which the constituent elements are deleted or combined can be extracted as the invention.
[0112] The invention as originally claimed in the present application is set forth below.
[0113] [1] Select a string that contains at least one character, Extracting operators contained in the selected string; determining a character input position after copying the character string based on the operator; The method for editing a mathematical expression includes copying the selected character string and setting a character input position.
[0114] [2] 2. The method for editing a mathematical expression according to claim 1, wherein, when only a special operator is extracted from the character string, the character input position is determined to be an input position of an operand of the special operator.
[0115] [3] 2. The method for editing a mathematical expression according to claim 1, wherein, when a special operator and a parameter of the special operator are extracted from the character string, the character input position is determined to be an input position of an operand of the special operator.
[0116] [4] 2. The mathematical expression editing method according to claim 1, wherein, when a special operator and a parameter of the special operator are extracted from the character string, the character input position is determined as an input position of the parameter of the special operator.
[0117] [5] 2. The mathematical expression editing method according to claim 1, wherein when a special operator and a parameter of the special operator are extracted from the character string, the character input position is determined to be an input position of the operand of the special operator or an input position of the parameter of the special operator, depending on a priority position designation.
[0118] [6] 2. The method for editing a mathematical formula according to claim 1, wherein, when only an operator is extracted from the character string, the character input position is determined to be an input position immediately before the operator.
[0119] [7] a character input position designation means for designating a character input position; a character string selection means for selecting a character string including at least one character; a character string copying means for copying the character string selected by the character string selecting means; an operator extraction means for extracting an operator contained in the selected character string, a character input position indicating means for indicating a character input position after the character string has been copied by the character string copying means, the character input position indicating means determining the character input position based on the operator extracted by the operator extraction means.
[0120] [8] Computer, a character input position designation means for designating a character input position; a character string selection means for selecting a character string including at least one character; a character string copying means for copying the character string selected by the character string selecting means; functioning as an operator extraction means for extracting operators contained in the selected character string; a character input position indicating means for indicating a character input position after a character string is copied by said character string copying means, said character input position indicating means determining said character input position based on the operator extracted by said operator extracting means; [Explanation of symbols]
[0121] 1...server, 2...network, 3...information processing device, 31...processor, 32...memory, 33...storage device, 34...input device, 36...display device, 37...communication device, 38...bus, 10...system, 310...control unit, 311...discrimination unit, 312...identification unit, 313...selection range setting unit, 314...processing unit, 315...display processing unit, 316...priority setting unit, 361...data display unit, 362...data input unit, 363...mathematical formula input unit.
Claims
1. A mathematical expression editing method executed by a mathematical expression editing device, comprising: determining whether an operator or an operand included in a predetermined mathematical expression displayed on a display unit has been tapped by an operator; when it is determined that the operator has been tapped and further when it is determined that the predetermined formula has been tapped, it specifies the smallest formula that includes from the operator to the operand of the operator, which is included in the predetermined formula, as a range to be copied; When it is determined that the operand has been tapped, the smallest formula that includes the operand and the operator included in the predetermined formula is specified as the range to be copied; determining an input position of a new character to be input into the mathematical expression including the range to be copied based on the specified operator; Set the determined input position as the cursor display position A method for editing a mathematical expression.
2. When it is determined that the operator has been tapped and the operator is only a special operator, if it is determined that the special operator has been tapped again, the input position of the new character is determined to be the position of the operand of the special operator.
2. The method for editing mathematical expressions according to claim 1.
3. When it is determined that the operator has been tapped, and further when it is determined that the operator is a special operator and the special operator has been tapped again, an equation including the special operator and an operand in the predetermined equation is extracted, and the input position of the new character is determined to be a position following the equation including the special operator and the operand.
2. The method for editing mathematical expressions according to claim 1.
4. When it is determined that the operator has been tapped, and further when it is determined that the operator is a special operator and that the special operator has been tapped again, a parameter to be used for the special operator in the predetermined formula is extracted, and the input position of the new character is determined to be the position of the parameter.
2. The method for editing mathematical expressions according to claim 1.
5. When it is determined that the operator has been tapped, and further when it is determined that the operator is a special operator and that the special operator has been tapped again, the special operator in the predetermined formula and a parameter used for the special operator are extracted, based on a preset priority, an input position of the new character is determined to be a position of the operand of the special operator or a position of the parameter; When it is determined that the operator has been tapped, and further when it is determined that the operator is a special operator and that the special operator has been tapped again, the special operator, the operand, and a parameter used for the special operator in the predetermined formula are extracted, and the input position of the new character is determined to be a position following the formula including the special operator and the operand.
2. The method for editing mathematical expressions according to claim 1.
6. When it is determined that the operator has been tapped, and further when the operator is a predetermined operator different from the special operator, when it is determined that the operator has been tapped, the input position of the new character is determined to be the position immediately before the operator.
3. The method for editing mathematical expressions according to claim 2.
7. determining whether an operator or an operand included in a predetermined mathematical expression displayed on a display unit has been tapped by an operator; when it is determined that the operator has been tapped and further when it is determined that the predetermined formula has been tapped, it specifies the smallest formula that includes from the operator to the operand of the operator, which is included in the predetermined formula, as a range to be copied; When it is determined that the operand has been tapped, the smallest formula that includes the operand and the operator included in the predetermined formula is specified as the range to be copied; determining an input position of a new character to be input into the mathematical expression including the range to be copied based on the specified operator; Set the determined input position as the cursor display position A mathematical expression editing device comprising a control unit.
8. A computer of the mathematical expression editing device, a determination means for determining whether an operator or an operand included in a predetermined mathematical expression displayed on a display unit has been tapped by an operator; a specifying means for determining, when it is determined that the operator has been tapped and further determining that the predetermined formula has been tapped, specifying, as a range to be copied, a minimum formula including from the operator to the operand of the operator, which is included in the predetermined formula, as a range to be copied, and, when it is determined that the operand has been tapped, specifying, as the range to be copied, a minimum formula including both the operand and the operator, which is included in the predetermined formula; a determining means for determining an input position of a new character to be input into the mathematical expression including the range to be copied based on the specified operator; a program for causing the program to function as a setting means for setting the input position determined by the determination means to a display position of a cursor;
Citation Information
Patent Citations
JP175400A
Input support method and editing support method for program
JP1994274333A
Mathematical expression display control device and program
JP2015060459A
Mathematical formula display control device, mathematical formula display control method, and mathematical formula display control program
JP2015184694A
Positioning Pads for Moving a Position of Interest on a Display
US20140282158A1