文章の右端が不揃いで出力される問題について

文章の右端が不揃いで出力される問題について

- クルエラ sakura の投稿
返信数: 4
TeXファイルの雛形を用いてPDFを作成しているのですが
本文の左端は揃うものの、右端が不揃いになって出力されてしまいます。

レイアウト出力のコマンドや数値を改変してみたのですが、問題が解決されないので困っています。
何かよい解決策はありませんでしょうか。

以下TeXソースコード(添付ファイルに出力されたPDFを添付致します)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%% 学会講演概要用 Format Ver.5.0 for LaTeX %%%%

%%%%%%%%% created by JE9EBX Jan.11,1997 %%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%

%Lasershot(Canon B406 G)で打ち出すときは、

%手ざしトレイをA4に合わせて用紙を裏返して

%文頭が右に来るようにして左はじにおいて下さい。

%本番の前に練習モードで文章が枠内におさまっている事を確認して下さい。

%全体的に印字がずれる場合があるので、事前に必ずテストをして下さい。

%全体的にずれた場合は、以下のoffset値を変えてみて下さい。

%(単位は cm です。)

%

%左右:\xoffset の値を増やすと左に、減らすと右に動きます。

%上下:\yoffset の値を増やすと下に、減らすと上に動きます。

%

\newcommand{\xoffset}{-1.0}

\newcommand{\yoffset}{0.0}

%

\newif\if本番 \本番false

%

%%%%%%%%%%%%%%%%%%%%%%%%%%% 本番/練習 mode %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%

% default では練習モードになっていて、preview もしくは印刷すると、

% 枠が出ます。この枠からはみ出さないように文章を入れてください。

% 実際に用紙に印刷するときは、必ず本番モードにして下さい。

% ^^^^^^^^^^^^^^

% LaTeX にかけると

%

% +----------------------+

% |本番ですか? (y/n) |

% | |

% |\本番= |

% +----------------------+

%

% と聞いてくるので、本番の時は必ず y[RET] とタイプして下さい。

%

%

\typein[\本番]{本番ですか? (y/n)}

\if\本番 y \本番true\fi

%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%

\documentclass[a4j,12pt]{jarticle}

\newlength{\simeispace}

\newlength{\esimeispace}

\newlength{\shozokuskip}

\newlength{\eshozokuskip}

\newlength{\kskip}

\pagestyle{empty}

%

\newcommand{\概要}[8]{</p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;">\put(0,24.28){\makebox(2.95,1.1){#1}}

\put(4.3,25.0){\parbox[t]{12.85cm}{</p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;">\setlength{\baselineskip}{.59cm}

#2}}

%\put(0.03,23.8){\makebox(16.8,23.8)[t]{</p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;">\put(0.03,23.8){</p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;">%\makebox(16.8,24.15)[t]{</p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;">\parbox[t]{16.7cm}{</p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;">\setlength{\baselineskip}{.59cm}

\hspace*{\shozokuskip}\mbox{\Shortstack{#3}}\hspace{\simeispace}

\mbox{\Shortstack{#4}}\\

\hspace*{1.7cm}\mbox{\Shortstack{#5}}\\

\hspace*{\eshozokuskip}\mbox{\Shortstack{#6}}\hspace{\esimeispace}

\mbox{\Shortstack{#7}}\\

\null\\

\kanjiskip=\kskip

\autospacing

\rightskip=0pt plus0.5cm

\setlength{\parindent}{.5cm}

#8}}}

%}

%

\setlength{\unitlength}{1cm}

\setlength{\textwidth}{17.5cm}

\setlength{\textheight}{26.0cm}

\setlength{\oddsidemargin}{-2.0cm}

\setlength{\topmargin}{-2.0cm}

%

\def\Shortstack#1{</p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;">\hspace{-.3cm}\begin{tabular}[t]{l}#1\end{tabular}\hspace{-.3cm}

}

\newcounter{szk}

\renewcommand{\theszk}{\Alph{szk}}

\newcommand{\szkmark}[1]{</p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;">$^{\setcounter{szk}{#1} \rm \theszk}$}

%%

\newcommand{\tdnmark}{$^{\rm o}$}

%%

%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%% rayout parameter %%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%

% 以下の数字を変えることによってレイアウトを変えることができます。

% 練習モードで確かめながら調節して下さい。

%

\setlength{\shozokuskip}{1.6cm} % 左はじから``所属''までの space

\setlength{\simeispace}{.1cm} % ``所属''から``氏名''までの space

\setlength{\eshozokuskip}{1.6cm} % 左はじから``英文所属''までの space

\setlength{\esimeispace}{.2cm} % ``英文所属''から``英文氏名''までの space

% For ASCII TeX

\setlength{\kskip}{.1cm} % 本文の全角文字間の space (いいかげんです)

% 一応 1 行 33 文字に合わせるために

% 設定しましたが、気にする必要はないで

% しょう。どっちみち半角には効かないし。

%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%

\begin{document}

%

\begin{picture}(16.9,25.4)(\xoffset,\yoffset)

%\put(0,0){L}

%

%以下を適当に変えて使って下さい。

%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 本文 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\概要

%

%講演番号......改行はできません。必要ないと思うけど。

%

{30pUSO-800}

%

%題目..........改行できます。

%

{ \LaTeX マクロについて}

%

%所属 .... \szkmark{1} で ``A'' が肩につきます。\\ で改行可。

% (空行では改行できません。)

% ^^^^^^^^^^^^^^^^^^^^^^^^

{金沢大 理\szkmark{1}、自然\szkmark{2} 七尾短大 経営情報\szkmark{3}}

%

%氏名 .... \tdnmark で ``o'' が肩につきます。\\ で改行可。

%

{青木健一\szkmark{1}、鈴木忠雄\szkmark{2}、

\tdnmark 山岸芳夫\szkmark{3}}

%

%英文題目.........\\ で改行可。

%

{Japan Physical Society Abstruct \LaTeX~ Macro}

%

%英文所属...........\\ で改行可。

%

{Kanazawa Univ. , Nanao J. Col.}

%

%ローマ字氏名...........\\ で改行可。

%

{Ken-ichi Aoki, Tadao Suzuki, Yoshio Yamagishi}

%

%本文.........空行でも改行できます。

%

{</p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;">今回は講演概要の形式が大幅に変わったのでかなり大部分を変更いたしました。</p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;">とりあえず大枠から左右の向きにはみ出さないように気をつけました。</p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;">もちろん数式も</p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;">$$K=-\log Y-\sum_i \log (T^i+\bar T^i)</p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;">+\prod_i (T^i+\bar T^i)^{n^i_I}Q^I{\bar Q}^{\bar I},

$$

$$ Y=S+\bar S-\sum_i{\delta^i_{GS}\over 8\pi^2}\log(T^i+\bar T^i),

$$

$$

G=K+M^2\log(|W|^2/M^6)

$$

てな具合に入るし、絵も

\begin{picture}(15,5)

\put(5,2.5){\circle{1}}

\put(5,2.5){\circle*{.5}}

%

\put(7,2.5){\circle{1}}

\put(7,2.5){\circle*{.5}}

%

\put(6,1){\oval(1,1)[b]}

\end{picture}

てな具合に描けます。

ただし、{\tt $\backslash$table }環境や{\tt $\backslash$figure }環境、

{\tt $\backslash$verbatim }環境などは使えません。

(日本国憲法引用)

日本国民は、正当に選挙された国会における代表者を通じて行動し、われらとわれらの子孫のために、諸国民との協和による成果と、わが国全土にわたつて自由のもたらす恵沢を確保し、政府の行為によつて再び戦争の惨禍が起ることのないやうにすることを決意し、ここに主権が国民に存することを宣言し、この憲法を確定する。そもそも国政は、国民の厳粛な信託によるものであつて、その権威は国民に由来し、その権力は国民の代表者がこれを行使し、その福利は国民がこれを享受する。これは人類普遍の原理であり、この憲法は、かかる原理に基くものである。われらは、これに反する一切の憲法、法令及び詔勅を排除する。

 日本国民は、恒久の平和を念願し、人間相互の関係を支配する崇高な理想を深く自覚するのであつて、平和を愛する諸国民の公正と信義に信頼して、われらの安全と生存を保持しようと決意した。われらは、平和を維持し、専制と隷従、圧迫と偏狭を地上から永遠に除去しようと努めてゐる国際社会において、名誉ある地位を占めたいと思ふ。われらは、全世界の国民が、ひとしく恐怖と欠乏から免かれ、平和のうちに生存する権利を有することを確認する。

}

%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%

%

\if本番

\else

\put(0,0){\framebox(17.0,25.4){\null}}

\put(0.07,0.15){\framebox(16.86,21.75){\null}}

\put(1.65,22.49){\framebox(6.95,0.5){\null}}

\put(10.27,22.49){\framebox(6.73,0.5){\null}}

\put(1.65,23.08){\framebox(15.35,0.5){\null}}

\put(1.65,23.68){\framebox(6.98,0.5){\null}}

\put(9.47,23.68){\framebox(7.53,0.5){\null}}

\put(0.0,24.28){\framebox(2.95,1.1){\null}}

\put(4.13,24.28){\framebox(12.87,0.5){\null}}

\put(4.13,24.87){\framebox(12.87,0.5){\null}}

\fi

%

\end{picture}

\end{document}

クルエラ sakura への返信

Re: 文章の右端が不揃いで出力される問題について

- 匿 名 の投稿
定義および設定のとおりの出力のようですが?
実際,\概要 の定義中の
  \rightskip=0pt plus0.5cm
という設定により各行の右端を「揃えない」ことに
しているだけでなく,
  \setlength{\kskip}{.1cm}
(この \kskip の値はのちに \kanjiskip に代入される)の
ごとく和文文字間グル―の値を「伸縮度をもたない固定値」に
しているため各行の右端が揃わない傾向が強まっています.
匿 名 への返信

Re: 文章の右端が不揃いで出力される問題について

- クルエラ sakura の投稿
おっしゃる通り定義通りの出力をしているのだと思っていましたが
自分で用意した定義では無かった為、rightskip等の数値を変えてみたのですが上手く解決する事が出来なかったので質問させていただきました。

御丁寧な説明ありがとうございます。
勉強になりました。

クルエラ sakura への返信

Re: 文章の右端が不揃いで出力される問題について

- 匿 名 の投稿
別の匿名です。

この雛形はどこかの学会発表用のようですが、
その学会では右不揃いで組むことになっているのでしょう。
勝手に変えてしまっていいのでしょうか。

この雛形の出所に相談してみるのがよいでしょう。

技術的には、上の匿名さんの仰る通りで、
次のようなところを変えれば右も揃えて組めると思います。

\kanjiskip=\kskip
\rightskip=0pt plus0.5cm
\setlength{\kskip}{.1cm} % 本文の全角文字間の space (いいかげんです)

ここの \rightskip は伸縮0に、\kanjiskip は適度に伸縮するようにするとよいです。
例えば \kanjiskip=1mm plus 0.5mm minus 0.5mm のような感じで。

匿 名 への返信

Re: 文章の右端が不揃いで出力される問題について

- クルエラ sakura の投稿
おっしゃる通り、学会の雛形です。
私も勝手に変える事に抵抗がありましたが、作成者との連絡が取れなかった為
ここで質問させて頂きました。
どうやらある程度の変更は認められているようです。

ご教授された通り、\kanjiskip=1mm plus 0.5mm minus 0.5mmとした所
完璧な出力をする事ができました。
非常に助かりました。ありがとうございました。