VietTUG.org - old forum - threads' archive

thread_id = 2925, contains 2925, 2933, 2936
id = 2925, parent = 0, thread = 2925, catid = 29, locked = 0, moved = 0,
userid = misuzu, ip = 133.1.125.202, time = 2006/09/26 (1159279468) ,
subject = Tạo cung chứa góc với gói graphicx, hits = 2500, karma = 1+0-,
Thông thường khi làm việc với hình vẽ ta đều sử dụng gói graphicx. Và muốn dùng kí hiệu cung chứa góc thì ta sử dụng thêm gói arc. Tuy nhiên kí hiệu này kô được đẹp, nhất là các cung dài...

Thế thì thật là tiện lợi nếu ta tự tạo định nghĩa cung chứa góc theo ý muốn mà kô cần phải sử dụng thêm gói nào. Hãy xem các ví dụ sau:
\newcommand{\arc}[1]{\stackrel{\rotatebox{-90}{(}}{#1}}
\newcommand{\bigarc}[1]{\stackrel{\rotatebox{-90}{\big(}}{#1}}
\newcommand{\Bigarc}[1]{\stackrel{\rotatebox{-90}{\Big(}}{#1}}
\newcommand{\biggarc}[1]{\stackrel{\rotatebox{-90}{\bigg(}}{#1}}
\newcommand{\Biggarc}[1]{\stackrel{\rotatebox{-90}{\Bigg(}}{#1}}

Khi đó ta có thể dùng $\bigarc{AB}\Bigarc{ABC}$
Hoặc tiện lợi hơn, chẳng hạn
\newlength{\lengthtext}
\newcommand{\qarc}[1]{%
   \settowidth{\lengthtext}{#1}
   \stackrel{%
            \hspace{-.001\lengthtext}
            \resizebox{.9\lengthtext}{!}{{\rotatebox{-90}{\Big(}}}
            }
            {#1}
}

Khi đó tha hồ dùng $\qarc{AB},\qarc{ABC}$,...

Thật là tiện và cũng khá đẹp mắt.
 
id = 2933, parent = 2925, thread = 2925, catid = 29, locked = 0, moved = 0,
userid = vanchutr, ip = 125.234.242.130, time = 2006/09/30 (1159596332) ,
subject = Re:Tạo cung chứa góc với gói graphicx, hits = 0, karma = 1+0-,
Các bạn có thể thử hai định nghĩa dấu cung định hướng và không định hướng (yêu cầu dùng gói pstricks)

Giới thiệu thêm định nghĩa dấu cung
\makeatletter
\newcount\[email protected]  \newdimen\[email protected]
\newcount\kslant   \newdimen\kslantd
%cung định hướng
\newcommand{\arco}[1]{\setbox0\hbox{$\[email protected]\displaystyle#1$}\kslant=\ht0
   \divide\kslant by1000\multiply\kslant by\fontdimen1\textfont1
   \divide\kslant by10000\kslantd=\kslant\fontdimen6\textfont1
      \divide\kslantd by7750\kern\kslantd
   \[email protected]=\wd0\multiply\[email protected] by100\divide\[email protected] by\ht0
   \multiply\[email protected] by300\advance\[email protected] by\ht0
   \pspicture(0,0)
   \parabola[linewidth=.3pt]{->}(0,1.05\ht0)(.5\wd0,1.15\[email protected])
   \endpspicture
   \kern-\kslantd\box0}
\makeatother


%% Cách dùng \arco{AB}

% Dấu cung thường
%
\makeatletter
\newcount\[email protected]  \newdimen\[email protected]
\newcount\kslant   \newdimen\kslantd
\newcommand{\arc}[1]{\setbox0\hbox{$\[email protected]\displaystyle#1$}\kslant=\ht0
   \divide\kslant by1000\multiply\kslant by\fontdimen1\textfont1
   \divide\kslant by10000\kslantd=\kslant\fontdimen6\textfont1
      \divide\kslantd by7750\kern\kslantd
   \[email protected]=\wd0\multiply\[email protected] by100\divide\[email protected] by\ht0
   \multiply\[email protected] by300\advance\[email protected] by\ht0
   \pspicture(0,0)
   \parabola[linewidth=.3pt]{-}(0,1.05\ht0)(.5\wd0,1.15\[email protected])
   \endpspicture
   \kern-\kslantd\box0}
\makeatother

Cách dùng \arc{AB}
 
id = 2936, parent = 2933, thread = 2925, catid = 29, locked = 0, moved = 0,
userid = misuzu, ip = 133.1.125.202, time = 2006/10/03 (1159889554) ,
subject = Re:Tạo cung chứa góc với gói graphicx, hits = 0, karma = 0+0-,
Hay quá thầy Chú ạ. Các thông số về cung (như: độ cong, độ dày, điểm đầu điểm cuối,...) thì người dùng có thể thay đổi theo ý muốn. Một chút thay đổi nhỏ \pspicture(0,-.03) thì có vẻ đẹp hơn. Cám ơn thầy Chú rất nhiều.