我对 LaTeX 中的浮点数有疑问,例如表格中的数字。在我的文档中,我有一段连续的图像和表格,这些图像和表格跨越几页。我希望本节不受以下章节的文本影响。但是,由于图片和表格并没有填满整个页面,所以在页面底部放置了一些文本行,这很烦人,因为文本与图像和表格无关。
浮动对象的定义如下:
\begin{figure}[!htb]
\centering
\includegraphics[width=0.80\textwidth]{./img/img1.jpg}
\caption{cap1}
\end{figure}
\begin{figure}[!htb]
\centering
\includegraphics[width=0.80\textwidth]{./img/img2.jpg}
\caption{cap2}
\end{figure}
Run Code Online (Sandbox Code Playgroud)
....
我想我必须在每个浮动部分的第一行中调整 [!htb] 参数,但我不确定以哪种方式。任何人的想法?
我正在尝试从Eclipse项目创建一个自包含的.jar文件.通过"自包含",我的意思是该项目的所有依赖项(即其他jar)应该包含在生成的jar中.我想在另一个项目中使用导出的jar作为库.问题是我从依赖项中获取了一个类的NoClassDefFoundError.我已经尝试导出一个包含所有依赖项的runnable jar和一个"普通"jar.这些都不奏效.
清单看起来像这样:
Manifest-Version: 1.0
Main-Class: com.path.to.MyMainClass
Class-Path: lib/resolver.jar lib/xercesImpl.jar lib/xml-apis.jar lib/Mac-Cocoa64/swt.jar
Run Code Online (Sandbox Code Playgroud)
.classpath看起来像这样:
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="lib" path="lib/resolver.jar"/>
<classpathentry kind="lib" path="lib/xercesImpl.jar"/>
<classpathentry kind="lib" path="lib/xml-apis.jar"/>
<classpathentry kind="lib" path="lib/Mac-Cocoa64/swt.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Run Code Online (Sandbox Code Playgroud)
缺少的类def来自SWT.jar文件.知道什么可能是错的或我需要采取什么步骤才能成功导出这个jar,以便它可以包含在其他地方?
干杯,
马丁
我似乎对 C++ 中的语言环境有问题。当我从 Eclipse 中运行我的程序时,一切正常。但是,当我尝试从命令行运行时,我不断收到此错误:
失败:locale::facet::_S_create_c_locale 名称无效
这是触发错误的代码:
// Set up UTF8 file stream
string fileName = "./sz.txt";
wifstream inFileStream;
try {
setlocale(LC_ALL, "");
inFileStream.open(fileName.c_str());
inFileStream.imbue(locale(""));
if(!inFileStream) {
return EXIT_FAILURE;
}
}
catch (const std::exception &exc) {
wcout << "Error while trying to create UTF8 file stream." << endl;
std::cerr << exc.what() << endl;
if( inFileStream.is_open() )
inFileStream.close();
return EXIT_FAILURE;
}
Run Code Online (Sandbox Code Playgroud)
“locale”的输出如下:
LANG="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_CTYPE="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_ALL="de_DE.UTF-8"
Run Code Online (Sandbox Code Playgroud)
我还尝试使用“de_DE.UTF-8”作为语言环境字符串而不是“”(实际上应该是这样),但这给了我同样的错误。
奇怪的是,该程序在 Eclipse 中运行时运行良好。我正在使用 g++ 从命令行编译以下版本:
配置:--prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM …
我遇到了 Xerces 库的一些问题,我依赖的第三方库使用了它。
Xerces 尚不支持 JAXP 1.5,JAXP 1.5 包含在最新版本的 JDK 1.7 和 JDK 8 中。如果将 Xerces 用作 XML 解析器,这会导致一些问题,当系统知道多个 XML 解析器时可能会发生这种情况。删除xercesImpl-v2.9.0.jar立即解决了问题,但随后第 3 方库不再工作。
我可以看到该问题的两种解决方案:
似乎实际使用的 Xerces 库中唯一的位是org.apache.xerces.util.XMLCatalogResolver, 在CustomResolver.java. 目录解析器是否有其他选项而不是 Xerces 选项?
另一种选择似乎是在 JVM 启动时为 XML 解析显式设置系统属性。这样 JVM 就可以告诉要使用哪个 XML 解析器,并且它不会再选择 Xerces。
我发现了以下三个属性:
-Djavax.xml.transform.TransformerFactory
-Djavax.xml.parsers.SAXParserFactory
-Djavax.xml.parsers.DocumentBuilderFactory
Run Code Online (Sandbox Code Playgroud)
不过,这会导致两个问题:
我想知道,是否有人可以向我解释 vector.insert() 方法中的第二个参数:
迭代器插入(迭代器位置,const value_type& val);
例如,我有一个 wstring 类型的向量,我想在给定位置插入一个 wstring。我已经弄清楚如何使用迭代器设置位置:
wstring word = "test";
int insertion_pos = 3;
iterator it = words.begin();
words.insert( it + insertion_pos, word );
Run Code Online (Sandbox Code Playgroud)
但是第二个论点呢?如何将 wstring 对象传递给 insert() 方法?非常感谢。
干杯,
马丁
完整示例:
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <wchar.h>
#include <vector>
using namespace std;
int main(void) {
// Initialize the vecor with three words.
vector<wstring> words;
wstring word1 = "FirstWord"; // Error msg: no viable conversion from 'const char [10]' to 'wstring' (aka
// 'basic_string<wchar_t>') …Run Code Online (Sandbox Code Playgroud)