
로 그래픽을 도입할 때 \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 값 은
뷰포트(또는 더 적절하게는 주변 그림의 스타일 지정된 크기)에 따라 크기가 조정되지 않습니다.
그래서 이것은 나에게 질문으로 이어진다: tex4ht에서 상대적인 이미지 크기를 직접 사용할 수 있는 방법이 있습니까?
답변1
편집: 아래 코드는 이제 TeX4ht 소스에 내장되어 있으므로 옵션을 사용하여 요구할 수 있습니다 Gin-percent
. 하지만 TeX Live에 포함되려면 시간이 좀 걸릴 수 있습니다.
연결된 답변은 정말 오래되고 쓸모가 없습니다. \Configure{Gin-dim}
이제 명령을 사용하여 이미지 크기가 계산되는 방식을 변경할 수 있습니다. 기본적으로 TeX4ht는 그래픽 패키지에서 제공하는 이미지 크기에 대한 정보를 사용합니다. 따라서 명시적 치수(예: )를 사용하는 경우 width=0.5\textwidth
TeX에서 계산한 실제 치수가 사용됩니다.
한 가지 문제는 폭과 같은 하나의 치수만 설정하면 다른 치수도 동일한 값으로 설정된다는 것입니다. 이미지가 정사각형이 아닌 한 일반적으로 이를 원하지 않습니다. 모든 치수에 대한 올바른 값을 얻기 위해 그래픽은 .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)}\char_generate:nn { `\% } { 12 }"}
\ExplSyntaxOff
\makeatother
\begin{document}
\EndPreamble
이 구성에서는 그래픽에서 제공하는 이미지 너비를 텍스트 너비로 나눕니다. 그런 다음 이를 곱하여 올바른 백분율 값을 얻습니다.
이 샘플 파일의 경우:
% 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>