表のセルに斜めの線を引く
なぜか表のセルに斜めの線を引くという要望が多い.
ここではこれをtikzを使ってuplatex+dvipsで実現する. 下記で実現はできるが,実用に供するにはもうすこし工夫が必要である.
この方法ではauxファイルを利用するため,uplatexで2度のタイプセットが必要である.
なお,基本的なアイデアは参考文献のPSTricsを用いた例である.
\documentclass{ujarticle} \usepackage{tikz} \makeatletter \def\pgfsys@markposition#1{% \pdfsavepos% \edef\pgf@temp{#1}% \expandafter\pgfutil@writetoaux\expandafter{% \expandafter\noexpand\expandafter\pgfsyspdfmark\expandafter{\pgf@temp}{\the\pdflastxpos}{\the\pdflastypos}}% } \def\pgfsyspdfmark#1#2#3{% \expandafter\gdef\csname pgf@sys@pdf@mark@pos@#1\endcsname{\pgfqpoint{#2sp}{#3sp}}% } \def\pgfsys@getposition#1#2{% \edef\pgf@marshal{\let\noexpand#2=\expandafter\noexpand\csname pgf@sys@pdf@mark@pos@#1\endcsname}% \pgf@marshal% } \def\pgf@sys@pdf@mark@pos@pgfpageorigin{\pgfpointorigin} \makeatother \begin{document} \begin{tabular}{|c|c|c|} \hline a & b & c\\ \hline \omit & \omit\hfill\tikz[remember picture,overlay]\node (n1) {};% & \omit\cr d & & f\\ \omit & \omit\tikz[remember picture,overlay]\node (n2) {};% \tikz[remember picture,overlay]\draw (n2.center)--(n1.center);\hfill & \omit\cr \hline g & h & i\\ \hline \end{tabular} \end{document}
参考文献
吉永撤美『LaTeX2e辞典~用法・用例逆引きリファレンス』翔泳社,2009,ISBN: 978-4798118147














