時々縦書きの文を upLaTeX で使用しております。
将来どなたかが tsarticle を作ってくださることを期待しつつ,現在は下記の方法でしのいでいます。
https://www.overleaf.com/read/qkvrbgzqrmrv#/6866671/
さて,下記のソースで ulem パッケージの \sout{}(訂正線)コマンドを使用しますと,線が中央からずれます。
pLaTeX を改訂すべきなのか,ユーザーサイドで対処すべきかわかりませんが,日本語 TeX 開発コミュニティ様にご報告申し上げます。
なお,最近開発された jlreq クラスでもうまくいったこともご報告申し上げます。
%%%%%%%%%%
\documentclass[uplatex]{jsarticle}
%%% この部分が jsarticle で縦書きを実現する方法(doraTeX さんのアイディア)
\makeatletter
\AtBeginDocument{\tate\adjustbaseline}
\setlength\@tempdima{\textheight}
\setlength\textheight{\textwidth}
\setlength\textwidth{\@tempdima}
\let\@temp\@evenhead
\let\@evenhead\@oddhead
\let\@oddhead\@temp
\fullwidth\textheight
\makeatother
%%%%% ↑と↓,どちらか一方を選択
%\documentclass[tate,uplatex]{jlreq}
%%%%%%%%%%
\usepackage[jis2004]{otf}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{ulem}
\makeatletter
\renewcommand{\thesection}{%
{第}\protect\hantate{{\@arabic\c@section}}{段}%
}
\renewcommand{\section}{%
\@startsection{section}{1}{\z@}%
{\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
{.5\Cvs \@plus.3\Cdp}%
{\normalfont\large\headfont\raggedright}%
}
\chardef\zenkakuSpace=\jis"2121\relax
\def\hantate#1{%
\@tfor\@tempa:=#1\do{%
\ifvmode \leavevmode \fi
\iftdir%
\zenkakuSpace\kern-1zw\relax%
\hbox to 1zw{\hss\hbox{\yoko\@tempa}\hss}\relax%
\kern-1zw\relax\zenkakuSpace%
\else%
\hbox{\@tempa}%
\fi%
}%
}
\makeatother
\begin{document}
\section{春}
春はあけぼの。やうやう白くなりゆく山際、少し明かりて、紫だちたる雲の細くたなびきたる。
\section{夏}
夏は夜。月のころはさらなり、闇もなほ、蛍の多く飛びちがひたる。また、ただ一つ二つなど、ほかにうち光て行くもをかし。雨など降るもをかし。
\section{秋}
秋は夕暮れ。夕日の差して山の端いと近うなりたるに、烏の寝所へ行くとて、三つ四つ、二つ三つなど飛び急ぐさへあはれなり。まいて雁などの連ねたるが、いと小さく見ゆるは、いとをかし。日入り果てて、風の音、虫の音など、はた言ふべきにあらず。
\section{冬}
\sout{冬は☃。雪の降る中はしゃぎつつ☃を作るは、いとをかし。}%
冬はつとめて。雪の降りたるは言ふべきにもあらず、霜のいと白きも、またさらでもいと寒きに、火など急ぎおこして、炭持て渡るも、いとつきづきし。昼になりて、ぬるくゆるびもていけば、火桶の火も、白き灰がちになりてわろし。
\appendix
\section{\texttt{$\backslash$hantate\{\}}の使い方}
\verb|\hantate{}|は,縦書き時に\verb|{}|内の半角文字を,\hantate{1}文字ずつ縦に並べます。その際,各文字は和文文字扱いされます(和文ゴーストの考え方を利用しました)ので,前後の文字に応じて,\verb|\kanjiskip|や\verb|\xkanjiskip|が入ります。引数をさらに\verb|{}|でくくれば,縦中横を実現できます。なお,文字は中央に配置されるので,\hantate{x}や\hantate{{fx}}や\hantate{{qx}}などを横に並べると,高さはそろわないことになります。
\hantate{2017}年\hantate{{12}}月\hantate{8}日に,第\hantate{888}回全日本☃大会が開催されます。数学Ⅲと数学\hantate{{III}}を学習する。鍋に二八〇\hantate{{cc}}の水を入れて約三分間踊ります。
\framebox[25zw][s]{こんにちは。ものクロの皆さん。}\par
\framebox[25zw][s]{こんにちは。\hantate{SKB{48}}の皆さん。}\par
\framebox[25zw][s]{こんにちは。\hantate{xxxx}の皆さん。}\par
\framebox[25zw][s]{こんにちは。\hantate{{(x}{jx}{fx}{qx}}の皆さん。}\par
\end{document}