Archive

Archive for June, 2009

Soạn thảo tiếng Nga với mã UTF-8 cho MikTeX

June 29, 2009 Leave a comment

Trong phần trước có giới thiệu về gói soạn thảo tiếng Nga với mã KOI8-R. Tuy nhiên UTF-8 vẫn là mã phổ biến hơn, tiện lợi trong quá trình soạn thảo một tài liệu khoa học tiếng Nga.

Bạn cần download gói Unicode ở đây, và gói Cyrillic ở đây. Sau đó giải nén, và copy lần lượt vào các thư mục

C:\Program Files\MiKTeX 2.7\tex\latex\unicode

C:\Program Files\MiKTeX 2.7\tex\latex\cyrillic

Sau đó vào Start Menu> MikTeX 2.7> Settings> General, nhấp vào nút Refresh FNDB Update Formats.

Để sử dụng gói này, bạn khai báo như sau:

\documentclass[a4paper,12pt]{article}

\usepackage[T2A]{fontenc}

\usepackage[utf8x]{inputenc}

\usepackage[russian]{babel}

\begin{document}

\textsc{ Я вас любил…}\\

Я вас любил: любовь еще, быть может,\\

В душе моей угасла не совсем;\\

Но пусть она вас больше не тревожит;\\

Я не хочу печалить вас ничем.\\

Я вас любил безмолвно, безнадежно,\\

То робостью, то ревностью томим;\\

Я вас любил так искренно, так нежно,\\

Как дай вам бог любимой быть другим.\\

1829\\

\end{document}

Có thể sử dụng file mẫu, download ở đây

Advertisements
Categories: TeX Tags: , , ,

Tool Bar

June 27, 2009 Leave a comment

Tool Bar – Thanh công cụ là đối tượng thường thấy trong các cửa sổ chương trình ứng dụng, nó là một dãy các nút công cụ được xếp trên một thanh thường nằm ở vị trí ở lề dọc hoặc lề ngang. Nó cũng đồng chức năng như button hay menu tuy nhiên thân thiện và dễ sử dụng hơn. Chúng ta sẽ làm quen với đối tượng Toolbar trong một ứng dụng Maplet.

Cú pháp chung

> with(Maplets[Elements]):

> MyMaplet := Maplet(Window(‘title’ = “My Maplet Application”, ‘toolbar’ = ‘TB’,

 [

# Phần thân của cửa sổ

]),

ToolBar[TB](

ToolBarButton(caption = “Tool 1”, image = Image(“image1.png”), onclick = <Command>),

ToolBarSeparator(),

ToolBarButton(caption = “Tool 2”, image = Image(“image2.png”), onclick =<Command>),

 ToolBarSeparator(),

….

ToolBarButton(caption = “Tool n”, image = Image(“imagen.png”), onclick = <Command>)

)):

> Maplets[Display](MyMaplet);

Trong đó chú ý các file hình ảnh phải được lưu cùng thư mục với file maple worksheet, và nếu bạn export thành file maplet thì cũng cần các file này đi kèm.

Thí dụ: Tạo một ứng dụng tính tích phân bất định với ToolBar có các chức năng:

– Run: Tính tích phân.

– About: Thông tin về ứng dụng

– Exit: Thoát khỏi chương trình.

Ta thực hiện như sau:

> with(Maplets[Elements]):

> myMaplet := Maplet(Window(‘title’ = “Integration calculator”, ‘toolbar’ = ‘TB’,

[[“Enter a function with variable x”],

[TextField[‘TF’](40)],

[“Result of integration”],

[MathMLViewer[‘ML’]()]]),

ToolBar[TB](ToolBarButton(caption = “Do It”, image = Image(“run.png”), onclick = Evaluate(‘ML’ = ‘Int(TF, x) = int(TF, x) + C’)),

ToolBarSeparator(),

ToolBarButton(caption = “About”, image = Image(“about.png”), onclick = RunDialog(‘DG’)),

ToolBarSeparator(),

ToolBarButton(caption = “Exit”, image = Image(“exit.png”), onclick = Shutdown())

),

MessageDialog[DG](“Integration Calculator. Copyringt (C) 2009 Mathematical Diary”)):

> Maplets[Display](myMaplet);

Các file nguồn, download ở đây (corrected)

Ta có kết quả là cửa sổ như sau

ToolBar

 Một số file hình ảnh mẫu có thể hữu ích bạn có thể tham khảo thêm ở đây

Categories: Maplet Programming Tags: , ,

Menu Bar

June 25, 2009 Leave a comment

MenuBar là một đối tượng quen thuộc nằm ở lề trên cùng cửa sổ, nó phân loại các nhóm chức năng mà ứng dụng có thể thực hiện thành các đối tượng Menu. Điều này sẽ giúp cho cửa sổ chúng ta trông gọn gàng hơn, tránh sử dụng quá nhiều nút.

Cú pháp của MenuBar như sau:

> with(Maplets[Elements]):

> myMaplet:=Maplet( 

 Window(title=”My Maplet Application”,  menubar=MB, # MB là tham chiếu bạn đặt cho MenuBar,       

[                                           
              # phần thân của cửa sổ

]   ) ,         

 MenuBar[MB](                

     Menu( “Menu 1”,                          

          MenuItem( “Menu Item 1”, <Command 1>),      

          MenuItem( “Menu Item 2”, <Command 2>),          

          …..                

          MenuItem( “MenuItem n”, <Command n>)        ), 

          …..                           

     Menu( “Menu m”, 

          MenuItem( “MenuItem 1”, <Command 1>),   

          MenuItem( “MenuItem 2”, <Command 2>),     

          …..                    

          MenuItem( “MenuItem n”, <Command n>)       ),        

                   )  ):        

> Maplets[Display](myMaplet);


Thí dụ. Tạo ứng dụng tính đạo hàm của hàm số f(x) với một menu gồm 2 item là

– Evaluate: Tính đạo hàm

– Exit: Thoát khỏi chương trình

> with(Maplets[Elements]):

> myMaplet := Maplet(Window(title = “My Maplet Application”, menubar = MB,

 [[“Function   f(x)  = “, TextField[TF1](30)],

[“Derivative f'(x) = “, TextField[TF2](30)]]),

MenuBar[MB](

Menu(“My Menu”,

  MenuItem(“Evaluate”, Evaluate(‘TF2’ = ‘diff(TF1, x)’)),

  MenuItem(“Exit”, Shutdown()))

)):

> Maplets[Display](myMaplet);

Kết quả ta có cửa số ứng dụng như sau:

Menubar

Chúng ta sẽ gặp lại MenuBar trong thí dụ về các ứng dụng lớn và phức tạp hơn.

Categories: Maplet Programming

Bất đẳng thức liên quan đến giá trị kì dị của ma trận

June 4, 2009 Leave a comment

Đối với hệ vector ta ký hiệu

Mệnh đề 1: Nếu là các giá trị riêng của  thế thì với hệ vector thì

Đặt \{e_1,e_2,...,e_n\} là cơ sở trực chuẩn cũng đồng thời là các vector riêng của toán tử A.

Ta có (Ax_i,x_j)=\sum_{k=1}^n\alpha_k(x_i,e_k)\overline{(x_j,e_k)}=\sum_{k=1}^n\alpha_k(x_i,e_k)(e_k,x_j)

Khai triển theo công thức Binet-Cauchy ta nhận được

\Gamma(Ax_i,x_j)=\sum_{1\le k_1<...<k_m\le n}\Gamma(x_i,\alpha_k e_k)\Gamma(e_k,x_j)

Áp dụng bất đẳng thức Cauchy-Schwarz ta có

(\Gamma(Ax_i,x_j))^2\le (\sum_{1\le k_1<...<k_m\le n}(\Gamma(x_i,\alpha_k e_k))^2)(\sum_{1\le k_1<...<k_m\le n}(\Gamma(e_k,x_j))^2)

\le \alpha_1^2\alpha_2^2...\alpha_m^2 (\Gamma(x_i,x_j))^2

Mệnh đề 2: Giả sử là các giá trị riêng của (singular values). Thế thì với bất kì hệ vector () thì

Điều này hiển nhiên là hệ quả của mệnh đề 1.

Mệnh đề 3: Cho AB – toán tử tuyến tính trong \mathbb{R}, , là giá trị riêng của toán tử tương ứng, được đánh số thứ tự giảm dần theo giá trị. Chứng minh với ta có

Giả sử là cơ sở trực chuẩn hợp từ cơ sở trực chuẩn cũng đồng thời là các vector riêng của

(Áp dụng MĐ2 hai lần)

Window Body Elements

June 3, 2009 Leave a comment

Body Elements là các đối tượng ở phần thân cửa sổ ứng dụng maplet. Dưới đây sẽ giới thiệu các elements loại này đi kèm với các thí dụ sơ bộ.

I – Button

Các thuộc tính của button bao gồm:

background = color,  màu nền của nút, sử dụng chuẩn RGB color

caption = string,  tên của hiển thị nút 

enabled = true or false , nút có thể click được hay không, mặc định là true

font = Font, font của văn bản trên nút

foreground = colormàu của văn bản trên nút

halign = left, center, hoặc right căn lề của văn bản (hoặc ảnh) trên nút theo phương ngang

height = posint, chiều cao của nút tính bằng đơn vị là pixel, giá trị mặc định là chiều cao phù hợp với khổ của văn bản (hoặc ảnh) trên nút.

image = Image là đối tượng hoặc tham chiếu đến một đối tượng hình ảnh (name hoặc string)

onclick = Action hoặc một đối tượng lệnh, hoặc tham chiếu đến một đối tượng Action (name hoặc string), nó sẽ cho biết điều gì sẽ xẩy ra khi nút đó được click.

reference = name hoặc string,  tham chiếu cho đối tượng Button.

tooltip = string hoặc symbol, chỉ dẫn mô tả hoặc trợ giúp.

visible = true hoặc false, nút có được thấy bởi người sử dụng hay là không, mặc định là true. 

valign = top, center, hoặc bottom, căn chỉnh văn bản (hoặc ảnh) trên nút theo phương dọc

 

Thí dụ:

> restart;

> with(Maplets[Elements]):

>  Maplet1:=Maplet( [

 [“Here is my maplet!”],           # print ra dòng “Here is my maplet!”

 [ Button(“OK”, Shutdown())] # caption của nút là OK, sau khi nhấp vào nút này (onclick) thì sẽ 

                                                           # thực  hiện lệnh Shutdow() tắt cửa sổ ứng dụng maplet

] ):

>  Maplets[Display](Maplet1);

Kết quả ta được cửa sổ như sau

button

II – Label

Chúng ta biết rằng để hiển thị một dòng text, chẳng hạn “Here is my Text” lên trên cửa sổ ứng dụng thì một cách đơn giản ta viết [“Here is my Text”], một cách khác là chúng ta có thể dùng Label

Một Label có thể gồm text hoặc image, các thuộc tính của nó bao gồm background, caption, enabled, font, foreground, halign, height, image, reference, tooltip, valign, visible, width

Thí dụ:    

> restart;

> with(Maplets[Elements]):

>  Maplet2:=Maplet( [

    [“Standard text”],

    [Label( “Italicized text”, ‘font’ = Font(helvetica, italic, 25) )],

    [Button(“OK”, Shutdown())]

     ] ):

>  Maplets[Display](Maplet2);

Kết quả sẽ là:

label

 

III – TextBox

TextBox là một đối tượng trên cửa số ứng dụng hiện thị một hộp văn bản, có vai trò là output hoặc input.

Các thuộc tính của TextBox bao gồm background, cursor, editable, enabled, focus, font, foreground, height, onchange, popupmenu, reference, tooltip, value, visible, width, or wrapped

cursor = nonnegint , vị trí của con trỏ trong hộp văn bản

editable = true hoặc false, văn bản trong hộp văn bản có thẻ được sửa bởi người sử dụng hay không, mặc định là true.

onchange  = Action hoặc một đối tượng lệnh, hoặc tham chiếu đến một đối tượng Action, là điều sẽ đợc thực thi khi người sử dụng thay đổi value của TexBox

focus = true

popupmenu = PopupMenu hoặc tham chiếu đến một đối tượng PopupMenu (name hoặc string). Các phần tử mặc định trên pop-up menu (Khi nhấp chuột phải trên TextBox) là Cut, Copy, Paste, Delete, và Select All khi thuộc tính editable là true; chỉ có Copy và Select All nếu editable là false.   

wrapped = true hoặc false, văn bản cóđuược bẻ dòng hay không, mặc định là true  

Thí dụ:

>with(Maplets[Elements]):

> Maplet3 := Maplet([

 [“Enter some text:  “, TextBox[‘IB1’](3 .. 30)],

 [Button(“OK”, Shutdown([‘IB1’])), Button(“Cancel”, Shutdown())]

]):

>result := Maplets[Display](Maplet3);

Kết quả là

TextBox

 

IV- MathMLViewer

MathMLViewer là một đối tượng trên cửa sổ ứng dụng hiển thị một hộp biểu diễn công thức Toán học.

Các thuộc tính của MathMLViewer bao gồm background, breakwidth, fontsize, foreground, height, reference, value, visible, width, wrapped

Chú ý là value = algebraic, giá trị này được thông qua bằng cách sử dụng MathML[Export] .

Thí dụ:

> with(Maplets[Elements]):

> Maplet4 := Maplet([   

  [“Here is my formula:”],

  [MathMLViewer(‘value’ = MathML[Export](int(sin(x^2), x)))],

  [Button(“OK”, Shutdown())]

   ]):

> Maplets[Display](Maplet4);

Kết quả sẽ là

MathMLViewer

 

Categories: Maplet Programming

Tổng quan về Maplets Package

June 2, 2009 4 comments

Maplets pakage là tập hợp bao gồm các lệnh (commands) được tổ hợp để tạo và biểu diễn các ứng dụng Maplet (giao diện point-and-click).

Maplets pakage được phân thành các gói con (subpakages): Elements, Tools, Utilities, Examples

Gói Elements

 Tập hợp bao gồm các lệnh dùng để tạo các đối tượng (Elements) trong một ứng dụng Maplet, thí dụ: windows, buttons, checkboxs …

Gói này gồm có:

Action  AlertDialog  Argument  BorderLayout 
BoxCell  BoxColumn  BoxLayout  BoxRow 
Button  ButtonGroup  CheckBox  CheckBoxMenuItem 
CloseWindow  ColorDialog  ComboBox  ConfirmDialog 
DropDownBox Evaluate FileDialog Font
GridCell GridCell2 GridLayout GridRow
HorizontalGlue Image InputDialog Item
Label ListBox Maplet MathMLEditor
MathMLViewer Menu MenuBar MenuItem
MenuSeparator MessageDialog PasswordField Plotter
PopupMenu QuestionDialog RadioButton RadioButtonMenuItem
Return ReturnItem RunDialog RunWindow
SetOption Shutdown Slider Table
TableHeader TableItem TableRow TextBox
TextField ToggleButton ToolBar ToolBarButton
ToolBarSeparator VerticalGlue Window  

 

Được chia thành các nhóm: 

– Window Body: các đối tượng trên thân cửa sổ chương trình

– Menu: các đối tượng của thanh Menu

– ToolBar: các đối tượng trên thanh công cụ

– Dialog: các đối tượng hộp thoại

– Command: các đối tượng thực thi

– Layout : các đối tượng layout

và các đối tượng còn lại

> with(Maplets[Elements]):   # khai báo subpackage

> myMaplet := Maplet(

Window(<Option>,            # Các tùy chọn cho cửa sổ chính

[  # Phần thân của cửa sổ

[<Element>, <Element>, …. , <Element>], # Các element trên một hàng

[<Element>, <Element>, …. , <Element>],

[<Element>, <Element>, …. , <Element>],

]),

<Reference>  # Định nghĩa các tham chiếu được sử dụng

):  

>Maplets[Display](myMaplet); # Chạy chương trình có tên là MyMaplet có nội dung như trên

Gói Tools

Gói này gồm có

AddAttribute AddContent Get ListBoxSplit
Print Set SetTimeout StartEngine
StopEngine      

Gói Utilities

Gói này gồm có

ErrorDialog GetFile HelpBrowser

Gói Examples

Bao gồm những mẫu maplet viết sẵn, có thể dùng để nhúng vào các  maple worksheet

Cú pháp chung

>with(Maplets[Examples]):

>Command();

Không cần dùng lệnh Display để chạy các maplet mẫu từ gói này

 Gói này gồm có

Alert

Confirm

GetColor

GetEquation

GetExpression

GetFile

GetInput

Integration

KernelOpts

Message

Question

Selection

ShowTable

SignQuery

Thí dụ:

> with(Maplets[Examples]):

  

> GetEquation();

 

Khi đó ứng dụng maplet mẫu GetEquation sẽ được tự động tạo ra như sau

 

getEquation

 

Kết quả là phương trình nhập vào khung, sau khi nhấp OK sẽ được print ra worksheet. 

 

Categories: Maplet Programming Tags: ,

Cài đặt TeX với các gói ngôn ngữ Nga, Việt

June 2, 2009 4 comments

Giới thiệu

TeX_lion

TeX là chuẩn soạn thảo văn bản phổ biến nhất, tiện dụng nhất cho người học tập và nghiên cứu trong các ngành Khoa học Tự nhiên. TeX ngày nay gần như là tiêu chuẩn bắt buộc để soạn thảo các giáo trình, bài báo khoa học, luận văn, … trong các trường Đại học và các viện nghiên cứu.

Cách cài đặt

Cài đặt TeX: Setup file basic-miktex.exe (download ở đây)

– Cài đặt trình soạn thảo (TeXMaker): setup file TeXMaker.exe (download ở đây)

– Cài đặt gói Tiếng việt: cần cài đồng thời cả hai gói sau trong thư mục Packages

   + Cài đặt gói VnTex: giải nén file vntex.zip (download ở đây) thành thư mục vntex, chép vào đường dẫn của MikTeX đã cài: C:\Program Files\MiKTeX 2.7\
  
   + Cài đặt gói Unicode Vietnam: giải nén file uvn.zip (download ở đây) thành thư mục uvn, chép vào đường dẫn của MikTeX đã cài: C:\Program Files\MiKTeX 2.7\
  
   Sau đó vào Start Menu>Programs>MikTeX 2.7> Settings>

   Sẽ có cửa số MikTeX Option>Roots hiện lên
 
   Nhấp vào nút Add và lần lượt chọn thư mục vntex, uvn trong C:\Program Files\MiKTeX 2.7\
  
   Sau đó vào MikTeX Option>General nhấp vào nút Refresh FNDN
  
   Như vậy ta đã kết thúc cài đặt
  
– Cài đặt gói Tiếng Nga: tương tự với file russ.zip (download ở đây)

– Tùy biến chương trình soạn thảo:

Bật cửa sổ TeXMaker. Vào Options> Configure TeXMaker>Editor>

 + Editor Font Family: chọn font cho trình soạn thảo
 
 + Editor Font Size: chọn cỡ font
 
 + Editor Font Encode: Chọn mã font. Đối với soạn Tiếng Việt bằng gói Unicode Việt nam thì chọn mã UTF-8, Đối với soạn tiếng Nga chọn mã KOI8-R.
 
-Chạy thử file (Download các file mẫu ở đây)

  + Văn bản Tiếng Việt: Mở file sample_vi.tex bằng TeXMaker (chú ý mã font mặc định trước khi mở phải là UTF-8). Nhấp vào Tools>LaTeX để biên dịch file sample_vi.tex thành sample_vi.dvi, vào Tools>PDFLaTeX để biên dịch file sample_vi.tex thành sample_vi.pdf. Các file PDF,DVI đã biên dịch chứa cùng thư mục với file sample_vi.tex (Nên tốt nhất để soạn thảo một văn bản bạn nên cho vào một thư mục riêng)
 
  + Văn bản Tiếng Nga: Mở file sample_ru.tex, làm tương tự như chú ý mã font mặc định trước khi mở phải là KOI8-R.
 
Tài liệu hữu ích:

(updating)

Categories: TeX Tags: ,