我最终决定跟进这个问题,并尝试修复古腾堡计划文档中的一些问题。
给定一本有错别字的书的 TEX 文件,我该如何制作更正后的版本。哪些工具和支持包是必需或有用的?
https://www.gutenberg.org/ebooks/43006
这是我的一份项目的只读链接。我无需身份验证即可使用它。
https://www.overleaf.com/read/mbvgzybcxgmq
我发现在编译时图形不会被添加到 PDF 中。这些命令似乎用于处理包含图像的问题。
%% 图表 %% \newcommand{\Graphic}[2][]{% \Pagelabel[图]{#2}% \ifthenelse{\equal{#1}{}}{% \includegraphics{./images/fig#2.pdf}% }{% \includegraphics[width=#1]{./images/fig#2.pdf}% }% } % \Figure{图号} \newcommand{\图}[2][]{% \begin{图}[hbt!] \定心 \图形[#1]{#2} \结束{图} \ignorespaces% }
这是一个示例日志警告消息:
<./images/fig1.pdf, id=481, 614.295pt x 794.97pt> 文件:./images/fig1.pdf 图形文件(pdf 类型) <使用 ./images/fig1.pdf> 包 pdftex.def 信息:./images/fig1.pdf 用于输入行 1727。 (pdftex.def) 要求的尺寸:614.29349pt x 794.96806pt。 段落第 1727--1727 行的 \hbox 过满(太宽了 280.04474pt) [][] [] LaTeX 警告:输入行 1727 处的浮动超出页面大小 357.73434pt。
我怎样才能解决这个问题?
答案1
文本中的命令\Figure{1}
包括一个浮点数,使用fig1.pdf
图像的原始宽度,其余图形也是如此,但宏定义为还允许可选参数,默认情况下为空(这意味着[2][]
...)。如果您使用可选参数,它将代替#1
宏定义中的,以使图像在传递给\Graphic
宏时变小或变大(也作为可选参数)。在这里您可以看到,必须先输入可选参数,并且必须用方括号而不是强制参数的大括号来分隔它。
因此,解决方案是将相对长度(例如,\Figure[.8\linewidth]{1}
如果您希望图 1 的宽度等于文本宽度的 80%)或绝对宽度(例如,\Figure[6cm]{1}
如果您希望固定宽度为 6 厘米,而不管文本行的宽度)作为可选参数输入。
还要注意,由于标题(例如“图 1”)是图像的一部分,因此以不同的方式调整每幅图像的大小会产生难看的字体大小不一致。考虑裁剪图像以删除这些标题,并在 的定义\par Fig. #2.
之前添加。\end{figure}
\Figure
fig1.pdf
在同一工作目录中使用的 MWE (\Graphic
宏被更改以避免图像的子目录):
\documentclass[a4paper,twocolumn]{article}
% packages just for tuning the example:
\usepackage{lipsum} % dummy text
\usepackage[margin=4cm]{geometry} % custom margins
% packages used in macro definitions (not optional)
\usepackage{ifthen}
\usepackage{graphicx}
\usepackage{hyperref}
% Custom macros
\newcommand{\Pagelabel}[2][page]{\phantomsection\label{#1:#2}}
%% Diagrams %%
\newcommand{\Graphic}[2][]{%
\Pagelabel[fig]{#2}%
\ifthenelse{\equal{#1}{}}{%
\includegraphics{fig#2}%
}{%
\includegraphics[width=#1]{fig#2}%
}%
}
% \Figure{figure number}
\newcommand{\Figure}[2][]{%
\begin{figure}[hbt!]
\centering
\Graphic[#1]{#2}
\end{figure}\ignorespaces%
}
\begin{document}
\lipsum[1][1-3]
\Figure{1} % too big for this text (or too small for one column)
\lipsum[2][1-3]
\Figure[.8\linewidth]{1} % always fitting the margin
\lipsum[3][1]
\end{document}
顺便提一句, 学习制作 MWE并不是学习LaTeX,而是学会正确地隔离并暴露问题,把除了找到解决方案之外的所有繁琐工作都做完,以最大程度地提高获得帮助的概率,而链接到大型项目则恰恰相反。
答案2
我尝试打开项目中的图像文件,但它们似乎没有正确渲染。我查看了https://www.gutenberg.org/files/43006/43006-t/images/并发现图像文件上的日期比我复制的项目新。我将这些文件复制到我的项目中,现在图像一切正常。