
Рассмотрим следующий латексный код:
\documentclass{article}
\begin{document}
\begin{list}{*}{}
\item one
\item two
\end{list}
\end{document}
Он должен производить:
один
два
Но в выводе htlatex есть пустые строки перед «one» и перед «two».
Есть идеи, как это исправить?
Также рассмотрите следующий код:
\documentclass{article}
\usepackage{tex4ht}
\begin{document}
\begin{list}{*}{}
\item one
\item two
\end{list}
\end{document}
pdflatex выводит пустые строки перед «one» и «two», а также «xx» перед всем остальным.
решение1
Ваш пример выдает пустые строки из-за того, как работает веб-страница. Если вы посмотрите на сгенерированный html
, вы можете увидеть:
<dl class="list1"><dt class="list">
* </dt><dd
class="list">
<!--l. 8--><p class="noindent" >one
</p></dd><dt class="list">
* </dt><dd
class="list">
<!--l. 10--><p class="noindent" >two</p></dd></dl>
<p>
Элементы отображаются на отдельных строках, поскольку именно так они настроены по умолчанию. Вы можете css
настроить их так, чтобы они отображались так, как вам нужно, однако лучше будет использовать другой способ.
Например, с помощью enumitem
пакета вы можете настроить списки для отображения *
в качестве элемента списка в pdf
, и bullet
в html
, если я правильно понимаю, что это то, что вам нужно:
\documentclass{article}
\usepackage{enumitem}
\begin{document}
\begin{itemize}[label=$\ast$]
\item one
\item two
\end{itemize}
\end{document}
$\ast$
используется вместо *
элемента списка, потому что имеет лучшее вертикальное выравнивание. Когда вы компилируете этот файл с помощью htlatex, вот что вы получаете:
<ul class="itemize1">
<li class="itemize">one
</li>
<li class="itemize">two</li></ul>
Что касается вашего второго образца, его не следует включать \usepackage{tex4ht}
в ваш документ, он автоматически включен в htlatex
.