-
Notifications
You must be signed in to change notification settings - Fork 217
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
review-base.sty (\reviewtt, \reviewcode, \reviewtti, \reviewttb): inserted \frenchspacing inside #1907
Conversation
…viewcode, \reviewtti, \reviewttb): inserted \frenchspacing inside [issue kmuto#1906]
PRありがとうございます!
みたいなソースに対して
みたいなエラーが出ることがあるようでした。これはLaTeX側の問題なんでしょうか? |
@takahashim
の元で、 \documentclass[dvipdfmx]{jlreq}\listfiles
\usepackage{hyperref}
% \usepackage{pxjahyper}
\makeatletter
\DeclareRobustCommand{\reviewcode}[1]{{% \frenchspacing
\ttfamily\reviewbreakall{#1}}}
\newif\ifreview@ba@break
\def\review@ba@end{\review@ba@end@}
\DeclareRobustCommand{\reviewbreakall}[1]{%
\begingroup
\review@ba@breakfalse
\review@break@all@a#1\review@ba@end
\endgroup
}
\def\review@break@all@a{%
\futurelet\review@ba@tok\review@break@all@b
}
\def\review@break@all@b{%
\ifx\review@ba@tok\review@ba@end
\let\next\@gobble
\else\ifx\review@ba@tok\@sptoken
\let\next\review@break@all@c
\else\ifx\review@ba@tok~%
\let\next\review@break@all@d
\else\ifx\review@ba@tok\bgroup
\let\next\review@break@all@e
\else
\let\next\review@break@all@f
\fi\fi\fi\fi
\next
}
\expandafter\def\expandafter\review@break@all@c\space{%
\space
\review@ba@breakfalse
\review@break@all@a
}
\def\review@break@all@d#1{%
\review@break@all@f{\mbox{\space}}%
}
\def\review@break@all@e#1{%
\review@break@all@f{{#1}}%
}
\def\review@break@all@f#1{%
\ifreview@ba@break
\hskip0pt plus 0.02em\relax
\fi
#1%
\review@ba@breaktrue
\review@break@all@a
}
\makeatother
\begin{document}
\subsection{見出し内 \reviewcode{TT}}
\end{document} そこで、 ...
\def\pdfstringdefPreHook{%
%%これ \let\reviewcode\texttt でも、\textttの処理がhyperrefであらかじめ決まっているので問題ないですが、
\def\reviewcode##1{##1}%PDF栞中の文字列なんで、これで十分です。
}
\usepackage{hyperref}
... という逃げをいれると、一応、TL22 frozen + jlreq でも通りました。 |
それがですね、現状のreview-jlreq+reviewmacroとjlreq+hyperref単体との差があって、謎なんですよ :( しかしながら、hyperrefに予約されていない |
…reHook): added \reviewtt, \reviewcode, \reviewtti, \reviewttb, \reviewicon
@takahashim All checks have passed となりました。 |
ついでに、 |
|
…dfstringdefPreHook): fixed a bit
@munepi ありがとうございます、現状でfixとして確認進めてよいでしょうか? |
はい、これで進めてもらってかまいません。
|
ありがとうございます、3点、いずれもこちらでも動作を確認できました! |
本PRの変更内容は、3点です。
@<code>
類における code内の空白幅が変 #1906 の(とりあえずの)対処* 詳細は、Noteのとおり。
@<code>{コード}
類がPDF栞に入ったときに、コード
(単なる文字列)が入るように対応* 1に間接的に影響する。
@<icon>
がPDF栞に入ったときに、何も入らないように対応ref. #1906
latexビルダに対するインラインなコード要素(等幅)
@<code>
,@<tt>
,@<tti>
,@<ttb>
において、「. (period+space)」直後の“余計な”(に見える)空白アキをひとまず除きます。現状のRe:VIEW標準の
\reviewcode{...}
(@<code>{...}
)は、ある種の\texttt{...}
の通常の入力された文字列としてLaTeXに組版してもらっています(\texttt
は\verb/verbatim
ではない)。Note
lmtt10の標準なTeX font metric(T1 encodingなら、
rm-lmtt10
)がそうなっているからですね。「. (period+space)」は、「.」のあとにSPACE 0.525+EXTRASPACE 0.525が入るので、空白2つ分となります。
逆に、(必要であれば別名にして)EXTRASPACE 0.0としたfont metricを作ると、「. (period+space)」は空白1つ分となります。