tex4ht의 그래픽 스케일링
를 사용하여 그래픽을 소개 할 때 \includegraphics[width=0.5\textwidth]{fig}tex4ht는이를 몇 개의 픽셀로 처리하고 (어떻게-내가 경험하지 못한 ppi 설정이 있는지 확실하지 않습니까?) <img src="..." width="276" height="276">예를 들어 생성 합니다. 말하십시오 <img src="..." style="width: 50%;">.
이전에 비슷한 질문이있었습니다. 이 답변 에서 michal.h21은 이러한 너비가 "276pt"(또는 유사)로 표시되는 예제를 제공하지만
(1) 테스트를 컴파일 할 때 표시되지 않습니다. 나는 단지 숫자를 본다. 내가 이해하는 것은 px로되어 있어야한다. 물론 그 대답은 6 년이 지나야한다.
(2) 어쨌든 이것은 합법적 인 html로 보이지 않습니다. 및
(3)도 PX도 PT 값은 뷰포트 (또는 아마도 더 pertinently 주변 도면의 스타일 크기)으로 확장.
그래서 이것은 질문으로 이어집니다. tex4ht에서 상대 이미지 크기를 직접 사용하는 방법이 있습니까?
답변
그 연결된 답변은 정말 오래되고 쓸모가 없습니다. \Configure{Gin-dim}명령을 사용 하여 지금 이미지 치수가 계산되는 방식을 변경할 수 있습니다 . 기본적으로 TeX4ht는 Graphics 패키지에서 제공하는 이미지 크기에 대한 정보를 사용합니다. 따라서 명시 적 차원 (예 width=0.5\textwidth:)을 사용하는 경우 TeX에서 계산 한 실제 차원이 사용됩니다.
한 가지 문제는 너비와 같이 하나의 치수 만 설정하면 다른 치수가 동일한 값으로 설정된다는 것입니다. 이미지가 정사각형이 아닌 한 일반적으로 이것을 원하지 않습니다. 모든 치수에 대한 올바른 값을 얻기 위해 Graphics는 .xbb이미지에 파일을 사용합니다 . 다음 명령을 사용하여 만들 수 있습니다.
ebb -x *.jpg
사용하는 다른 모든 지원되는 이미지 형식에 대해 유사한 명령을 실행하십시오. 이렇게하면 암시 적으로 계산 된 차원에 올바른 값이 사용됩니다.
자, 실제 질문에. LaTeX 3 프로젝트 덕분에 이제 l3fp패키지를 사용하여 이미지 크기를 퍼센트로 계산할 수 있습니다 . \dimexpr제한이 많은 명령 보다 사용하기가 훨씬 쉽습니다 .
다음 .cfg파일을 시도 하십시오.
\Preamble{xhtml}
\makeatletter
\ExplSyntaxOn
\Configure{Gin-dim}{style="width:\fp_eval:n{round(\Gin@req@width/\textwidth*100,2)}\%"}
\ExplSyntaxOff
\makeatother
\begin{document}
\EndPreamble
이 구성에서는 Graphics에서 제공하는 이미지 너비를 텍스트 너비로 나눕니다. 그런 다음 올바른 백분율 값을 얻기 위해 곱합니다.
이 샘플 파일의 경우 :
% https://tex.stackexchange.com/q/563276/2891
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics[width=0.5\textwidth]{example-image.png}
\end{document}
이 HTML 코드를 얻습니다.
<p class='noindent'><img style='width:50%' alt='PIC' src='example-image.png' /> </p>