Mathematical formula editing program
The mathematical formula editing program efficiently selects and copies formula ranges on touch panels by determining and identifying the smallest formula containing operators or operands, enhancing editing efficiency through precise range selection and cursor positioning.
Patent Information
- Application Number
- JP2025170236
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-10-08
- Publication Date
- 2025-12-11
AI Technical Summary
Existing mathematical input software on touch panels lacks efficiency in modifying the range selected for copying formulas.
A mathematical formula editing program that determines and identifies the smallest mathematical formula including an operator or operand as the range to be copied, using a determination and identification mechanism based on user input on a touch panel.
Enables efficient selection and copying of formula ranges on touch panels, simplifying the editing process by displaying the selected range in inverse video and setting the cursor position appropriately for subsequent editing.
Smart Images

Figure 2025182130000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention ,number Regarding the formula editing program. [Background technology]
[0002] In software executed on personal computers, there is a function called copy-paste that allows you to select and copy characters or strings of characters and paste them in the desired location. 。
[0003] In recent years, as the use of electronic devices such as tablets and smartphones equipped with touch panels has expanded, mathematical input software that can be used with touch panels has been proposed. It is known for its ability to copy and paste characters and strings. . [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] but, The above prior art does not allow for efficient modification of the range selected for copying.
[0006] The present invention has been made in consideration of the above-mentioned problems, and provides a method for efficiently changing a range selected for copying a formula. can be Number The purpose is to provide an expression editing program. [Means for solving the problem]
[0007] In order to solve the above problems, the present invention provides The mathematical formula editing program causes the computer of the mathematical formula editing device to function as a determination means for determining whether either an operator or an operand included in a predetermined mathematical formula displayed on a display unit has been specified by an operator's operation, a first identification means for determining that the operator has been specified and, if it is determined that the predetermined mathematical formula has been specified, identifying the smallest mathematical formula included in the predetermined mathematical formula that includes from the operator to the operand of the operator as the range to be copied, and a second identification means for determining, if it is determined that the operand has been specified, identifying the smallest mathematical formula included in the predetermined mathematical formula that includes both the operand and the operator as the range to be copied. [Effects of the Invention]
[0008] According to the present invention, Efficiently change the selected range to copy formulas can be Number An expression editing program can be provided. [Brief explanation 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 according to the present embodiment. [Figure 2] FIG. 2 is a diagram showing an information processing block of a control unit according to the embodiment. [Figure 3] FIG. 4 is a diagram showing an example of an input screen for inputting a mathematical expression according to the present embodiment. [Figure 4] 10 is a flowchart showing a process of copying a selected range in the mathematical expression editing method of the present embodiment. [Figure 5] 10 is a flowchart showing a process of copying a selected range in the mathematical expression editing method of the present embodiment. [Figure 6] 10 is a flowchart showing a selection cancellation determination process in a copy process in this embodiment. [Figure 7] 10 is a flowchart showing a copy determination process in the copy process in this embodiment. [Figure 8] 10 is a flowchart showing a selection range paste process in the copy determination process in this 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 present embodiment. [Figure 17] 6A to 6C are diagrams for explaining a selection range paste process in the present embodiment. [Figure 18] 6A to 6C are diagrams for explaining a selection range paste process in the present embodiment. [Figure 19] 6A to 6C are diagrams for explaining a selection range paste process in the present embodiment. [Figure 20] 6A to 6C are diagrams for explaining a selection range paste process in the present embodiment. [Figure 21] 6A to 6C are diagrams for explaining a selection range paste process in the present embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0011] In an information processing device 3 according to an embodiment of the present invention, a selection range is determined for a mathematical formula displayed on a display screen according to the characters tapped by a subject and the type of tap. FIG. 1 is a diagram showing an example of the configuration of a system 100 including an 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 formulas, and calculation instructions for calculation from the information processing device 3, calculates the data based on the received mathematical formulas 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 one another via a bus 38.
[0014] The processor 31 reads 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 storage elements and storage media such as RAM (Random Access Memory) and volatile or non-volatile semiconductor memory such as 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 an HDD (Hard disk drive) or an SSD (Solid State Drive).
[0016] The input device 34 is a device that accepts input from the subject. The input device 34 can be configured using, for example, a device that allows touch input, such as a tablet or a digitizer. The display device 36 displays various information such as data, mathematical formulas, 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, thereby functioning 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 send and receive various data. The communication device 37 can be configured by various devices equipped with a communication method that can connect to the network 2, such as wireless LAN, Wi-fi (registered trademark), etc.
[0018] The processor 31 executes a program stored in the storage device 33, thereby realizing a control unit 310 including the information processing blocks 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 can perform various processes on the selected range.
[0019] The control unit 310 includes, as information processing blocks, a discrimination unit 311, an identification 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 identification unit 312 identifies, from among the characters included in the mathematical formula, a related character that is related to the character selected by the subject, based on the type of character discriminated by the discrimination unit 311. Furthermore, the identification unit 312 identifies, from among the characters included in the mathematical formula, a character to be selected, in accordance with 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 identified by the identification unit 312, or the characters identified by the identification unit 312, as a selection range. The processing unit 314 performs various processes on the selection range set by the selection range setting unit 313 in accordance with instructions input by the subject from the input device 34. The processes by the processing unit 314 include copying (selecting character strings) the selection range set by the selection range setting unit 313 and pasting (copying character strings) it at a position indicated by input from the input device 34. The display processing unit 315 performs a process of switching the display content to be displayed on the display device 36 in accordance with instructions 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 a mathematical formula is pasted by the processing unit 314, the display processing unit 315 displays a cursor position (character input position indication) at a position suitable for subsequent editing of the mathematical 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 running 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 formula includes a data display section 361, a data input section 362, and a mathematical formula 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] The data input section 362 is an input section in which various mathematical expressions and calculation instructions such as numbers, operators, arrow keys, etc. can be input. The mathematical expression input section 363 is an input section in which mathematical expressions can be input. Not just one mathematical expression input section 363, but multiple mathematical expression input sections 363 can be displayed simultaneously.
[0024] The subject can set, change, add, etc., parameter values included in the mathematical formula input in mathematical formula input section 363. Furthermore, the subject can arbitrarily select a part or all of the mathematical formula input in mathematical formula input section 363 and copy it to another mathematical formula input section 363. In this case, when the subject taps a character included in the mathematical formula input in mathematical formula input section 363 to perform a selection operation on the screen of display device 36, discrimination section 311 shown in FIG. 2 discriminates the type of the tapped character. Subsequently, identification section 312 shown in FIG. 2 identifies a related character related to the tapped character based on the discriminated type of character.
[0025] The selection range setting unit 313 shown in Fig. 2 selects an appropriate range in the mathematical 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 refers to a single tap unless a double tap is explicitly stated.
[0026] Next, the operation of the information processing device 3 of this embodiment as a mathematical formula editing device will be described.
[0027] Figures 4 and 5 are flowcharts showing the process of copying a selected range in the formula editing method of this embodiment. Figure 6 is a flowchart showing the process of determining whether to deselect the selected range in the copy process of this embodiment. Figure 7 is a flowchart showing the process of determining whether to copy the selected range in the copy process of this embodiment. Figure 8 is a flowchart showing the process of pasting a selected range in the copy determination process of 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 entered in the formula input section 363 shown in Figure 3 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. The information processing device 3 executes the selection range copy processing program when it displays the mathematical formula input section 363 on the input screen for inputting mathematical formulas shown in Fig. 3. Specifically, the processor 31 of the information processing device 3 shown in Fig. 1 reads 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 a mathematical formula input into the mathematical formula input unit 363 shown in Fig. 3, the determination unit 311 of the control unit 310 determines whether or not the subject tapped an operator included in the mathematical formula (step S101). If the subject tapped an 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 has not been 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 inverse video on the screen of the display device 36 (step S104).
[0032] For example, when the subject taps an operator included in the mathematical formula shown in FIG. 9(A) input to the mathematical formula input unit 363 on the screen of the display device 36 using the input device 34, the tapped operator is selected by the selection range setting unit 313 accordingly. Hereinafter, the black arrow indicates the tap 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 unit 313 is displayed with the color of the selected characters and the color of the background of the selected characters reversed, 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 determination unit 311 determines 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 inverse video on the screen of the display device 36, as shown in FIG. 9(B) (step S106).
[0035] That is, for a formula containing an operator, by tapping on the operator the first time, it is possible to specify a range for only the operator, and by subsequently tapping on the formula a second time, it is possible to specify a range that includes up to the operand of the operator tapped the first time. Next, determination 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 formula input to mathematical formula 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 inverse video on the screen of the display device 36 (step S115).
[0039] For example, when the subject taps, with the input device 34, on the screen of the display device 36, the operand "3" included in the mathematical formula shown in Fig. 10(A) that has been input to the mathematical formula input unit 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 unit 313. In this case, the mathematical formula "6+3" is determined and displayed as shown in Fig. 10(B).
[0040] Next, the determination unit 311 determines whether an operand included in the selection range is being pressed and held on the screen of the display device 36 by the subject (step S116). If the operand is being 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 reverse video on the screen of the display device 36 (step S117). If the operand is not being pressed and held (step S116; NO), the selection range is not expanded. Next, the determination unit 311 executes the process shown in step S121 of FIG. 4.
[0041] For example, as shown in Figure 11(A), if you press and hold the selected "6+3," the selection range will be expanded to the formula containing the operator "+" that targets "6+3" and the operand "5" other than "6+3" that this operator targets, i.e., "(6+3)+5." As a result, the selected "(6+3)+5" will be displayed inverted, as shown in Figure 11(B).
[0042] Next, the determination unit 311 determines 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 inverse video 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 determination unit 311 executes the process shown in step S121 of FIG. 4.
[0043] Furthermore, in step S114, if the operand is not tapped (step S114; NO), the determination unit 311 determines whether or not the operator, the operand, or both in 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 parentheses included in the formula have been double-tapped (step S119; YES), the identification unit 312 identifies the smallest formula in 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 mathematical formula identified by the identification unit 312 as the selection range. The display processing unit 315 displays the selected selection range in inverse video on the screen of the display device 36 (step S120). Next, the determination unit 311 executes the process shown in step S121 in Fig. 4. Furthermore, if the operator, the operand, or both in parentheses included in the mathematical 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 mathematical expression including the operator and operand in the direction of the draw operation, or the smallest mathematical expression contained in parentheses in the direction of the draw operation. The selection range setting unit 313 of the control unit 310 selects the smallest mathematical expression 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 that operator is selected.
[0047] Next, a case where a special operator in a mathematical expression input to 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] If the target person taps a special operator 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 the selection range. The display processing unit 315 displays the selected selection range in inverse video 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 if the parameter is accompanied, identifies the range of the special operator and parameter (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 in inverse video on the screen of the display device 36 (step S111).
[0052] If the special operator is not accompanied by 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) in inverse video on the screen of the display device 36 (step S113).
[0053] If the special operator and parameter selected as the selection range are selected as the selection range, the discrimination unit 311 then determines whether 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] If 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 mode 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 Figure 12(A) entered 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 "2x+1" of "dx" 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 the special operator once to specify a range for just the special operator, and then tap 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 the special operator "∫" (or "dx"), which is accompanied by a parameter included in the formula shown in Figure 13(A) and which has been entered 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" accompanying 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" and 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 includes a special operator with a parameter, you can tap the special operator once to specify a range for just the special operator, then tap the formula a second time to specify a range that includes the special operator and the parameter, and then tap the formula a third time to specify a range that includes the operand of the special operator.
[0063] FIG. 14 shows an example in which a mathematical expression including a special operator "Σ" accompanied by a parameter different from the special operator "∫" is input to the mathematical expression input unit 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 in reverse, as shown in Figure 14(A). Furthermore, when the formula is tapped, the range including the parameter of the special operator "Σ" is specified, and the range including the special operator "Σ" and the parameter is displayed in reverse, 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 parameter, and the operand "2x" is displayed in reverse, 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 that includes the operator or operand is specified first.
[0066] For example, as shown in Figure 15(A), if a formula including the special operator "∫" is tapped on any of the characters "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 specification is first expanded to "2x+1", and then, as shown in Figure 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 in the same manner as described above for other existing special operators such as "log," "lim," "sin," and "ln."
[0068] In this manner, with the selected range displayed in inverted mode, in step S121 of Fig. 4, the determination unit 311 determines whether one end of the selected range has been double-tapped. If one end of the selected range has been double-tapped (step S121; YES), the identification unit 312 identifies the operand at the end opposite the double-tapped end, the smallest mathematical expression including both an operand and an operator, the operand immediately outside the parentheses at the opposite end, or the smallest mathematical expression enclosed in parentheses. The selection range setting unit 313 selects the operand, smallest mathematical expression, 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 in inverted on the screen of the display device 36 (step S122). If one end of the selected selection range is not 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 selection state release operation 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 on a part of the screen of the display device 36 that is not in the selection range selected by the selection range setting unit 313, or an operation in which the Delete key included in the data input unit 362 shown in FIG. 3 is pressed. If the selection state release operation 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 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 has not been released (step S124; NO), processing unit 314 of control unit 310 executes copy determination processing (step S125). The copy determination processing will be described below with reference to the flowchart shown in Fig. 7. Processing unit 314 determines whether the selection range selected by selection range setting unit 313 has been dragged and dropped by the subject onto another mathematical formula input unit 363 on the screen of 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 unit 314 executes a selected range paste process (described later) to paste the selected range into the other mathematical formula input section 363 (step S302). Subsequently, the processing unit 314 cancels the selected range (step S303). The processing unit 314 ends the copy determination process and returns to the flowchart of the selected range copy process shown in FIGS. 4 and 5. The processing unit 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 determines whether 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). Subsequently, the processing section 314 ends the copy determination process and returns to the flowchart of the selected range copy process shown in FIGS. 4 and 5. The processing section 314 returns to step S101 and repeats the processes from step S101 to step S125. On the other hand, 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, the information processing device 3 according to the present embodiment can determine the type of character tapped by the subject on the screen among multiple characters included in a mathematical formula displayed on the screen of the display device 36, identify related characters among the multiple characters that are related to the tapped character based on the determined type of character, and set the selected character and related characters among the multiple characters as the selection range of the selected characters. This allows the subject to easily select an appropriate range of characters in the mathematical formula.
[0077] Next, the selected range paste process will be described with reference to the flowchart shown in FIG.
[0078] The processing unit 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). If the mathematical expression in the selected range includes an operator or special operator, the processing unit 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 operators only (step S402; YES), the processing unit 314 determines the cursor position at the input position of the operand corresponding to the operator. The display processing unit 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 Figure 16(A), the cursor position is set to the position just before the operator "+" as shown in Figure 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 you can immediately input the character of the operand without having to change 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 at 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 Figure 17(A), the cursor position is set immediately after the string "6+3" and the string "6+3" in the selected range is pasted, as shown in Figure 17(B).
[0084] Therefore, after pasting the character string "6+3", the cursor C is already displayed at the input position immediately after the pasted character string "6+3", so that 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 character of the operand can be input immediately without performing any operation to change 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 operands (step S412; YES), the processing unit 314 determines the cursor position immediately after the formula. The display processing unit 315 sets the cursor position at the input position immediately after the formula and pastes the characters in the selected range (the formula including the special operator and operands) (step S413).
[0090] For example, if the characters in the selected range are 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 you can immediately input the operand characters without having to change the position of cursor C 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, setting cursor C at the input position immediately after the pasted formula can simplify editing operations. If the characters in the selected range are a mathematical formula including an operator and an operand (step S412; NO), the processing unit 314 determines the cursor position immediately after the mathematical formula in the same manner as when a mathematical formula including a special operator is specified. The display processing unit 315 sets the cursor position at the input position immediately after the mathematical formula and pastes the characters in the selected range (the mathematical formula including the 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 setting in the priority setting unit 316.
[0093] For example, if the selected 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. The priority setting unit 316 is set to the position of the operand as the default (step S409; YES).
[0094] In this case, the processing unit 314 determines the cursor position at the position of the operand of the special operator. The display processing unit 315 sets the cursor position at the input position of the operand and pastes the characters (special operator) in the selected range (step S410).
[0095] For example, as shown in Figure 20(A), if the selected range is the special operators "∫" and "dx" and the parameters "1" and "2" associated with the special operator "∫", then as shown in Figure 20(B), set the cursor position at the input position of the operand of the special operator "∫", i.e., between "∫" and "dx", and paste the special operators "∫" and "dx" in the selected range and the parameters "1" and "2" associated with the special operator "∫".
[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 at the parameter position of the special operator. The display processing unit 315 sets the cursor position at 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 "1" (or "2") in the selected range, and paste the special operator "∫" 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 you can 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 having the subject set 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 easy 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 processing unit 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 processing unit 315 sets the cursor position at 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 operators "∫" 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 a mathematical formula displayed on the screen of the display device 36 and the selected range is pasted, the cursor position (character input position indication) can be displayed at a position suitable for subsequent editing of the mathematical formula according to the character string to be pasted (operators, special operators, parameters associated with the special operators, etc.). This simplifies the operation for editing after pasting.
[0103] Although the processes shown in the above-described flowcharts are executed by the information processing device 3 (controller 310), they may also 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 corresponding to the above-described processes executed by the server 1 (e.g., copy process of selected range, paste process of selected range, etc.) by a web browser operating on the screen of the display device 36.
[0104] In the above embodiment, the so-called copy operation has been described, in which the original character string is left after the selected character string is copied, but it goes without saying that the so-called cut operation may also be used, in which the selected character string is not left after copying.
[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, thereby functioning as a touch panel that serves as both an input unit and a display unit. However, the input device 34 may be a mouse, allowing 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. 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, namely, 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. For example, the processes of tap and double tap may be interchanged, or the processes of double tap and long press may be interchanged.
[0107] Furthermore, 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 configured to calculate data based on the data, formula, and calculation instruction for calculation and display 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 inverse contrast to each other (here, for convenience, the selection range of the selected character is surrounded by a two-dot chain line), and are 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 unselected characters. Furthermore, the selection range of the selected character does not have to be displayed in inverse contrast on the screen of the display device 36.
[0109] Furthermore, the methods described in the embodiments, i.e., the methods such as the processes shown in the flowcharts, can be stored as a program that can be executed by a computer and distributed in a storage medium such as a memory card (a ROM card, a RAM card, etc.), a magnetic disk (a flexible disk, a hard disk, etc.), an optical disk (a CD-ROM, a DVD, etc.), a semiconductor memory, etc. Then, the computer reads 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 various modifications can be made 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 appropriately combining the disclosed multiple 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 stated in the "Problem to be Solved by the Invention" section can be solved and the effect stated in the "Effects of the Invention" section can be obtained, the configuration in which these constituent elements are deleted or combined can be extracted as an invention. [Explanation of symbols]
[0112] 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. 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; A mathematical formula editing method for copying the selected character string and setting a character input position.
2. 2. The mathematical formula editing method 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.
3. 2. The mathematical formula 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 an operand of the special operator.
4. 2. The mathematical formula 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 parameter of the special operator.
5. 2. The mathematical formula 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 the input position of the operand of the special operator or the input position of the parameter of the special operator, depending on a priority position designation.
6. 2. The mathematical formula editing method 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.
7. 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 included in the selected character string, and determining a character input position indicated by said character input position indicating means after the character string has been copied by said character string copying means, based on the operator extracted by said operator extracting means.
8. Computer, 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 the character string has been copied by the character string copying means, based on the operator extracted by the operator extracting means;
Citation Information
Patent Citations
Object-field-based mathematics system
US20120107779A1
JP175400A
Image encoder, image coding method and program
JP2015002368A